【摘 要】針對(duì)粒子群算法容易陷入局部最優(yōu)解且收斂速度慢等特點(diǎn),本文引入了遺傳算法,將兩種算法相結(jié)合,提出了一種新的粒子群遺傳混合優(yōu)化算法,提高了粒子群的多樣性,使得粒子群在整個(gè)迭代過(guò)程中能保持進(jìn)一步優(yōu)化的能力,并提高迭代求解的收斂速度。通過(guò)對(duì)三個(gè)典型多峰值函數(shù)的優(yōu)化來(lái)評(píng)估算法性能,實(shí)驗(yàn)結(jié)果表明,該算法能很好的保持種群的多樣性和克服早熟現(xiàn)象,顯著提高算法的收斂速度。
【關(guān)鍵詞】粒子群算法;遺傳算法;混合算法
一、緒論
粒子群優(yōu)化算法PSO(Particle Swarm Optimization)是由Eberhart博士和Kennedy博士發(fā)明的一種新的全局優(yōu)化進(jìn)化算法,它源于對(duì)鳥類捕食行為的模擬[1-2]。作為一種重要的優(yōu)化工具,粒子群優(yōu)化算法已經(jīng)成功用于函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模式分類、模糊系統(tǒng)控制等領(lǐng)域。PSO算法最大的特點(diǎn)是對(duì)函數(shù)的優(yōu)化顯示了較高的效率,但算法的后期卻易于陷入局部最優(yōu)點(diǎn),尤其是在比較復(fù)雜的多峰搜索問(wèn)題中。
遺傳算法GA(Genetic Algorithm),是1975年由美國(guó)的Holland 提出的模仿生物進(jìn)化過(guò)程的優(yōu)化算法,它的主要思想是基于C.R.Darwin的生物進(jìn)化論與G.Mendel的遺傳學(xué)。GA結(jié)合了Darwin適者生存和隨機(jī)交換論,前者消除了解中的不適應(yīng)因素,后者利用了原有解中的已有知識(shí),從而有利于加速搜索過(guò)程[9]。
本文提出了一種新型的混合算法,把兩種各自有改進(jìn)的算法有機(jī)地結(jié)合在一起,使得新算法在具備了原有算法優(yōu)勢(shì)的基礎(chǔ)上獲得了更好的尋優(yōu)性能及尋優(yōu)穩(wěn)定性。同時(shí),由于遺傳算法的選擇、交叉、變異過(guò)程的引入,新算法擺脫了易陷入局部極值點(diǎn)的束縛。
二、粒子群算法
PSO算法主要計(jì)算步驟
(一)初始化,設(shè)定加速常數(shù)c1和c2,最大進(jìn)化代數(shù)Tmax,將當(dāng)前進(jìn)化代數(shù)置為t=1,在定義空間Rn中隨機(jī)產(chǎn)生m個(gè)粒子xl,x2,...,xm,組成初始種群x(t);隨機(jī)產(chǎn)生各粒子初始位移變化v1,v2,...,vs,組成位移變化矩陣V(t),
(二)評(píng)價(jià)種群X(t),計(jì)算每個(gè)粒子在每一維空間的適應(yīng)值,
(三)比較粒子的適應(yīng)值和自身最優(yōu)值pbest。如果當(dāng)前值比pbest更優(yōu),則置pbest為當(dāng)前值,并設(shè)pbest位置為n維空間中的當(dāng)前位置。
(四)比較粒子適應(yīng)值與種群最優(yōu)值。如果當(dāng)前值比gbest更優(yōu),則置gbest為當(dāng)前粒子的矩陣下標(biāo)和適應(yīng)值,
(五)按式(1)和(2)更新粒子的位移方向和步長(zhǎng),產(chǎn)生新種群X(t+1),
(六)檢查結(jié)束條件,若滿足,則結(jié)束尋優(yōu);否則,t=t+1,轉(zhuǎn)至(2)。結(jié)束條件為尋優(yōu)達(dá)到最大進(jìn)化代數(shù)Tmax,或評(píng)價(jià)值小于給定精度。
三、遺傳算法
GA的算法流程
(一)選擇適當(dāng)?shù)木幋a方式,產(chǎn)生初始群體,群體的個(gè)體數(shù)目一定,個(gè)體表示為染色體的基因編碼;
(二)選擇合適的適應(yīng)度函數(shù),計(jì)算群體中各個(gè)體的適應(yīng)度并評(píng)價(jià);
(三)進(jìn)行選擇、交叉、變異過(guò)程;
(四)終止條件判斷。若滿足終止條件,則輸出進(jìn)化過(guò)程中得到的具有最大適應(yīng)度的個(gè)體,作為最優(yōu)解,終止運(yùn)算;否則,迭代執(zhí)行1-2步。
四、混合算法
混合算法的步驟:
(一)對(duì)于一個(gè)待尋優(yōu)的大樣本集Y,把它們分為兩組Y1、Y2。
(二)Y1組進(jìn)行采用慣性權(quán)重法的改進(jìn)粒子群算法并初始化;Y2組進(jìn)行融合遺傳算子的改進(jìn)粒子群算法并初始化
(三)比較兩種算法得到的適應(yīng)值(假設(shè)尋找最小值),找到全局最優(yōu)點(diǎn)。
(四)進(jìn)行迭代循環(huán)。兩種改進(jìn)算法各計(jì)算一次,對(duì)兩種算法得到的適應(yīng)度進(jìn)行比較,得到全局最優(yōu)值gbestvalue。若滿足精度條件,算法結(jié)束;若不滿足,循環(huán)(3)、(4),知道達(dá)到最大迭代次數(shù)。
混合算法中,通過(guò)調(diào)整任意一種算法的參數(shù),或者采用改進(jìn)算法提高粒子群算法或遺傳算法的性能,都會(huì)使混合算法的性能得到進(jìn)一步提高。根據(jù)粒子群算法的特點(diǎn)可選取較少的點(diǎn),這樣可以提高混合算法的運(yùn)算速度,也不會(huì)影響算法的性能。
五、實(shí)驗(yàn)仿真及結(jié)果
分別用Sphere函數(shù)、Griewank函數(shù)以及Rastrigin函數(shù)三個(gè)函數(shù)來(lái)測(cè)試新算法的性能 ,同時(shí)與粒子群算法和遺傳算法相比較。
六、結(jié)論
算法增強(qiáng)了群體粒子的優(yōu)良特性,跳出了局部最優(yōu),同時(shí)加快了收斂速度,通過(guò)部分粒子的重新隨機(jī)初始變異,增強(qiáng)了粒子群體的尋優(yōu)探索能力,減少了出現(xiàn)局部搜索停頓。測(cè)試函數(shù)實(shí)驗(yàn)表明,新算法具有較強(qiáng)的全局搜索能力,而且能有效避免常規(guī)算法的早熟收斂問(wèn)題,顯著提高了優(yōu)化性能。
參考文獻(xiàn):
[1]Kennedy J,Eberhart R C. Particle swarm optimization[C]//Proc IEEE International Conference on Neural Networks, IV,Perth,
Australia, 1995: 1942-1948.
[2]Brandstaller B,Baumgartner U. Particle swarm optimization spring system analogon[J].IEEE Trans on Magnetics, 2002, 38(2): 997-1000.
作者簡(jiǎn)介:沈亮,男,碩士研究生,主要研究方向:智能控制算法。