APP下载

基于免疫遗传算法估计Van-Genuchten方程参数

2012-01-19彭化伟

黑龙江水利科技 2012年2期
关键词:土壤水分遗传算法群体

李 琳,黄 锐,彭化伟

(1.密山市富密灌区水利水保总站连珠山分站,黑龙江密山158300;2.大庆地区防洪工程管理处,黑龙江大庆163000)

基于免疫遗传算法估计Van-Genuchten方程参数

李 琳1,黄 锐2,彭化伟2

(1.密山市富密灌区水利水保总站连珠山分站,黑龙江密山158300;2.大庆地区防洪工程管理处,黑龙江大庆163000)

土壤水分特征曲线是模拟土壤水分运动和溶质运移的一个重要参数,Van Genuchten方程是最常用的土壤水分特征曲线方程。建立了2种Van Genuchten方程参数的优化模型:基于非线性拟合函数lsqcurvefit与免疫遗传算法共同改进的混合免疫遗传算法(LIGA)和非线性拟合函数lsqcurvefit。结果表明:分别针对粉壤土、细砂土、砾石的吸湿和脱湿曲线得到了Van Genuchten方程的相关参数,两种方法计算的θ值与实测的θ值拟合较好,相对误差较小,LIGA的计算精度高于lsqcurvefit函数的计算精度,改进的LIGA算法收敛速度快,计算精度高,为该领域研究提供了新的思路。

遗传算法;免疫算法;非线性拟合函数;土壤水分特征曲线;土壤水吸力;土壤含水量;VG模型

土壤水分特征曲线(soil water characteristic curve,SWCC)是土壤的一个基本水力参数,表示土壤水吸力和土壤含水量之间的关系,反映了土壤水的能量与数量的关系,可以间接地反映土壤中孔隙大小的分布[1-2]。土壤水分特征曲线受多种因素的影响,其数学模型比较复杂,未知参数多由经验得到,且参数较多,大部分用于描述土水特征曲线的数学模型都是根据经验、土体结构特征和曲线的形状而建立起来的。准确可靠的土壤水分特征曲线模型是分析土壤水势的高低与植物根系吸水的速率的变化规律,研究土壤水分和相应的吸力对作物生长的有效性,对于非充分灌溉具有重要的实用价值。土壤水分特征曲线的确定方法总的来说有直接法和参数法,直接法是指通过实验方法直接测定土壤水分特征曲线的方法,用数学表达(经验公式)来描述水分特征曲线为参数估计法。目前,在已经建立的众多数学模型中,国内外普遍使用的描述土壤水分特征曲线的方程是Van-Genuchten模型(简称VG模型)[3-4]。根据不同土壤类型的的土壤含水率、土壤吸力的数据,运用参数估计法求解VG模型的较多,如廖林仙等[5]运用智能算法推求了VG方程参数;马英杰等[6]运用阻尼最小二乘法,拟合了VG方程参数;彭建平等[7]对VG模型中的参数利用Matlab软件中的非线性拟合函数来确定,模型计算取得了较好的效果;郭向红等[8]利用混合遗传算法对VG方程进行了求解;还有一些其他方法在推求VG方程的参数中取得了良好的效果。

混合免疫遗传算法是非线性拟合函数(lsqcurvefit)和免疫遗传优化算法(immune genetic algorithm,IGA)的耦合模型,具有免疫遗传算法全局信息交换和局部深度搜索相结合的特点,利用lsqcurvefit函数的非线性拟合能力来捕获变量间的非线性关系,进一步提高模型的局部搜索能力,加快向最优解的收敛速度。模型优化结果证明,该模型具有较强的非线性逼近能力和较强的鲁棒性、较快的收敛速度、较高的搜索精度。本文将混合免疫遗传算法引用于VG方程中,为方程参数的确定提供参考依据。

1 Van Genuchten方程

Van Genuchten公式描述压力水头与含水量的关系,即土壤水分能量与数量的关系,方程形式为:

式中:θ为体积含水率,cm3/cm3;θr为残留含水率,cm3/cm3;θS为饱和含水率,cm3/cm3;h 为负压,cmH2O;α,n,m 分别表示土壤水分特征曲线形状的参数。式(1)中含有4个参数α,n(其中n中含有m),θS,θr,根据实测的土壤含水率θ和土壤水吸力h资料,采用最小二乘法拟合结果的残差平方和最小为目标,即式(2),通过优化得到这4个参数:

式中:θi为实测含水率,cm3/cm3;hi为实测土壤含水率θi对应的土壤水吸力,cm;θ( hi,X)为根据式(1)计算的土壤含水率,cm3/cm3;X 为待求参数向量(α,n,θS,θr);N 为实测数据个数。

2 算法的构建

基于非线性拟合函数改进的混合免疫遗传算法(Lsqcurvefit Immune genetic algorithm,LIGA)将遗传算法[9](genetic algorithm,GA)、免疫算法 (Immune Algorithm,IA)、非线性拟合函数lsqcurvefit结合构造的一种新的混合免疫遗传算法。首先,在Matlab优化工具箱中,lsqcurvefit函数采用高斯—牛顿(Gauss-Newton)方法或者麦夸特(Levenberg-Marquardt)方法,用于求解最小二乘非线性数据拟合问题。混合免疫遗传算法以lsqcurvefit函数的非线性求解作为种群的初始染色体的最优值,避免了算法开始阶段搜索的随机性与盲目性,使得混合免疫遗传算法具有很强的非线性拟合能力与非线性逼近能力,群体具有的免疫机制对群体进行控制和调节,把目标函数和制约条件作为群体的抗原,保证生成的染色体直接与问题相关联,收敛方向得以控制,对与抗原亲和力高的个体进行记忆,并从中提取免疫疫苗对抗体群进行注射,保证抗体群在更新过程中的多样性,促进求解的速度,提高算法的效率,并防止群体的退化,在很大程度上抑制混合免疫遗传算法的未成熟收敛[10]。结合免疫算法、遗传算法、lsqcurvefit函数的原理,下面给出具体实现步骤:

Step1:抗原输入。输入目标函数式(2)和各种约束作为混合免疫遗传算法的抗原。

Step2:产生初始群体。生成初始抗体群N、促进记忆细胞库N1、检测记忆细胞库N2。对初次应答,初始抗体N、N1、N2全部随机产生,而对再次应答,则抗体群N借助免疫系统的记忆机制,部分初始抗体由免疫记忆单元获取,即包含最优抗体促进记忆细胞库,其余抗体随机产生。

Step3:计算抗体适应度。群体的抗原和抗体V之间的亲和力:axv=optv,其中optv表示抗原和抗体之间的匹配程度,本文用抗原和抗体之间的适应值函数fittness(v)来表示,即axv=fittness(v)。N个抗体的信息熵为:

式中:Hj(N)为N个抗体第j位的信息熵,Pij为N个抗体中的第j位为数值ki的概率。抗体v和抗体w的亲和力为:

抗体v的浓度cv为:

式中:Tac1为一个预先确定的亲和力阈值;

Step4:免疫记忆细胞库更新。根据一定比例,从抗体群N中选出亲和力高的抗体,用它们替换促进记忆细胞库N1中亲和力低的抗体;将抗体群N中亲和力低的抗体选入检测记忆细胞库N2,用它们替换检测记忆细胞库N2中亲和力高的抗体。

Step5:抗体群的促进与抑制。当记忆群体N1中抗体浓度的最大值cmax低于抗体浓度阈值th时,记忆群体中的抗体处于多样化,为未饱和状态;否则抗体趣于一致化,为饱和状态,浓度大的抗体将被淘汰,随机产生的新个体代替被淘汰的个体。用检测记忆群体N2去检测N中是否含有已搜索过的抗体(即N2中记录的抗体),如果有就用随机抗体取代它。

Step6:将促进记忆群体N1与检测后的抗体群N相结合生成新的抗体种群,即父代群体y。

Step7:利用Matlab优化工具箱中的非线性拟合函数lsqcurvefit对目标函数进行优化,将优化的非线性结果作为初始个体最优值置于父代群体y中,提高各染色体对初始最优解的搜索能力,非线性拟合的数学模型[11][12]:

根据输入数据xdata和得到的输出数据ydata找到与目标函数F(x,xdata)最佳的拟合参数向量x,以x作为群体中每条染色体的初始最优个体值。

Step8:对于父代群体y进行选择操作、杂交操作和变异操作[9-13]。

Step9:终止条件是否满足?如果满足,结束迭代,否则转向Step3。

3 实例分析

以文献[14]中的粉壤土、细沙土、砾石3种介质的吸湿和脱湿曲线的实测资料为例,说明混合免疫遗传算法在Van Genuchten方程参数拟合中的应用效果。表1为分别采用基于非线性拟合函数lsqcurvefit改进的LIGA和非线性拟合函数lsqcurvefit两种方法得到的不同土壤类型的Van Genuchten方程参数结果。采用MATLAB7.0编程处理,选取选定父代初始群体规模为n=400,抗体浓度阈值th=0.85,交叉概率pc=0.8,变异概率pm=0.8,优秀个体数目选定20个,Van-Genuchten方程的估计参数取值范围,α取值为0~1、n取值为1~10、θS取值为 0.2~0.7、θr取值为 0~0.2;通过MATLAB程序设计与其工具箱命令的条用实现非线性曲线拟合函数lsqcurvefit的计算。

表1 土壤水分特征曲线Van Genuchten方程参数计算结果

从表1中结果可以看出,LIGA与lsqcurvefit函数优化的参数估计结果比较接近,进而比较2种方法的求解拟合值与实测值之间的残差平方和范数可知,对于目标函数值优化计算,LIGA优化结果计算结果θ值与实测的θ的残差平方和范数小于lsqcurvefit函数的计算,可见改进的LIGA优化的参数结果优于lsqcurvefit函数优化的参数结果,并且这两种方法的计算均达到了很高的精度。

4 结论

Van Genuchten方程是最常用的土壤水分特征曲线方程,方程中的参数拟合具有非线性特点,本文将免疫算法、遗传算法和lsqcurvefit函数三者相结合构建新的混合免疫遗传算法(LIGA),并且尝试性地将改进后的LIGA用于Van Genuchten方程参数拟合中,并进行了数值试验,结果表明:改进的LIGA的计算精度比lsqcurvefit模型高,LIGA模型用于Van Genuchten方程参数求解问题中是可行的,既拓展了LIGA的应用领域,又为解决Van Genuchten方程参数拟合问题提供了新的思路和方法。

[1]赵爱辉,黄明斌,史竹叶.两种土壤水分特征曲线间接推求方法对黄土的适应性评价[J],农业工程学报,2008,24(9):11.

[2]卢小慧,靳孟贵,汪丙国.栾城农业生态系统试验站土壤水分特征曲线分析[J],中国农村水利水电,2006(12):30.

[3]李春友,任理,李保国.利用优化方法求解VanGenuchten方程参数[J],水科学进展,2001,12(4):473-475.

[4]吕殿青,邵明安.非饱和土壤水力参数的模型及确定方法,应用生态学报[J],应用生态学报,2004,15(1):63-165.

[5]廖林仙,邵孝侯,徐俊增.基于智能算法推求VanGenuchten方程的参数[J],水利学报,2007(1):696-697.

[6]马英杰,虎胆·吐马尔拜,沈 冰.利用阻尼最小二乘法求解VanGenuchten方程参数[J],农业工程学报,2005,21(8):179-180.

[7]王小华,贾克力,刘景辉,李立军.VanGenuchten模型在土壤水分特征曲线拟合分析中的应用[J],干旱地区农业研究,2009,27(2):179-180.

[8]郭向红,孙西欢,马娟娟.基于混合遗传算法估计van Genuchten方程参数[J],水科学进展,2009,20(5):677-680.

[9]付强,金菊良,梁川.基于实码加速遗传算法的投影寻踪分类模型在水稻灌溉制度优化中的应用[J],水利学报,2002(10):39-42.

[10]葛红,毛宗源.免疫算法的改进[J],计算机工程与应用,2002,14(47):47-48.

[11]彭建平,邵爱军.用MatLab确定土壤水分特征曲线参数[J],土壤,2007,39(3):433-436.

[12]唐家德.基于MATLAB的非线性曲线拟合[J],计算机与现代化,2008(6):15-18.

[13]金菊良,杨晓华,丁晶.标准遗传算法的改进方案—加速遗传算法.系统工程理论与实践[J].2001(4):9-10.

[14]王金生,杨志峰,陈家军,等.包气带土壤水分滞留特性研究[J]. 水利学报,2000(2):1-6.

S15

A

1007-7596(2012)02-0046-03

2011-12-19

李琳(1977-),女,黑龙江密山人,工程师;董锐(1978-)女,黑龙江密山人,工程师;彭化伟(1976-),男,黑龙江呼玛人,工程师。。

猜你喜欢

土壤水分遗传算法群体
通过自然感染获得群体免疫有多可怕
“群体失语”需要警惕——“为官不言”也是腐败
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
西藏高原土壤水分遥感监测方法研究
基于改进的遗传算法的模糊聚类算法
不同覆盖措施对枣园土壤水分和温度的影响
植被覆盖区土壤水分反演研究——以北京市为例
土壤水分的遥感监测方法概述