顏翠翠+張線媚+柳美平


摘 要:針對標準粒子群優化算法存在過早收斂的不足,在對算法全局尋優和局部尋優性能分析的基礎上,本文對標準粒子群優化算法的慣性權重因子采用非線性自適應的策略進行更新,提出了一種非線性自適應粒子群優化算法(NLDPSO算法),實驗中分別選擇單模態S函數和復雜多模態G函數對本文所提出的算法精確性、穩定性、快速性進行驗證,仿真結果表明NLDPSO算法的綜合尋優性能遠遠優于改進前算法。
關鍵詞:NLDPSO 標準測試函數 性能評價
中圖分類號:TF30 文獻標識碼:A 文章編號:1672-3791(2017)08(b)-0239-02
1995年,Eberhart在對鳥類群體行為研究的基礎上,提出了粒子群優化算法,已有大量實驗證明PSO算法能有效解決多峰值、不可微及大量非線性優化問題。然而標準PSO算法中,粒子是以軌道形式實現收斂的,且由于粒子速度有限,故而粒子能搜索的空間總是不能覆蓋整個可行域,因此標準PSO不能確保以絕對概率尋得全局最優解。基于此,本文對PSO算法慣性權重因子采用非線性、自適應遞減方式進行更新,提出了NLDPSO算法,有效解決了標準粒子群優化算法過早收斂的不足。
1 NLDPSO算法
1.1 標準PSO簡介
PSO算法模擬群體行為,用一個粒子對應需求解問題在搜索范圍內的一個解。根據位置、速度更新公式對粒子當前的位置、速度進行調整,從而尋得全局最優解。標準PSO粒子的位置和速度分別如下:
上式中,參數c1、c2為學習因子;w表示慣性權重因子;R1、R2表示[0,1]內的隨機數。
1.2 NLDPSO算法原理
一個好的智能優化算法,總是能取得局部和全局之間的平衡。即尋優初期,算法主要在全局進行尋優,以較快速度逼近最優解;在尋優末期,算法主要在局部范圍進行集中的搜索,以期得到更為精確的最優解。分析式(1)知,較大的w使得搜索集中在全局范圍;隨著w不斷遞減,算法局部尋優能力逐漸增強。因此,可設置w隨著迭代由大到小遞減,從而增強尋優性能。基于此,本文提出了非線性自適應PSO算法(Nonlinear adaptive Particle Swarm Optimization,NLDPSO算法)。該算法基本思想為:尋優分為粗尋優和精尋優。尋優開始進入到粗尋優階段,w采用式(3)策略,此時著重考慮算法具有較快的收斂速度,以便粒子能快速對整個范圍的可能解進行搜索并向全局最優“靠攏”;當w達到設定值時,尋優進入精尋優,w采用式(3)策略,此時偏重于尋優精度,控制粒子在局部范圍內進行搜索,從而尋得更精準的最優解。具體改進策略如下:
其中,wmax為最大w;t表示當前迭代次數;s為進化速度因子,見式(4);ws為s的權重系數,通常在0.4~0.6之間取值;a表示粒子的聚集度,如式(5);wa為a的權重系數,通常在0.05~0.20之間取值。
上式中,表示本次迭代的全局最優,表示上一次迭代尋得的全局最優,表示本次迭代全部尋優粒子最優值的平均值:
本文采用的非線性遞減策略如下式所示:
表1為NLDPSO算法流程。
2 仿真研究
本節將NLDPSO算法用于不同標準測試函數的尋優中,驗證該算法的尋優性能。
2.1 參數設置
仿真選擇2個典型測試函數,見表2。S為單模態函數;G具有大量的局部最優值、尋優空間較廣,常被稱為不易尋得全局最優的病態多模態函數。
本文實驗平臺為MATLAB2010b,PC機內存為4GB,CPU速度為2 GHz。參數設置:粒子規模100,c1=c2=2,ws=0.5,wa=0.1,we=0.3,最大迭代次數=1000,維數D=2,3,10。
2.2 數值仿真
采用PSO和NLDPSO對表2中3個函數在D=2,3,10下進行30次仿真,求均值和方差,結果見表3。
當D=10時,經過30次測試,S函數平均迭代曲線見圖1,G函數平均迭代曲線見圖2(維數為2維和3維時迭代曲線與10維呈現相似趨勢,故只列舉10維的情形)。
表3表明,相同設置下,NLDPSO算法在兩種函數的尋優中,均值和方差明顯優于PSO算法,即NLDPSO算法的精確性、穩定性優于標準粒子群優化算法。且從圖1、圖2可知,基于NLDPSO的尋優算法收斂速度明顯優于基于PSO的尋優算法。
綜上,不同函數尋優結果從精確性、穩定性、快速性驗證了本文提出的NLDPSO算法的改進效果。
3 結語
本文提出了一種基于非線性自適應策略更新慣性權重系數的改進PSO算法。通過對標準PSO參數進行改進,在迭代初期,粒子在全局范圍內進行粗尋優,側重于提高算法收斂速度;隨著迭代進行,尋優粒子趨向于精尋優,側重于提高算法精度。實驗部分設置了3個典型函數數值尋優,結果表明本文算法在精確性、穩定性和快速性方面均表現出更好的配準結果。下一步可將NLDPSO算法用于一些實時優化問題中。
參考文獻
[1] Eberhart R C, Kennedy J.A new optimizer using particle swarm theory [J]. Institute of Electrical and Electronics Engineers, 1995(10):39-43.
[2] Shi Y H, Ebethart R.C. A Modified Particle Swarm Optimization[A]. Anehorage,Alaska:1998 IEEE International Conference on Evolutionary Computation[C].1998.
[3] 楊永建,樊曉光.基于改進PSO算法的傳感器網絡覆蓋優化[J].系統工程與電子技術,2017(2):135-136.endprint