摘 要: 為了提高入侵性雜草優(yōu)化算法(IWO)在搜索深度上的不足,使算法在處理連續(xù)性問題時(shí)具有更好的全局收斂性,根據(jù)雜草算法在搜索上的廣度和粒子群算法(PSO)在搜索上的深度,提出了一種改進(jìn)的IWOPSO混合算法。該算法在子代擴(kuò)散中以PSO算法中的位置、速度公式代替了雜草算法中的正態(tài)分布方式,引入一個隨機(jī)數(shù)對新的子代個體進(jìn)一步正態(tài)分布,提高了算法后期的局部搜索能力,使算法收斂到更好的全局最優(yōu)解。利用5個benchmark函數(shù)測試算法的尋優(yōu)能力,仿真結(jié)果表明,無論對于多峰還是單峰函數(shù),低維還是高維函數(shù),IWOPSO算法的收斂速度和最優(yōu)解都要優(yōu)于標(biāo)準(zhǔn)IWO和PSO算法。
關(guān)鍵詞: 入侵性雜草優(yōu)化;混合;正態(tài)分布;全局優(yōu)化
0 引言
入侵雜草優(yōu)化算法[1]是伊朗德黑蘭大學(xué)的MEHRABIAN A R和LUCAS C在2006年首次提出的。該算法自適應(yīng)性強(qiáng)、魯棒性強(qiáng),算法參數(shù)相對較少,比較容易實(shí)現(xiàn)。近年來,它已成功應(yīng)用在求解TSP問題[2]、0/1背包問題[3]等眾多領(lǐng)域之中。
針對基本的IWO算法存在易陷入局部極小點(diǎn)的不足,2009年HAJIMIRSADEGHI H等人將IWO和PSO兩算法混合[4],對雜草的種子進(jìn)行速度和位移的更新,再進(jìn)行正態(tài)分布,加快了算法收斂速度,并改善了算法的全局優(yōu)化能力;2012年賈盼龍等人提出一種NIWO算法[5],對種群個體分類,利用自適應(yīng)小生境策略,改善了種群的多樣性,提高了算法的全局優(yōu)化性能;2013年劉彩霞等人提出了雙種群雜草算法[6],采用雙變異算子策略,將種群劃分為兩個獨(dú)立進(jìn)化的子群,采用柯西變異和高斯變異兩種方式產(chǎn)生子代個體,這種變異機(jī)制使得算法更易避開函數(shù)的局部最優(yōu)點(diǎn),最終提高了算法的性能。
本文提出一種混合的IWOPSO算法,對父代雜草產(chǎn)生的種子個體引入粒子群算法中的位置、速度公式,對種子個體進(jìn)行位置和速度更新,得到新的種子個體,然后引入一個隨機(jī)數(shù),對新的種子個體進(jìn)行IWO中的正態(tài)分布擴(kuò)散,以改善種子個體質(zhì)量,提高算法迭代后期的局部尋優(yōu)能力。利用5個不同維數(shù)的benchmark函數(shù)測試,結(jié)果表明本文算法有效,收斂精度和速度有較大提高。
1 IWO算法
基本IWO算法具體實(shí)現(xiàn)步驟[7]如下:
?。?)初始化種群,根據(jù)實(shí)際問題初始化算法的各個參數(shù)。
?。?)根據(jù)初始種群大小、初始搜索空間和問題的求解維數(shù)隨機(jī)產(chǎn)生初始解。
?。?)進(jìn)化代數(shù)的更新及子代個體正態(tài)分布標(biāo)準(zhǔn)差的計(jì)算。其計(jì)算公式為:
其中,iter為當(dāng)前迭代次數(shù)。
?。?)子代的生長繁殖。父代個體允許繁殖種子個數(shù)與其適應(yīng)度值服從向下取整的線性關(guān)系,如圖1所示。
?。?)判斷是否達(dá)到最大種群數(shù)量,當(dāng)超過最大種群數(shù)量時(shí),競爭排除;反之,重復(fù)步驟(4)。
?。?)判斷是否達(dá)到最大迭代次數(shù),當(dāng)達(dá)到時(shí)輸出最優(yōu)解,反之重復(fù)步驟(4)~(5)。圖2為基本IWO算法流程圖。
2 IWOPSO算法
在IWOPSO算法中,對種子個體引入PSO[8]中的速度公式(3)和位置公式(4)對種子個體的速度和位置進(jìn)行更新,得到新的種子個體,然后,利用式(5)對種子個體進(jìn)行正態(tài)分布,提高種子個體的質(zhì)量,以獲得更高的尋優(yōu)精度。慣性權(quán)重更新公式為:
w(iter)=wmax-(wmax-wmin)*iter/itermax(2)
其中,iter為當(dāng)前迭代次數(shù),itermax為最大迭代次數(shù),wmax為最大慣性權(quán)重,wmin為最小慣性權(quán)重。
vi(t+1)=wi(t)+c1*r1*(pi(t)-xi(t))+c2*r2*(pg(t)-xi(t))(3)
其中,w為慣性權(quán)重,c1、c2為學(xué)習(xí)因子,r1、r2為隨機(jī)數(shù),pi(t)為個體極值,pg(t)為群體極值。
xi(t+1)=xi(t)+vi(t+1)(4)
xnew=rand()*normrnd(xl(i,:),delta_iter)(5)
其中,xnew為正態(tài)分布后的種子個體,xl(i,:)為經(jīng)過位置和速度更新后的種子個體,delta_iter為正態(tài)分布標(biāo)準(zhǔn)差。
3 仿真結(jié)果與分析
3.1 測試函數(shù)
各種測試函數(shù)如表1所示。其中:f1、f2、f3是單峰函數(shù),f4、f5是多峰函數(shù)。
3.2 參數(shù)設(shè)定
IWOPSO算法中參數(shù)取值如表2所示。
3.3 仿真結(jié)果
對于每個benchmark函數(shù),每次最大迭代次數(shù)為600,獨(dú)立運(yùn)行50次,兩種算法測試結(jié)果如表3所示。圖3、圖4分別是f4、f5函數(shù)的收斂曲線。
3.4 仿真結(jié)果分析
從表3可以看出,對于5個benchmark函數(shù),無論函數(shù)是單峰的還是多峰的,IWOPSO算法的平均最優(yōu)解幾乎均小于標(biāo)準(zhǔn)的IWO算法,而且其標(biāo)準(zhǔn)差也顯著減小,這表明,將IWO和PSO算法混合后較大提高了IWO的全局收斂性,說明改進(jìn)后的算法IWOPSO可行有效。
從圖3、圖4可以看出,在迭代過程中,IWOPSO算法相對于IWO和PSO算法收斂速度有明顯的提高。
4 結(jié)論
本文針對入侵性雜草優(yōu)化算法(IWO)在搜索深度上的不足,將粒子群算法(PSO)的思想引入到IWO算法中,在子代擴(kuò)散中以PSO算法中的位置、速度公式代替了雜草算法中的正態(tài)分布擴(kuò)散,而雜草算法中的正態(tài)分布擴(kuò)散用于對子代個體進(jìn)一步正態(tài)分布,提高算法后期的局部尋優(yōu)能力,加強(qiáng)了算法的全局收斂性能,使算法在處理連續(xù)性問題時(shí)具有更高的求解精度和穩(wěn)定性,提高了算法的有效性。
參考文獻(xià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].振動、測試與診斷,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.