【摘 要】針對(duì)微粒群算法在尋優(yōu)后期出現(xiàn)早熟收斂、收斂速度慢的不足,在慣性權(quán)重中引入自適應(yīng)機(jī)制以平衡算法的全局和局部收斂能力;在位置迭代公式中引入飛行時(shí)間策略,以減少粒子在最優(yōu)解附近 “振蕩”來(lái)提高算法收斂速度。最后將非線性共軛梯度算法尋優(yōu)思想融合到微粒群算法中以提高算法的收斂精度,函數(shù)測(cè)試結(jié)果表明,基于非線性共軛梯度法的自適應(yīng)微粒群算法提高了收斂速度和精度。
【關(guān)鍵詞】微粒群算法 非線性共軛梯度算法 函數(shù)優(yōu)化
一、微粒群算法
微粒群算法(PSO) [1]是對(duì)鳥(niǎo)群覓食行為模擬而得到的,主要通過(guò)粒子間的競(jìng)爭(zhēng)與協(xié)作來(lái)實(shí)現(xiàn)對(duì)最優(yōu)化問(wèn)題的求解。該算法具有易實(shí)現(xiàn)、需調(diào)控參數(shù)少等優(yōu)點(diǎn)。在函數(shù)優(yōu)化、智能控制領(lǐng)域有著廣泛應(yīng)用。其數(shù)學(xué)模型描述如下:
上式中,是慣性權(quán)重;和是隨機(jī)數(shù),其取值范圍是;和是個(gè)體和群體的加速權(quán)值;粒子運(yùn)行速度在之間、位置在之間。從式(1)和(2)看出:當(dāng)時(shí),,粒子停止尋優(yōu),算法陷入局部極值就出現(xiàn)了早熟收斂現(xiàn)象。式中慣性權(quán)重不變,不能平衡好算法的局部與全局收斂能力,因此會(huì)影響算法的收斂能力。
二、微粒群算法的改進(jìn)
針對(duì)算法出現(xiàn)“振蕩”而出現(xiàn)收斂速度慢,在算法的慣性權(quán)重中引入自適應(yīng)機(jī)制并對(duì)位置迭代公式進(jìn)行改進(jìn):
針對(duì)算法出現(xiàn)早熟收斂的現(xiàn)象,本文將非線性共軛梯度法[2]的求解思想引入到微粒群算法中即在Ptgd點(diǎn)附近進(jìn)行超高精度尋優(yōu)。充分利用非線性共軛梯度法收斂快、穩(wěn)定性好和占空間不大的優(yōu)點(diǎn)。該算法先依照給定點(diǎn)處的梯度生成一組共軛方向,再沿著該方向來(lái)搜索便可找到最優(yōu)解。
基于非線性共軛梯度法的自適應(yīng)微粒群算法(NCGPSO)算法步驟:
Step 1 算法的參數(shù)初始化;
Step 2 計(jì)算粒子個(gè)體的函數(shù)適應(yīng)度值,根據(jù)(4)、(5)以找到當(dāng)前狀態(tài)下的全局最優(yōu)值;
Step 3 在全局最優(yōu)值點(diǎn)附近按以下步驟進(jìn)行非線性共軛梯度法尋優(yōu),
(1) 生成初始的搜索方向,設(shè),計(jì)算,k=0.
(2) 根據(jù)進(jìn)行相應(yīng)的一維搜索,求出與
(3)判斷,是則令,轉(zhuǎn)(2);否則轉(zhuǎn)到(4)
(4)判斷算法是否達(dá)到算法最大的迭代次數(shù),若達(dá)到算法的最大迭代次數(shù)則轉(zhuǎn)step4,否則令,,k=k+1,然后轉(zhuǎn)到(2)繼續(xù)尋優(yōu)。
Step 4 判斷算法是否達(dá)到算法的總迭代次數(shù),是則停止搜索,否則轉(zhuǎn)Step2。
三、測(cè)試函數(shù)
為驗(yàn)證本文算法的性能,對(duì)兩個(gè)經(jīng)典的測(cè)試函數(shù)測(cè)試。
四、測(cè)試結(jié)果
每個(gè)函數(shù)迭代200次,優(yōu)化結(jié)果取平均值。函數(shù)F1和F2以平均值作為優(yōu)化結(jié)果。
五、結(jié)論
對(duì)基本微粒群算法的迭代公式進(jìn)行改進(jìn),提高算法收斂速度,當(dāng)算法尋優(yōu)后期出現(xiàn)早熟收斂,利用非線性共軛梯度法的精確尋優(yōu),從而提高算法的收斂精度。
參考文獻(xiàn):
[1]Kennedy J,Eberhart R.C. Particle Swarm Optimization. In: Pro.IEEE Int’1. Conf. on Neurral Networks,IV.Piscataway[J],NJ:IEEE Service Center,1995, 1992-1948.
[2]吳敏,丁雷,曹衛(wèi)華等.一種克服粒子群早熟的混合優(yōu)化算法[J].控制與決策,2008,23(5):511-514,519.
[3]吳華麗,吳進(jìn)華,汪秀莉.基于動(dòng)態(tài)改變慣性權(quán)值的粒子群算法.理論與方法,2008,27(10):6-8