崔新于+田梓君
摘 要:針對粒子群優(yōu)化算法的早熟問題,在線性遞減權值的粒子群優(yōu)化算法的基礎上,提出了一種增強粒子多樣性的粒子群算法,有效減少了粒子的無效迭代。實驗結果表明,該算法具有較高的收斂精度,能有效避免早熟收斂問題。
關鍵詞:粒子群優(yōu)化算法;線性遞減權值;平均值;早熟收斂;全局優(yōu)化
粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)[1]自1995年提出以來,得到了廣泛關注和應用?;玖W尤核惴ㄈ菀紫萑刖植孔顑?yōu)[2],尋優(yōu)性能差。相關學者已經提出了很多的改進方法,第一類改進是引入慣性權值w并使其線性遞減的PSO(線性遞減權值PSO)[3-4];第二類改進是粒子群優(yōu)化算法與其他算法相結合。仍然無法解決早熟問題。
本文在線性權值遞減的基礎上提出了一種新的改進方法,使得粒子群優(yōu)化算法的尋優(yōu)性能得以提高。在線性遞減的基礎上,加入判斷早熟停滯的方法,一旦粒子群優(yōu)化算法陷入局部最優(yōu),便將之前的尋優(yōu)結果相加求平均值作為當前的粒子,再繼續(xù)進行尋優(yōu)。試驗結果表明文章算法在很大程度上提高了粒子群優(yōu)化算法的尋優(yōu)性能。
1 相關問題描述
線性遞減權值的PSO算法公式如下:
其中;表示粒子i第k次迭代的速度矢量的第d維分量;表示粒子i第k次迭代的位置矢量的第d維分量;c1、c2是學習因子,通常c1=2,c2=2;r1、r2是分布于[0,1]范圍內的隨機數, wmax表示慣性權值的最大值,wmin表示慣性權值的最小值,kmax表示最大迭代次數。算法在運行過程中,粒子的個體最優(yōu)值和粒子群的全局最優(yōu)值都不斷更新,算法結束時,輸出全局最優(yōu)值gbest。
在本文算法中,如果當前粒子的位置存在與之前粒子相同的現(xiàn)象,則可以認為當前粒子的迭代為無效迭代,按照式(4)改變當前粒子的位置以增強粒子的多樣性,繼續(xù)尋優(yōu)。
(4)
2 仿真實驗
本文實驗采用4個適應度函數測試算法的尋優(yōu)性能,并同基本PSO[1]、線性遞減權值PSO[3-4]和自適應權值PSO[5]進行比較。測試函數的理論最優(yōu)值均為0。在進行線性遞減權值PSO和本文算法的仿真過程中wmax=0.9,wmin=0.4;在進行自適應權值PSO的仿真過程中wmax=0.9,wmin=0.4,τ∈40。本文選取4個適應度函數進行測試算法性能。仿真圖形對比如圖1—4所示。
由仿真圖形可知:本文算法具有更高的收斂精度。
3 結語
本文算法有效增加了粒子的有效迭代次數,具有更好的尋優(yōu)性能,不僅有較好的最優(yōu)極值,同時粒子迭代后期在一定程度上改善了粒子陷入最優(yōu)極值的問題,使得算法具有更高的精度。
[參考文獻]
[1]KENNEDY J,EBWEHART R. Particle swarm optimization[C].Honolulu:IEEE International Coference on Neural Networks,2002(8):1942-1948.
[2]ANGELINE P J. Evolutionary optimization versus particle swarm optimization: philosophy and performance differences[C]. London:In Proceedings of the Seventh Annual Coference on Evolutionary Programming, 1998:601-610.
[3]SHI Y,EBERHART RC. Parameter selection in particle swarm optimization[C].Berlin: International Conference on Evolutionary Programming V II,1998(25):591-600.
[4]SHI Y,EBERHART RC. Empirical study of particle swarm optimization[C]. Berlin:IEEE Congress on Evolution Computation,1999:1945-1950.
[5]安曉會,高岳林.混合變異算子的自適應粒子群優(yōu)化算法[J].計算機應用,2008(6):28-30.