范 千
1 福州大學土木工程學院, 福州市學園路2號,350116 2 東華理工大學江西省數字國土重點實驗室,南昌市廣蘭大道418號,330013
?
基于改進果蠅算法的非線性模型參數估計方法
范 千1,2
1 福州大學土木工程學院, 福州市學園路2號,350116 2 東華理工大學江西省數字國土重點實驗室,南昌市廣蘭大道418號,330013
在對基本果蠅優化算法的尋優流程進行深入分析的基礎上,提出一種單方向搜索處理的改進果蠅優化算法(IFOA)。該方法可以對極值點為非零非負的非線性函數進行優化處理,將其應用于非線性模型參數估計。實例表明,IFOA方法在參數估計精度上優于線性近似法與非線性迭代方法;與以遺傳算法為代表的智能搜索方法相比,其估計精度相當,并具有參數設置少、尋優過程簡單、易于程序實現等優點。
果蠅優化算法;單方向搜索處理;非線性模型;參數估計;智能搜索方法
非線性模型參數估計的方法可分為兩類[1]:一類為非線性迭代解法;一類為智能搜索算法。迭代解法的前提是要對非線性函數模型進行求導,當觀測函數非常復雜時,求導將變得很困難,特別是在其不可導的情況下,迭代方法不能直接應用于參數估計。另外,迭代方法也存在著對參數初值敏感、局部收斂等缺陷。智能搜索方法近些年來被研究較多,然而在實際應用中,其代表性的遺傳算法存在收斂速度慢、易陷入局部最優等問題[2];粒子群優化算法存在進化后期收斂速度降低、局部搜索能力差等缺陷[3]。2012年Pan提出一種新的群體智能算法——果蠅優化算法(fruit fly optimization algorithm,FOA),具有設置簡單、參數調整少、運算速度快等特點[4]。本文在對其進行深入分析的基礎上,指出原有FOA算法并不適用于非線性函數的全局尋優,進而提出一種改進的FOA(improved FOA,IFOA)算法以應用于非線性模型參數估計,并以實例分析IFOA方法進行非線性參數估計的可行性。
測量中的非線性模型可表示為[1]:

(1)
式中,f(X)=(f1(X),f2(X)…fn(X))T,是由n個X的非線性函數構成的向量;L為n×1維觀測向量;X為t×1維待估計參數向量;Δ為n×1維誤差向量。
與式(1)對應的非線性模型誤差方程可表示為:

(2)

根據等價觀測理論[5],測量中的不同精度或者具有相關性的觀測值,都可變換為獨立觀測值。為此,考慮觀測值等精度觀測的情況,則式(2)的非線性參數估計問題可表示為:
(3)
將式(3)展開可得:
(4)
由于LTL是一常量,因此式(4)可等價于:
(5)
式(5)即為非線性模型參數估計所對應的目標函數。
FOA方法是參照果蠅在嗅覺和視覺上優于其他種群,先以嗅覺發現食物所在大致位置,進而通過視覺定位具體食物位置并不斷接近的一種覓食行為而建立的方法。基本FOA方法尋優的步驟有:
1)設置果蠅種群大小與最大迭代次數,并隨機初始化果蠅種群的初始位置(X_axis,Y_axis);
2)賦予果蠅個體利用嗅覺搜尋食物的隨機方向與距離為:Xi=X_axis+RandomValue,Yi=Y_axis+RandomValue;

4)將氣味濃度判定值Si引入氣味濃度判定函數(即需優化問題的目標函數),求出該位置的氣味濃度Smelli=function(Si);
5)找到果蠅種群中氣味濃度最高或最低的果蠅個體(對應目標函數極大或極小值,本文為求極小值),并記錄其編號:[bestSmell,bestIndex]=min(Smelli);
6)保留最佳的氣味濃度值及該果蠅的位置坐標,此時果蠅群體內的各個體利用視覺向該位置飛去:Smellbest=bestSmell,X_axis=X(bestIndex),Y_axis=Y(bestIndex);
7)進入循環迭代過程,此時已保留的果蠅位置坐標成為新一次迭代尋優的果蠅群體初始位置。執行步驟2)~5),判斷氣味濃度值Smellbest是否小于所記錄的最優值。若是,則執行步驟6);否則返回步驟2)進行下一次迭代。
由上述基本FOA方法的尋優過程可以發現,其參數設置非常簡單,相應的運算速度也較快,并易于程序實現。
3.1 基本FOA算法存在的問題
文獻[6]采用基本FOA算法處理了兩種優化函數maxY=3-x2與minY=-5+x2,其尋優結果非常理想,得到非常好的處理效果。但本文作者將目標函數變為minY=-5+(x+1)2時,卻始終不能準確搜索到該函數的極小值。為此,本文又處理了一個有代表性的非線性函數——Shubert函數:
1)x2+i)],-10≤x1,x2≤10
其極小值為-186.730 9。在使用基本FOA算法處理時,經過改變種群數目、迭代次數等各種處理手段后,始終無法找到正確的極值位置。基于此,可以分析得到:基本FOA算法不能處理極值點為非零的非線性函數,只能對其示例給出的極值點為零的函數有效。
對基本FOA算法流程進行深入分析可以發現,FOA尋優過程是將氣味濃度判定值Si作為極值點(即上述函數中的參數x)代入目標函數進行處理的,而Si作為距離的倒數,始終保持Si>0,這也意味著FOA算法不能處理參數為負數的問題[7]。而在測量數據處理中,參數為負數是常見的情況,只有將這一問題解決,FOA算法才可以應用于測量參數估計。
另外,在FOA算法的步驟2)中,RandomValue的取值范圍是[-1,1],也就是說其搜索范圍在半徑為1的區域。當果蠅初始位置(X_axis,Y_axis)取值較大時,如果加入的隨機方向區間很小,將會導致果蠅位置的變化對Si的影響較小,從而使得Si易于陷入局部最優。同時,這種搜索半徑在循環迭代過程中由于被固定而不能隨迭代深入而加以變化,這是不合理的。因為隨著迭代的進行,果蠅的位置會逐漸向最優值靠近,在搜索早期需要比較大的搜索范圍,而在后期搜索范圍會逐漸縮小。為此,搜索半徑需要自適應地進行調整[8]。
由于上述基本FOA算法存在的諸多問題,可以發現原FOA方法并不能很好地處理非線性函數,當然也難以應用于非線性模型的參數估計。
3.2 改進FOA算法用于非線性模型參數估計的算法流程

1)設置果蠅種群大小PopSize與最大迭代次數maxIter,隨機初始化果蠅種群的初始位置X_axis=LB+(UB-LB)×rand(),其中rand產生[0,1]區間的隨機數;
2)賦予果蠅個體利用嗅覺搜尋食物的隨機方向與距離為:Xi=X_axis+R×(2×rand()-1),搜索半徑初始值設為R=1;
3)設置半徑調整系數λ,令R=R×λIter,Iter為當前迭代次數,保證迭代次數越大、搜索范圍越小;
4)令氣味濃度判定值Si=Xi,代入目標函數,求取該位置的氣味濃度Smelli=function(Si);
5)找到果蠅種群中氣味濃度最低的果蠅個體,并記錄其編號:[bestSmell,bestIndex]=min(Smelli);
6)保留最佳的氣味濃度值及該果蠅的位置坐標:Smellbest=bestSmell,X-best=X(bestIndex);
7)進入循環迭代過程,與基本FOA算法一致。
在IFOA算法結束后,其尋優搜索到的X-best即為待估計的參數向量。通過上述算法流程可以看出,其有效地消除了基本FOA算法存在的問題。
本實例取自文獻[1]的例2-1-1。設有5個同精度的獨立觀測值Li,其觀測值和相應的真值列于表1。

表1 Li的真值和相應的觀測值
現有非線性模型:
Li=x1eix2
式中,x1和x2的真值為X=(5.420 136 187,-0.254 361 89)T。觀測值的中誤差為σ0=±0.007 833,觀測方程為:

圖1 IFOA算法優化迭代過程Fig.1 Optimization iterative process of IFOA algorithm
從圖1可以看出,在經過很少的迭代次數(8次)后,IFOA算法即可找到目標最優值,表明其收斂速度非常快。如果在IFOA算法中不加入搜索半徑調整系數λ, 其優化迭代過程如圖2所示。

圖2 不加入搜索半徑調整系數時IFOA算法優化迭代過程Fig.2 Optimization iterative process of IFOA algorithm when search radius tuning coefficient is not added
從圖2可見,在沒有設置搜索半徑調整系數λ時,IFOA算法需要迭代342次才能搜索到最優解,最優解與真值的偏差‖ΔX‖=0.032 3。對比加入λ的情況,此時的最優解偏差較大。
而如果本例應用基本FOA算法,由于其參數x2為負值,所以其搜索將不能成功,目標函數值自然也找不到最小值。將本文的搜索結果與文獻中的相關估計方法進行比較,如表2所示。

表2 各種算法的計算結果對比
由表2可以看出,IFOA算法在估計精度上優于線性近似法以及非線性迭代方法;與遺傳算法相對比,雖然其參數估計精度相當,但其參數估值與真值更加接近。另外,IFOA方法需設置的參數僅有種群大小、最大迭代次數與在本文中增加的搜索半徑調整系數,而遺傳算法需設置種群大小、最大迭代次數、個體長度、交叉概率與變異概率等多個參數。與遺傳算法相比,顯然IFOA方法設置的參數較少,在實際應用中顯得更加有利。
本文在對基本果蠅算法的優化流程進行深入研究的基礎上,詳細分析了基本FOA方法存在的不足。據此,提出一種單方向搜索處理的改進FOA方法。實例分析表明,IFOA方法在估計精度上優于線性近似法與非線性迭代方法;而與以遺傳算法為代表的智能搜索方法相比,具有參數設置少、尋優過程簡單、易于程序實現等明顯優點。可以看出,IFOA方法在對非線性模型進行參數估計時是可行并有效的。
[1] 王新洲.非線性模型參數估計理論與應用[M].武漢:武漢大學出版社,2002(Wang Xinzhou. Theory and Application of Parameter Estimation for Nonlinear Model[M]. Wuhan: Wuhan University Press, 2002)
[2] 梁興建,詹志輝. 基于雙模式變異策略的改進遺傳算法[J]. 山東大學學報:工學版,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] 朱鳳明,樊明龍. 混沌粒子群算法對支持向量機模型參數的優化[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] 黃維杉. 近代平差理論及其應用[M].北京:解放軍出版社,1992(Huang Weibin. Modern Adjustment Theory and Its Application[M]. Beijing: PLA Press,1992)
[6] 潘文超. 果蠅優化算法[M].臺中:滄海書局,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
項目來源:國家自然科學基金(41404008);廣西空間信息與測繪重點實驗室開放基金(桂科能1103108-21);江西省數字國土重點實驗室開放基金(DLLJ201408);精密工程與工業測量國家測繪地理信息局重點實驗室開放基金(PF2015-12);福州大學科技發展基金(2014-XQ-33)。
范千,博士,副教授,主要從事變形監測數據處理及GNSS定位技術研究,E-mail:fanqian1981@163.com。
10.14075/j.jgg.2016.12.013
1671-5942(2016)012-1092-04
P207
A