《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于蝙蝠算法的改進雜草算法研究
基于蝙蝠算法的改進雜草算法研究
2015年微型機與應(yīng)用第3期
劉元苗1,高曉智1,2
(1.上海海事大學(xué) 信息工程學(xué)院,上海 201306; 2.阿爾托大學(xué) 自動化與系統(tǒng)技術(shù)系,芬蘭 赫爾辛基 FI-00076)
摘要: 提出了一種新型的混合算法并命名為混合雜草蝙蝠算法(Hybridize Invasive Weed Optimization with Bat Algorithm,IWOBA),該算法在雜草算法的基礎(chǔ)上利用蝙蝠算法的回聲定位來解決每代種子逐步尋優(yōu)的問題。其原理是利用種群速度和位置的不斷更新,增加種群的多樣性,從而達到提高種群的全局收斂性。最后利用6個測試函數(shù)對該算法和標準雜草算法進行測試比較。仿真結(jié)果表明,IWOBA能夠有效克服原算法早熟、易陷入局部最優(yōu)的缺點,可加快算法收斂速度,具有良好的魯棒性。
關(guān)鍵詞: 雜草算法 蝙蝠算法 回聲定位
Abstract:
Key words :

  摘  要: 提出了一種新型的混合算法并命名為混合雜草蝙蝠算法(Hybridize Invasive Weed Optimization with Bat Algorithm,IWOBA),該算法在雜草算法的基礎(chǔ)上利用蝙蝠算法的回聲定位來解決每代種子逐步尋優(yōu)的問題。其原理是利用種群速度和位置的不斷更新,增加種群的多樣性,從而達到提高種群的全局收斂性。最后利用6個測試函數(shù)對該算法和標準雜草算法進行測試比較。仿真結(jié)果表明,IWOBA能夠有效克服原算法早熟、易陷入局部最優(yōu)的缺點,可加快算法收斂速度,具有良好的魯棒性。

  關(guān)鍵詞: 雜草算法;蝙蝠算法;回聲定位

0 引言

  入侵雜草算法(Invasive Weed Optimization,IWO)是由德黑蘭大學(xué)的Mehrabian等在2006年提出來的,它是一種模擬自然界雜草入侵的新型的數(shù)值優(yōu)化算法。該算法具有很強的魯棒性和適應(yīng)性,并且具有易于理解及實現(xiàn)等特點。近幾年來,在很多學(xué)者的研究下,雜草算法已經(jīng)成功應(yīng)用到圖像聚類、工程約束設(shè)計以及DNA編碼等眾多領(lǐng)域中[1-2]。

  與其他智能算法相比較,標準雜草算法本身存在易于陷入局部最優(yōu)解和收斂精度不高的不足,這些不足都影響著算法的尋優(yōu)效果。因此,Hajimirsadeghi和Lucas提出了一種IWO和PSO融合的算法[3],利用位置和速度的更新,使得算法避免了局部最優(yōu)解;Zhang Xuncai等人在標準IWO算法中引入了交叉算子,避免算法早熟,提高了全局最優(yōu)解[4];張玉等人將遺傳算法中的選擇機制加入到標準IWO算法中,從而提高算法的多樣性[5]。

  而本文是將蝙蝠算法中的回聲定位原理應(yīng)用到雜草算法中。通過回聲定位的特性,對種子個體的位置和速度進行不斷地更新,使其避免出現(xiàn)早熟和陷入局部最優(yōu)解的情況。且改進后的算法有更高的收斂精度。為了驗證改進后算法的有效性,本文通過6個常用的標準測試函數(shù)進行仿真實驗。

1 算法介紹

  1.1 標準雜草優(yōu)化算法

  在雜草優(yōu)化中,雜草通過繁殖產(chǎn)生種子,種子經(jīng)過空間的擴散、生長和競爭排除,從而得到適應(yīng)度較高的個體。其過程如下[6]:

 ?。?)初始化種群和參數(shù):在D維數(shù)下產(chǎn)生N個可行解。

 ?。?)種群的生長繁殖:適應(yīng)度高的雜草會產(chǎn)生更多的子代,適應(yīng)度小的會慢慢消失。其計算公式:

  1.png

  式中,f是當(dāng)前種群適應(yīng)度;fmax和fmin分別是種群的最大和最小適應(yīng)度;smax和smin分別表示種群的最大規(guī)模和最小規(guī)模。

 ?。?)空間擴散:種群所產(chǎn)生的種子按平均值為0、標準差為δ的正態(tài)分布方式和步長Step∈[-δ,δ]分布在D維空間。在迭代初期標準差δ較大,隨著δ逐漸減小,迭代步長也在逐漸減小。其公式如下:

  2.png

 ?。?)競爭排除:種群經(jīng)過多次繁殖之后,其種群規(guī)模達到最大數(shù)量Pmax時,將種群中的個體根據(jù)適應(yīng)度的大小進行排列,保留適應(yīng)度前Pmax個個體。適應(yīng)度差的個體將被淘汰。

  1.2 蝙蝠算法

  蝙蝠算法是受蝙蝠利用回聲定位來撲捉獵物和蔽障的啟發(fā)所提出的啟元式算法[7]。其原理是蝙蝠通過調(diào)整頻率的大小來不斷更新其位置和速度從而達到撲捉獵物的目的。其速度和位置更新公式為:

  345.png

  式中,?茁∈[0,1]是一個隨機變量,x*是當(dāng)前最佳位置。在波長不變的情況下,fmin=0,fmax=100;開始每只蝙蝠的頻率都是隨機分配的。在進行局部搜索時,每只蝙蝠的最新解都是從現(xiàn)有的解集中選擇的:

  Xnew=Xold+εAt(6)

  其中,ε∈[-1,1]是一個隨機數(shù),A是平均響度;隨著迭代的進行,蝙蝠在捕捉時脈沖所發(fā)的速率和響度也在不斷更新。更新公式為:

  78.png

  其中,?琢和?酌一般都為0.9,隨著迭代的進行,脈沖響度  A趨向于0,脈沖速率r趨向于r;通過脈沖頻率速度和響度的不斷更新,使每個蝙蝠飛向最優(yōu)解。

  1.3 雜草算法與蝙蝠算法的融合算法BAIWO

  利用回聲定位的方法來更新雜草種群中個體的位置和速度[8],具體實施步驟如下:

 ?。?)初始化BAIWO的參數(shù),并隨機產(chǎn)生N0個個體的種群;

 ?。?)計算種群個體的適應(yīng)度函數(shù)值,確定當(dāng)前最優(yōu)值和最優(yōu)解;

  (3)種群個體進行繁殖、生長:

 ?、賹ΨN群中每個種子利用式(3)~式(5)進行位置和速度更新;

 ?、诟鶕?jù)當(dāng)前解集隨機產(chǎn)生一個新解,并對該新解進行約束;

 ?、弁ㄟ^條件(rand<Ai & f(xi)<f(xi))來判斷是否接受該新解,以及是否更新ri和Ai;

  (4)判斷種群是否達到最大規(guī)模,若未達到,轉(zhuǎn)到步驟(3),若達到,則繼續(xù)執(zhí)行;

 ?。?)對種群個體的適應(yīng)度值進行排序,保留前最大規(guī)模數(shù)的個體;

 ?。?)判斷是否達到最大迭代數(shù),若否,轉(zhuǎn)到步驟(3),若是,輸出最優(yōu)值和最優(yōu)解。

  從上述BAIWO算法的描述過程可知,BAIWO算法中的個體并不是在每次迭代過后直接進入下一代繁殖、生長,而是在種群中個體進行位置和速度更新后找出更優(yōu)的個體進行下一代繁殖。這樣,在迭代初期可以使得種群有著更強的全局搜索能力,到達迭代后期時,種群的尋優(yōu)步長在不斷變小,使得其具有更強的局部搜索能力。所以,BAIWO算法是將BA算法和IWO算法的各自優(yōu)點融合起來,使得改進后的算法在初期擁有很好的全局搜索能力,到達后期對局部搜索更精確。從而克服了IWO算法前期陷入局部搜索,以及后期收斂精度不高和速度慢等缺陷[9-10]。

  1.4 BAIWO算法時間復(fù)雜度分析

  根據(jù)上述的BAIWO算法的流程步驟來對該算法進行時間復(fù)雜度分析,設(shè)n為種群個體的數(shù)目,d為目標函數(shù)的維數(shù),T為最大迭代次數(shù)。時間復(fù)雜度如表1所示。

002.jpg

2 BAIWO算法仿真實驗

  2.1 實驗的初始參數(shù)設(shè)置

  該算法的最優(yōu)參數(shù)設(shè)計:初始種群個體M0=30,最大種群個體Max=50,最大種子數(shù)為Smax=5,最小種子數(shù)為Smin=2,調(diào)和指數(shù)n=3,方差最大值和最小值分別為10和0.001,最大響度A=0.25,最大脈沖率R0=0.5,脈沖響度范圍為[0,2],脈沖衰減系數(shù)為0.9;6個不同的測試函數(shù)[11]f1~f6最大迭代次數(shù)分別為500,500,200,500,500,500。函數(shù)參數(shù)如表2所示。

003.jpg

  2.2 測試函數(shù)

  在本實驗中選取了6個標準測試函數(shù)分別對標準雜草算法和改進后雜草算法進行性能測試。

  (1)Sphere函數(shù)

  W)V[YE(14$51GEH1W9@)P@N.png

  上述6個基準測試函數(shù)中,除了f1是單峰函數(shù)以外,其余的都是多峰函數(shù)。圖1和圖2分別是應(yīng)用Rastrigin函數(shù)和Griewank函數(shù)對這兩種算法在不同迭代次數(shù)下測試所得到的收斂曲線。

001.jpg

  2.3 仿真結(jié)果分析

  通過以上函數(shù)優(yōu)化測試曲線可以看出,在迭代初期,BAIWO算法相較于標準IWO算法就具有較好的收斂效果,隨著迭代次數(shù)的增加,到達迭代后期時,BAIWO算法也能得到更好的收斂值。說明改進后的算法提高了標準IWO算法的性能。

004.jpg

  實驗結(jié)果如表3所示,可以看出,無論在單峰還是多峰函數(shù)下,改進后算法結(jié)果都優(yōu)于IWO算法,在求解函數(shù)f1(x)~f6(x)時,改進后的算法都能獲得精確度較高的最優(yōu)值,以及較好的平均值和方差。而IWO算法在求解這6個函數(shù)時,起始值較大,收斂速度很慢,很容易陷入局部最優(yōu)解??傮w而言,改進后的算法能夠獲得與理論值較近的值,以及很好的魯棒性。

3 結(jié)束語

  本文針對雜草算法存在早熟現(xiàn)象和易陷入局部最優(yōu)解等缺點,提出了利用蝙蝠算法中回聲定位原理來對種群個體進行更新。從而使得種群前期擁有很好的全局收斂特性,后期可以使其避免陷入局部最優(yōu)。從仿真結(jié)果看出,BAIWO算法在很大程度上提高了雜草算法的收斂性和尋優(yōu)精度。然而,如何改變IWO算法中種群多樣性來提高它的收斂性是今后要進一步研究的方向。

參考文獻

  [1] 張氫,陳丹丹,秦仙蓉,等.雜草算法收斂性分析及其在工程中的應(yīng)用[J].同濟大學(xué)學(xué)報(自然科學(xué)版),2010,38(11):1689-1693.

  [2] 彭斌,胡常安,趙榮珍.基于混合雜草算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化策略[J].振動,測試與診斷,2013,33(4):634-639.

  [3] HAJIMIRSADEGHI H, LUCAS C.A hybrid IWO/PSO algorithm for fast and global optimization[J]. IEEE EUROCON 2009. Piscataway: IEEE, 2009:1964-1971.

  [4] Zhang Xuncai,Niu Ying, Gui Gangzhao, et al. A modified invasive weed optimization with crossoever operation[C]. The 8th world Congress on Intelligent Control and Automation,2010:11-14.

  [5] 張玉,蔣海榮,胡進,等.基于改進雜草優(yōu)化算法的DFCW參數(shù)估計[J].現(xiàn)代雷達,2013,35(7):20-23.

  [6] 賈盼龍,田學(xué)民.基于自適應(yīng)小生境的改進入侵性雜草優(yōu)化算法[J].上海電機學(xué)院學(xué)報,2012,15(4):225-231.

  [7] Yang Xinshe. Nature-inspired Metaheuristic Algorithms[M]. Beckington: Luniver Press, 2010.

  [8] 李枝勇,馬良,張惠珍.蝙蝠算法收斂性分析[J].數(shù)學(xué)的實踐與認識,2013,43(12):182-191.

  [9] 肖輝輝,段艷明.基于DE算法改進的蝙蝠算法的研究以及應(yīng)用[J].計算機仿真,2014,31(1):272-280.

  [10] 陳歡,周永權(quán).入侵雜草算法的改進分析及研究[D].南寧:廣西民族大學(xué),2013.

  [11] MEHRABIA A R, LUCAS C. A novel numerical optimization algorithm inspired from weed coloniz[J]. Ecological Information, 2006,1(4):355-366.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。