范 千
1 福州大學(xué)土木工程學(xué)院, 福州市學(xué)園路2號(hào),350116 2 東華理工大學(xué)江西省數(shù)字國(guó)土重點(diǎn)實(shí)驗(yàn)室,南昌市廣蘭大道418號(hào),330013
?
基于改進(jìn)果蠅算法的非線性模型參數(shù)估計(jì)方法
范 千1,2
1 福州大學(xué)土木工程學(xué)院, 福州市學(xué)園路2號(hào),350116 2 東華理工大學(xué)江西省數(shù)字國(guó)土重點(diǎn)實(shí)驗(yàn)室,南昌市廣蘭大道418號(hào),330013
在對(duì)基本果蠅優(yōu)化算法的尋優(yōu)流程進(jìn)行深入分析的基礎(chǔ)上,提出一種單方向搜索處理的改進(jìn)果蠅優(yōu)化算法(IFOA)。該方法可以對(duì)極值點(diǎn)為非零非負(fù)的非線性函數(shù)進(jìn)行優(yōu)化處理,將其應(yīng)用于非線性模型參數(shù)估計(jì)。實(shí)例表明,IFOA方法在參數(shù)估計(jì)精度上優(yōu)于線性近似法與非線性迭代方法;與以遺傳算法為代表的智能搜索方法相比,其估計(jì)精度相當(dāng),并具有參數(shù)設(shè)置少、尋優(yōu)過(guò)程簡(jiǎn)單、易于程序?qū)崿F(xiàn)等優(yōu)點(diǎn)。
果蠅優(yōu)化算法;單方向搜索處理;非線性模型;參數(shù)估計(jì);智能搜索方法
非線性模型參數(shù)估計(jì)的方法可分為兩類[1]:一類為非線性迭代解法;一類為智能搜索算法。迭代解法的前提是要對(duì)非線性函數(shù)模型進(jìn)行求導(dǎo),當(dāng)觀測(cè)函數(shù)非常復(fù)雜時(shí),求導(dǎo)將變得很困難,特別是在其不可導(dǎo)的情況下,迭代方法不能直接應(yīng)用于參數(shù)估計(jì)。另外,迭代方法也存在著對(duì)參數(shù)初值敏感、局部收斂等缺陷。智能搜索方法近些年來(lái)被研究較多,然而在實(shí)際應(yīng)用中,其代表性的遺傳算法存在收斂速度慢、易陷入局部最優(yōu)等問(wèn)題[2];粒子群優(yōu)化算法存在進(jìn)化后期收斂速度降低、局部搜索能力差等缺陷[3]。2012年P(guān)an提出一種新的群體智能算法——果蠅優(yōu)化算法(fruit fly optimization algorithm,F(xiàn)OA),具有設(shè)置簡(jiǎn)單、參數(shù)調(diào)整少、運(yùn)算速度快等特點(diǎn)[4]。本文在對(duì)其進(jìn)行深入分析的基礎(chǔ)上,指出原有FOA算法并不適用于非線性函數(shù)的全局尋優(yōu),進(jìn)而提出一種改進(jìn)的FOA(improved FOA,IFOA)算法以應(yīng)用于非線性模型參數(shù)估計(jì),并以實(shí)例分析IFOA方法進(jìn)行非線性參數(shù)估計(jì)的可行性。
測(cè)量中的非線性模型可表示為[1]:
(1)
式中,f(X)=(f1(X),f2(X)…fn(X))T,是由n個(gè)X的非線性函數(shù)構(gòu)成的向量;L為n×1維觀測(cè)向量;X為t×1維待估計(jì)參數(shù)向量;Δ為n×1維誤差向量。
與式(1)對(duì)應(yīng)的非線性模型誤差方程可表示為:
(2)
根據(jù)等價(jià)觀測(cè)理論[5],測(cè)量中的不同精度或者具有相關(guān)性的觀測(cè)值,都可變換為獨(dú)立觀測(cè)值。為此,考慮觀測(cè)值等精度觀測(cè)的情況,則式(2)的非線性參數(shù)估計(jì)問(wèn)題可表示為:
(3)
將式(3)展開(kāi)可得:
(4)
由于LTL是一常量,因此式(4)可等價(jià)于:
(5)
式(5)即為非線性模型參數(shù)估計(jì)所對(duì)應(yīng)的目標(biāo)函數(shù)。
FOA方法是參照果蠅在嗅覺(jué)和視覺(jué)上優(yōu)于其他種群,先以嗅覺(jué)發(fā)現(xiàn)食物所在大致位置,進(jìn)而通過(guò)視覺(jué)定位具體食物位置并不斷接近的一種覓食行為而建立的方法?;綟OA方法尋優(yōu)的步驟有:
1)設(shè)置果蠅種群大小與最大迭代次數(shù),并隨機(jī)初始化果蠅種群的初始位置(X_axis,Y_axis);
2)賦予果蠅個(gè)體利用嗅覺(jué)搜尋食物的隨機(jī)方向與距離為:Xi=X_axis+RandomValue,Yi=Y_axis+RandomValue;
4)將氣味濃度判定值Si引入氣味濃度判定函數(shù)(即需優(yōu)化問(wèn)題的目標(biāo)函數(shù)),求出該位置的氣味濃度Smelli=function(Si);
5)找到果蠅種群中氣味濃度最高或最低的果蠅個(gè)體(對(duì)應(yīng)目標(biāo)函數(shù)極大或極小值,本文為求極小值),并記錄其編號(hào):[bestSmell,bestIndex]=min(Smelli);
6)保留最佳的氣味濃度值及該果蠅的位置坐標(biāo),此時(shí)果蠅群體內(nèi)的各個(gè)體利用視覺(jué)向該位置飛去:Smellbest=bestSmell,X_axis=X(bestIndex),Y_axis=Y(bestIndex);
7)進(jìn)入循環(huán)迭代過(guò)程,此時(shí)已保留的果蠅位置坐標(biāo)成為新一次迭代尋優(yōu)的果蠅群體初始位置。執(zhí)行步驟2)~5),判斷氣味濃度值Smellbest是否小于所記錄的最優(yōu)值。若是,則執(zhí)行步驟6);否則返回步驟2)進(jìn)行下一次迭代。
由上述基本FOA方法的尋優(yōu)過(guò)程可以發(fā)現(xiàn),其參數(shù)設(shè)置非常簡(jiǎn)單,相應(yīng)的運(yùn)算速度也較快,并易于程序?qū)崿F(xiàn)。
3.1 基本FOA算法存在的問(wèn)題
文獻(xiàn)[6]采用基本FOA算法處理了兩種優(yōu)化函數(shù)maxY=3-x2與minY=-5+x2,其尋優(yōu)結(jié)果非常理想,得到非常好的處理效果。但本文作者將目標(biāo)函數(shù)變?yōu)閙inY=-5+(x+1)2時(shí),卻始終不能準(zhǔn)確搜索到該函數(shù)的極小值。為此,本文又處理了一個(gè)有代表性的非線性函數(shù)——Shubert函數(shù):
1)x2+i)],-10≤x1,x2≤10
其極小值為-186.730 9。在使用基本FOA算法處理時(shí),經(jīng)過(guò)改變種群數(shù)目、迭代次數(shù)等各種處理手段后,始終無(wú)法找到正確的極值位置?;诖耍梢苑治龅玫剑夯綟OA算法不能處理極值點(diǎn)為非零的非線性函數(shù),只能對(duì)其示例給出的極值點(diǎn)為零的函數(shù)有效。
對(duì)基本FOA算法流程進(jìn)行深入分析可以發(fā)現(xiàn),F(xiàn)OA尋優(yōu)過(guò)程是將氣味濃度判定值Si作為極值點(diǎn)(即上述函數(shù)中的參數(shù)x)代入目標(biāo)函數(shù)進(jìn)行處理的,而Si作為距離的倒數(shù),始終保持Si>0,這也意味著FOA算法不能處理參數(shù)為負(fù)數(shù)的問(wèn)題[7]。而在測(cè)量數(shù)據(jù)處理中,參數(shù)為負(fù)數(shù)是常見(jiàn)的情況,只有將這一問(wèn)題解決,F(xiàn)OA算法才可以應(yīng)用于測(cè)量參數(shù)估計(jì)。
另外,在FOA算法的步驟2)中,RandomValue的取值范圍是[-1,1],也就是說(shuō)其搜索范圍在半徑為1的區(qū)域。當(dāng)果蠅初始位置(X_axis,Y_axis)取值較大時(shí),如果加入的隨機(jī)方向區(qū)間很小,將會(huì)導(dǎo)致果蠅位置的變化對(duì)Si的影響較小,從而使得Si易于陷入局部最優(yōu)。同時(shí),這種搜索半徑在循環(huán)迭代過(guò)程中由于被固定而不能隨迭代深入而加以變化,這是不合理的。因?yàn)殡S著迭代的進(jìn)行,果蠅的位置會(huì)逐漸向最優(yōu)值靠近,在搜索早期需要比較大的搜索范圍,而在后期搜索范圍會(huì)逐漸縮小。為此,搜索半徑需要自適應(yīng)地進(jìn)行調(diào)整[8]。
由于上述基本FOA算法存在的諸多問(wèn)題,可以發(fā)現(xiàn)原FOA方法并不能很好地處理非線性函數(shù),當(dāng)然也難以應(yīng)用于非線性模型的參數(shù)估計(jì)。
3.2 改進(jìn)FOA算法用于非線性模型參數(shù)估計(jì)的算法流程
1)設(shè)置果蠅種群大小PopSize與最大迭代次數(shù)maxIter,隨機(jī)初始化果蠅種群的初始位置X_axis=LB+(UB-LB)×rand(),其中rand產(chǎn)生[0,1]區(qū)間的隨機(jī)數(shù);
2)賦予果蠅個(gè)體利用嗅覺(jué)搜尋食物的隨機(jī)方向與距離為:Xi=X_axis+R×(2×rand()-1),搜索半徑初始值設(shè)為R=1;
3)設(shè)置半徑調(diào)整系數(shù)λ,令R=R×λIter,Iter為當(dāng)前迭代次數(shù),保證迭代次數(shù)越大、搜索范圍越小;
4)令氣味濃度判定值Si=Xi,代入目標(biāo)函數(shù),求取該位置的氣味濃度Smelli=function(Si);
5)找到果蠅種群中氣味濃度最低的果蠅個(gè)體,并記錄其編號(hào):[bestSmell,bestIndex]=min(Smelli);
6)保留最佳的氣味濃度值及該果蠅的位置坐標(biāo):Smellbest=bestSmell,X-best=X(bestIndex);
7)進(jìn)入循環(huán)迭代過(guò)程,與基本FOA算法一致。
在IFOA算法結(jié)束后,其尋優(yōu)搜索到的X-best即為待估計(jì)的參數(shù)向量。通過(guò)上述算法流程可以看出,其有效地消除了基本FOA算法存在的問(wèn)題。
本實(shí)例取自文獻(xiàn)[1]的例2-1-1。設(shè)有5個(gè)同精度的獨(dú)立觀測(cè)值Li,其觀測(cè)值和相應(yīng)的真值列于表1。
表1 Li的真值和相應(yīng)的觀測(cè)值
現(xiàn)有非線性模型:
Li=x1eix2
式中,x1和x2的真值為X=(5.420 136 187,-0.254 361 89)T。觀測(cè)值的中誤差為σ0=±0.007 833,觀測(cè)方程為:
圖1 IFOA算法優(yōu)化迭代過(guò)程Fig.1 Optimization iterative process of IFOA algorithm
從圖1可以看出,在經(jīng)過(guò)很少的迭代次數(shù)(8次)后,IFOA算法即可找到目標(biāo)最優(yōu)值,表明其收斂速度非??臁H绻贗FOA算法中不加入搜索半徑調(diào)整系數(shù)λ, 其優(yōu)化迭代過(guò)程如圖2所示。
圖2 不加入搜索半徑調(diào)整系數(shù)時(shí)IFOA算法優(yōu)化迭代過(guò)程Fig.2 Optimization iterative process of IFOA algorithm when search radius tuning coefficient is not added
從圖2可見(jiàn),在沒(méi)有設(shè)置搜索半徑調(diào)整系數(shù)λ時(shí),IFOA算法需要迭代342次才能搜索到最優(yōu)解,最優(yōu)解與真值的偏差‖ΔX‖=0.032 3。對(duì)比加入λ的情況,此時(shí)的最優(yōu)解偏差較大。
而如果本例應(yīng)用基本FOA算法,由于其參數(shù)x2為負(fù)值,所以其搜索將不能成功,目標(biāo)函數(shù)值自然也找不到最小值。將本文的搜索結(jié)果與文獻(xiàn)中的相關(guān)估計(jì)方法進(jìn)行比較,如表2所示。
表2 各種算法的計(jì)算結(jié)果對(duì)比
由表2可以看出,IFOA算法在估計(jì)精度上優(yōu)于線性近似法以及非線性迭代方法;與遺傳算法相對(duì)比,雖然其參數(shù)估計(jì)精度相當(dāng),但其參數(shù)估值與真值更加接近。另外,IFOA方法需設(shè)置的參數(shù)僅有種群大小、最大迭代次數(shù)與在本文中增加的搜索半徑調(diào)整系數(shù),而遺傳算法需設(shè)置種群大小、最大迭代次數(shù)、個(gè)體長(zhǎng)度、交叉概率與變異概率等多個(gè)參數(shù)。與遺傳算法相比,顯然IFOA方法設(shè)置的參數(shù)較少,在實(shí)際應(yīng)用中顯得更加有利。
本文在對(duì)基本果蠅算法的優(yōu)化流程進(jìn)行深入研究的基礎(chǔ)上,詳細(xì)分析了基本FOA方法存在的不足。據(jù)此,提出一種單方向搜索處理的改進(jìn)FOA方法。實(shí)例分析表明,IFOA方法在估計(jì)精度上優(yōu)于線性近似法與非線性迭代方法;而與以遺傳算法為代表的智能搜索方法相比,具有參數(shù)設(shè)置少、尋優(yōu)過(guò)程簡(jiǎn)單、易于程序?qū)崿F(xiàn)等明顯優(yōu)點(diǎn)??梢钥闯觯琁FOA方法在對(duì)非線性模型進(jìn)行參數(shù)估計(jì)時(shí)是可行并有效的。
[1] 王新洲.非線性模型參數(shù)估計(jì)理論與應(yīng)用[M].武漢:武漢大學(xué)出版社,2002(Wang Xinzhou. Theory and Application of Parameter Estimation for Nonlinear Model[M]. Wuhan: Wuhan University Press, 2002)
[2] 梁興建,詹志輝. 基于雙模式變異策略的改進(jìn)遺傳算法[J]. 山東大學(xué)學(xué)報(bào):工學(xué)版,2014,44(6):1-7(Liang Xingjian, Zhan Zhihui. Improved Genetic Algorithm Based on the Dual-mode Mutation Strategy [J]. Journal of Shandong University: Engineering Science, 2014, 44(6): 1-7)
[3] 朱鳳明,樊明龍. 混沌粒子群算法對(duì)支持向量機(jī)模型參數(shù)的優(yōu)化[J].計(jì)算機(jī)仿真,2010,27(11):183-186(Zhu Fengming, Fan Minglong. Chaos Particle Swarm Optimization Algorithm for Optimizing the Parameter of SVM[J]. Computer Simulation, 2010, 27(11):183-186)
[4] Pan W T. A New Fruit Fly Optimization Algorithm: Taking the Financial Distress Model as an Example[J]. Knowledge-Based Systems, 2012, 26:69-74
[5] 黃維杉. 近代平差理論及其應(yīng)用[M].北京:解放軍出版社,1992(Huang Weibin. Modern Adjustment Theory and Its Application[M]. Beijing: PLA Press,1992)
[6] 潘文超. 果蠅優(yōu)化算法[M].臺(tái)中:滄海書(shū)局,2011(Pan Wentsao. Fruit Fly Optimization Algorithm[M]. Taichung: Tsanghai Press, 2011)
[7] Shan D, Chao G, Dong H J.LGMS_FOA: An Improved Fruit Fly Optimization Algorithm for Solving Optimization Problems[J]. Mathematical Problems in Engineering, 2013(7):1-9
[8] Pan Q K, Sang H Y,Duan J H. An Improved Fruit Fly Optimization Algorithm for Continuous Function Optimization Problems[J]. Knowledge-Based Systems, 2014, 62(5):69-83
About the author:FAN Qian, doctor, associate professor, majors in deformation monitoring data processing and GNSS positioning technology,E-mail:fanqian1981@163.com.
Parameter Estimation Method for Nonlinear Model Based on Improved Fruit Fly Optimization Algorithm
FANQian1,2
1 College of Civil Engineering, Fuzhou University, 2 Xueyuan Road,Fuzhou 350116, China 2 Jiangxi Province Key Laboratory for Digital Land,East China University of Technology, 418 Guanglan Road, Nanchang 330013, China
Based on deep analysis of the optimization process of the basic fruit fly optimization algorithm, this paper supports an improved fruit fly optimization algorithm (IFOA) for search processing of a single direction. The IFOA method can process the nonlinear function that has nonzero and nonnegative extreme points. Based on this advantage, IFOA method is applied to parameter estimation of a nonlinear model. Analysis results of a practical example show that estimation accuracy of the IFOA method is superior to the linear approximation method and the nonlinear iterative method. Compared with intelligent search methods represented by a genetic algorithm, estimation accuracy is nearly equal. In addition, the IFOA method has several obvious advantages, including fewer parameter settings, ease of finding the best one, and easy programming.
fruit fly optimization algorithm; search processing for single direction; nonlinear model; parameter estimation; intelligent search method
National Natural Science Foundation of China, No.41404008; Open Fund of Guangxi Key Laboratory of Spatial Information and Geomatics , No.1103108-21; Open Fund of Jiangxi Province Key Laboratory for Digital Land, No.DLLJ201408;Open Fund of Key Laboratory of Precise Engineering and Industry Surveying, NASMG, No.PF2015-12; Science and Technology Development Foundation of Fuzhou University,No.2014-XQ-33.
2016-10-25
項(xiàng)目來(lái)源:國(guó)家自然科學(xué)基金(41404008);廣西空間信息與測(cè)繪重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金(桂科能1103108-21);江西省數(shù)字國(guó)土重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金(DLLJ201408);精密工程與工業(yè)測(cè)量國(guó)家測(cè)繪地理信息局重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金(PF2015-12);福州大學(xué)科技發(fā)展基金(2014-XQ-33)。
范千,博士,副教授,主要從事變形監(jiān)測(cè)數(shù)據(jù)處理及GNSS定位技術(shù)研究,E-mail:fanqian1981@163.com。
10.14075/j.jgg.2016.12.013
1671-5942(2016)012-1092-04
P207
A