陶 玲,高曉智
(1.上海海事大學(xué) 信息工程學(xué)院,上海 201306;2.芬蘭阿爾托大學(xué),芬蘭 赫爾辛基 00076)
入侵雜草優(yōu)化算法[1]是伊朗德黑蘭大學(xué)的MEHRABIAN A R和LUCAS C在2006年首次提出的。該算法自適應(yīng)性強(qiáng)、魯棒性強(qiáng),算法參數(shù)相對(duì)較少,比較容易實(shí)現(xiàn)。近年來,它已成功應(yīng)用在求解TSP問題[2]、0/1背包問題[3]等眾多領(lǐng)域之中。
針對(duì)基本的IWO算法存在易陷入局部極小點(diǎn)的不足,2009年HAJIMIRSADEGHI H等人將IWO和PSO兩算法混合[4],對(duì)雜草的種子進(jìn)行速度和位移的更新,再進(jìn)行正態(tài)分布,加快了算法收斂速度,并改善了算法的全局優(yōu)化能力;2012年賈盼龍等人提出一種NIWO算法[5],對(duì)種群個(gè)體分類,利用自適應(yīng)小生境策略,改善了種群的多樣性,提高了算法的全局優(yōu)化性能;2013年劉彩霞等人提出了雙種群雜草算法[6],采用雙變異算子策略,將種群劃分為兩個(gè)獨(dú)立進(jìn)化的子群,采用柯西變異和高斯變異兩種方式產(chǎn)生子代個(gè)體,這種變異機(jī)制使得算法更易避開函數(shù)的局部最優(yōu)點(diǎn),最終提高了算法的性能。
本文提出一種混合的IWOPSO算法,對(duì)父代雜草產(chǎn)生的種子個(gè)體引入粒子群算法中的位置、速度公式,對(duì)種子個(gè)體進(jìn)行位置和速度更新,得到新的種子個(gè)體,然后引入一個(gè)隨機(jī)數(shù),對(duì)新的種子個(gè)體進(jìn)行IWO中的正態(tài)分布擴(kuò)散,以改善種子個(gè)體質(zhì)量,提高算法迭代后期的局部尋優(yōu)能力。利用5個(gè)不同維數(shù)的benchmark函數(shù)測(cè)試,結(jié)果表明本文算法有效,收斂精度和速度有較大提高。
基本IWO算法具體實(shí)現(xiàn)步驟[7]如下:
(1)初始化種群,根據(jù)實(shí)際問題初始化算法的各個(gè)參數(shù)。
(2)根據(jù)初始種群大小、初始搜索空間和問題的求解維數(shù)隨機(jī)產(chǎn)生初始解。
(3)進(jìn)化代數(shù)的更新及子代個(gè)體正態(tài)分布標(biāo)準(zhǔn)差的計(jì)算。其計(jì)算公式為:
其中,iter為當(dāng)前迭代次數(shù)。
(4)子代的生長繁殖。父代個(gè)體允許繁殖種子個(gè)數(shù)與其適應(yīng)度值服從向下取整的線性關(guān)系,如圖1所示。
圖1 父代個(gè)體繁殖種子的方式
(5)判斷是否達(dá)到最大種群數(shù)量,當(dāng)超過最大種群數(shù)量時(shí),競(jìng)爭(zhēng)排除;反之,重復(fù)步驟(4)。
(6)判斷是否達(dá)到最大迭代次數(shù),當(dāng)達(dá)到時(shí)輸出最優(yōu)解,反之重復(fù)步驟(4)~(5)。圖2為基本IWO算法流程圖。
圖2 IWO算法流程圖
在IWOPSO算法中,對(duì)種子個(gè)體引入PSO[8]中的速度公式(3)和位置公式(4)對(duì)種子個(gè)體的速度和位置進(jìn)行更新,得到新的種子個(gè)體,然后,利用式(5)對(duì)種子個(gè)體進(jìn)行正態(tài)分布,提高種子個(gè)體的質(zhì)量,以獲得更高的尋優(yōu)精度。慣性權(quán)重更新公式為:
其中,iter為當(dāng)前迭代次數(shù),itermax為最大迭代次數(shù),wmax為最大慣性權(quán)重,wmin為最小慣性權(quán)重。
其中,w為慣性權(quán)重,c1、c2為學(xué)習(xí)因子,r1、r2為隨機(jī)數(shù),pi(t)為個(gè)體極值,pg(t)為群體極值。
其中,xnew為正態(tài)分布后的種子個(gè)體,xl(i,:)為經(jīng)過位置和速度更新后的種子個(gè)體,delta_iter為正態(tài)分布標(biāo)準(zhǔn)差。
各種測(cè)試函數(shù)如表1所示。其中:f1、f2、f3是單峰函數(shù),f4、f5是多峰函數(shù)。
表1 benchmark函數(shù)
IWOPSO算法中參數(shù)取值如表2所示。
表2 IWOPSO算法參數(shù)設(shè)置
對(duì)于每個(gè)benchmark函數(shù),每次最大迭代次數(shù)為600,獨(dú)立運(yùn)行50次,兩種算法測(cè)試結(jié)果如表3所示。圖3、圖4分別是f4、f5函數(shù)的收斂曲線。
表3 benchmark函數(shù)測(cè)試結(jié)果
圖3 函數(shù)f4迭代1 200代的收斂曲線
圖4 函數(shù)f5迭代600代的收斂曲線
從表3可以看出,對(duì)于5個(gè)benchmark函數(shù),無論函數(shù)是單峰的還是多峰的,IWOPSO算法的平均最優(yōu)解幾乎均小于標(biāo)準(zhǔn)的IWO算法,而且其標(biāo)準(zhǔn)差也顯著減小,這表明,將IWO和PSO算法混合后較大提高了IWO的全局收斂性,說明改進(jìn)后的算法IWOPSO可行有效。
從圖3、圖4可以看出,在迭代過程中,IWOPSO算法相對(duì)于IWO和PSO算法收斂速度有明顯的提高。
本文針對(duì)入侵性雜草優(yōu)化算法 (IWO)在搜索深度上的不足,將粒子群算法(PSO)的思想引入到IWO算法中,在子代擴(kuò)散中以PSO算法中的位置、速度公式代替了雜草算法中的正態(tài)分布擴(kuò)散,而雜草算法中的正態(tài)分布擴(kuò)散用于對(duì)子代個(gè)體進(jìn)一步正態(tài)分布,提高算法后期的局部尋優(yōu)能力,加強(qiáng)了算法的全局收斂性能,使算法在處理連續(xù)性問題時(shí)具有更高的求解精度和穩(wěn)定性,提高了算法的有效性。
[1]MEHRABIAN A R,LUCAS C.A novel numerical optimization algorithm inspired from weed colonization[J].Ecological Informatics,2006,1(4):355-366.
[2]彭斌,胡常安,邵兵,等.求解TSP問題的混合雜草優(yōu)化算法[J].振動(dòng)、測(cè)試與診斷,2013,33(1):52-55.
[3]宋曉萍,胡常安.離散雜草優(yōu)化算法在0/1背包問題中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(30):239-242.
[4]HAJIMIRSADEGHI H,LUCAS C.A hybrid IWO/PSO algorithm for fast and global optimization[C].IEEE Congress on Evolutionary Computation,Stpetersburg:IEEE,2009:1964-1971.
[5]賈盼龍,田學(xué)民.基于自適應(yīng)小生境的改進(jìn)入侵性雜草優(yōu)化算法[J].上海電機(jī)學(xué)院學(xué)報(bào),2012,15(4):225-230.
[6]劉彩霞,周暉,周伏秋.基于雙種群入侵性雜草算法的服務(wù)型城市綜合資源規(guī)劃[J].電力系統(tǒng)保護(hù)與控制,2013,41(19):67-74.
[7]張帥,王營冠,夏凌楠.離散二進(jìn)制入侵雜草算法[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,39(10):55-60.
[8]劉曉峰,陳通.PSO算法的收斂性及參數(shù)選擇研究[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(9):14-17.