曹懷火,歐陽艾嘉,艾海男
1.池州學(xué)院 數(shù)學(xué)與計算機科學(xué)系,安徽 池州 247000
2.湖南大學(xué) 計算機與通信學(xué)院,長沙 410082
3.重慶大學(xué) 三峽庫區(qū)生態(tài)環(huán)境教育部重點實驗室,重慶 400045
土壤水分特征曲線是表征土壤含水率與土壤水吸力的關(guān)系曲線,是定量研究土壤水分運動的重要參考。影響土壤水分特征曲線的因素非常復(fù)雜,通常情況下難以從理論上得出確定的關(guān)系式。因此,人們尋求一些經(jīng)驗公式來數(shù)值模擬土壤水分特征曲線,目前國內(nèi)外最為普遍使用的描述土壤水分特征曲線的Van Genuchten方程[1](簡稱VG方程)是美國學(xué)者Van Genuchten在1980年提出的,其具體表達式為:
其中θ為土壤含水率(m3/cm3);h為土壤水吸力(cm);θs為土壤飽和含水率(cm3/cm3);θr為土壤殘余含水率(cm3/cm3);α,m,n為土壤水分特征曲線形狀參數(shù),m=1-1/n,n>1。
通常對于求解VG方程式(1)的參數(shù)估計問題采用間接法,即轉(zhuǎn)化為如下最優(yōu)化模型(2)的求解問題:
其中θi為實測土壤含水率;hi為實測土壤基質(zhì)勢;N為實測數(shù)據(jù)組數(shù)。傳統(tǒng)的優(yōu)化方法[2-5]大多基于梯度計算,計算效率比較高,但由于其固有的局部優(yōu)化性,并不適合于全局優(yōu)化問題的求解。于是很多學(xué)者對求解VG方程的參數(shù)估計問題引入了智能進化算法,如遺傳算法、粒子群算法等[6-8],同時也取得了一定的效果。
由于遺傳算法和粒子群算法受初值影響,易于產(chǎn)生局部最優(yōu)解等缺陷,目前很多學(xué)者給出了一些改進的遺傳算法[9]和改進的粒子群算法[10]。為了提高粒子群算法的收斂概率和減少迭代次數(shù),綜合文獻[11-12]方法的思想,將lsqcurvefit擬合方法與粒子群優(yōu)化算法相結(jié)合,構(gòu)造一種新的混合型粒子群優(yōu)化算法,并用于求解VG方程的參數(shù)估計問題。該算法不僅包含粒子群算法的全局搜索能力,還具有l(wèi)sqcurvefit擬合函數(shù)較強的局部優(yōu)化能力。
粒子群優(yōu)化算法是一種進化計算技術(shù),它是模仿鳥群或魚群的社會行為而提出的算法。首先初始化一群隨機粒子,然后粒子們就追隨當(dāng)前的最優(yōu)粒子在解空間中搜索,即通過迭代找到最優(yōu)解。假設(shè)d維搜索空間中的第i個粒子的位置和速度分別為Xi=(xi1,xi2,…,xid)和Vi=(vi1,vi2,…,vid),在每一次迭代中,粒子通過跟蹤兩個最優(yōu)解來更新自己,第一個就是粒子本身所找到的最優(yōu)解,即個體極值pbest,Pi=(pi1,pi2,…,pid);另一個是整個種群目前找到的最優(yōu)解,即全局最優(yōu)解gbest,在找到這兩個最優(yōu)解時,粒子根據(jù)如下公式來更新自己的速度和新的位置:
其中w為慣性權(quán)因子,c1和c2為正的學(xué)習(xí)因子,r1和r2為0到1之間均勻分布的隨機數(shù)。
PSO算法的搜優(yōu)速度在一定程度上快于其他進化算法,但卻存在全局搜索能力極強而局部尋優(yōu)能力比較差,也就是說該算法可以用于極快的速度搜索到最優(yōu)解附近,但要進一步達到最優(yōu)解則速度很慢。為了加快局部尋優(yōu)能力,將lsqcurvefit擬合方法與PSO算法相結(jié)合,構(gòu)造一種新的混合型粒子群優(yōu)化算法(LPSO算法),其基本思路是在進化過程當(dāng)中利用非線性擬合函數(shù)lsqcurvefit優(yōu)化初始種群,通過lsqcurvefit函數(shù)較強的局部優(yōu)化能力來提高收斂速度,進而同時具有PSO算法的全局優(yōu)化能力和lsqcurvefit擬合方法的高效局部優(yōu)化能力。主要步驟如下:
步驟1隨機初始化種群中各微粒的位置和速度,并確定粒子種群規(guī)模N、學(xué)習(xí)因子c1,c2以及慣性權(quán)因子w。
步驟2用Matlab中的非線性擬合函數(shù)lsqcurvefit優(yōu)化初始種群位置,其調(diào)用格式為:
其中X為優(yōu)化后的初始種群,resnorm為要返回的殘差平方和,fun為擬合函數(shù),x0為初始種群,xdata、ydata分別為實測數(shù)據(jù)。
步驟3計算每個微粒的適應(yīng)值,并將當(dāng)前各微粒的位置和適應(yīng)值存儲在各微粒的pbest中,將所有pbest中適應(yīng)值最優(yōu)個體的位置和適應(yīng)值存儲于gbest中。
步驟4用式(3)~(4)更新各微粒的速度和位移。
步驟5對于每個微粒,將其適應(yīng)值與其經(jīng)歷過的最好位置作比較,如果較好,則將其作為當(dāng)前的最好位置。
步驟6比較當(dāng)前所有pbest和gbest的值,更新gbest。
步驟7若滿足停止條件,搜索停止,輸出結(jié)果,否則返回步驟4繼續(xù)搜索。
為了驗證所提出的LPSO算法的優(yōu)化性能和優(yōu)化精度,以石家莊農(nóng)業(yè)現(xiàn)代化研究所欒城實驗站提供的土壤數(shù)據(jù)[3]為例。算法的參數(shù)設(shè)置為:學(xué)習(xí)因子c1=c2=1.2,粒子數(shù)N=200,慣性權(quán)因子w=0.45,最大迭代次數(shù)為1 000次。在計算過程當(dāng)中,參數(shù)α,n,θs,θr的取值范圍為[0,5]。
驗證分成兩部分。第一部分是分別采用LPSO算法與PSO算法進行求解VG方程參數(shù)的40次數(shù)值實驗,以分析其能夠收斂的次數(shù)、收斂效率以及收斂迭代次數(shù)來比較兩者的優(yōu)缺點。第二部分從最優(yōu)化準(zhǔn)則函數(shù)值的角度,分別采用lsqcurvefit擬合方法、PSO算法和LPSO算法對VG方程的參數(shù)進行估計,以比較LPSO算法與PSO算法以及l(fā)sqcurvefit擬合函數(shù)的最優(yōu)值。
表1給出了LPSO算法與PSO算法的優(yōu)化性能結(jié)果比較。由表1可以看出,LPSO算法的收斂次數(shù)為40次,收斂概率為100%,而PSO算法的收斂次數(shù)僅有7次,收斂概率為17.5%。由此可見,在收斂性能上,由于LPSO算法引入lsqcurvefit擬合函數(shù),使其收斂效率比PSO算法大大提高。從收斂時迭代次數(shù)的分布來看,LPSO算法的收斂迭代次數(shù)在區(qū)間[101,200]的次數(shù)最大達到22次,而PSO算法在區(qū)間[101,200]的收斂迭代次數(shù)僅有3次。因此,LPSO算法與PSO算法相比,不但收斂效率提高,而且收斂迭代次數(shù)也大大增加。
表2給出了lsqcurvefit擬合方法、PSO算法和LPSO算法估計VG方程參數(shù)的函數(shù)最優(yōu)值結(jié)果比較。由表2可以看出,LPSO算法的結(jié)果要比lsqcurvefit擬合[3]方法、PSO算法的結(jié)果都小一些。另外,lsqcurvefit擬合方法對參數(shù)初值的依賴很強,而LPSO算法沒必要給出各參數(shù)的初值。綜合可見,LPSO算法對參數(shù)估計的結(jié)果要優(yōu)于lsqcurvefit擬合方法和PSO算法計算的結(jié)果。
表1 VG方程的粒子群算法優(yōu)化性能比較
表2 VG方程的參數(shù)估計結(jié)果比較
本文將lsqcurvefit擬合方法與粒子群(PSO)算法相結(jié)合,實現(xiàn)了不同土樣的土壤水分特征曲線VG方程的參數(shù)估計,并與PSO算法和lsqcurvefit擬合方法相比較,結(jié)果表明了LPSO算法求解VG方程參數(shù)效果更好,避免了初值選取和陷入局部最優(yōu)解的問題。另外該算法也可適用于其他類似的非線性參數(shù)估計問題。
[1]Van Genuchten M.A closed-form equation for predicting the hydraulic conductivity of unsaturated soils[J].Soil Sci Soc Am J,1980,44:892-898.
[2]馬英杰,虎膽·吐馬爾拜,沈冰.利用阻尼最小二乘法求解Van Genuchten方程參數(shù)[J].農(nóng)業(yè)工程學(xué)報,2005,21(8):l79-180.
[3]彭建平,邵愛軍.用MATLAB確定土壤水分特征曲線參數(shù)[J].土壤,2007,39(3):433-438.
[4]楊改強,霍麗娟,楊國義,等.利用MATLAB擬合van Genuchten方程參數(shù)的研究[J].土壤,2010,42(2):268-274.
[5]王小華,賈克力,劉景輝,等.Van Genuchten模型在土壤水分特征曲線擬合分析中的應(yīng)用[J].干旱地區(qū)農(nóng)業(yè)研究,2009,27(2):179-183.
[6]許小健,黃小平,張金輪.用遺傳算法優(yōu)化估計Van Genuchten方程參數(shù)[J].巖土工程技術(shù),2008,22(2):75-78.
[7]郭向紅,孫西歡,馬娟娟.基于混合遺傳算法估計Van Genuchten方程參數(shù)[J].水科學(xué)進展,2009,20(5):677-682.
[8]陳大春,馬英杰.基于隨機粒子群算法的Van Genuchten方程參數(shù)優(yōu)化求解[J].農(nóng)業(yè)工程學(xué)報,2006,22(12):82-84.
[9]譚躍,譚冠政,葉勇,等.具有混沌局部搜索策略的雙種群遺傳算法[J].計算機應(yīng)用研究,2011,28(2):469-471.
[10]張艷瓊.改進的云自適應(yīng)粒子群優(yōu)化算法[J].計算機應(yīng)用研究,2010,27(9):3250-3252.
[11]艾海男,劉利斌,張永,等.基于Lingo和單純形算法的綜合暴雨強度公式參數(shù)解析[J].中國給水排水,2011,27(17):71-74.
[12]劉利斌,歐陽艾嘉,樂光學(xué),等.基于混合粒子群的土壤水分特征曲線參數(shù)優(yōu)化[J].計算機工程與應(yīng)用,2011,47(35):218-221.