文/尹曉葉
數(shù)百萬年以來,大自然一直在創(chuàng)造無數(shù)的生物系統(tǒng),并幫助他們存在和生存。隨著時間的推移,這些生物特征已經(jīng)被時間證明是如此的高效和穩(wěn)健,以至于它們可以解決當前的很大一部分現(xiàn)實問題。BOA 是一種自然激勵的元啟發(fā)式算法,基于的是蝴蝶覓食方法。蝴蝶是BOA 的搜索主體,以有組織的方式工作,以在空間完成最佳工作解決方案的優(yōu)化搜索。蝴蝶通過利用這些感知受體檢測氣味/氣味資源,來發(fā)現(xiàn)它們的受體食物,它們散落在蝴蝶的身體部位,如掌,觸角,腿部等。這些受體是蝴蝶身體表面的神經(jīng)細胞被稱為化學感受器。在BOA 中,人們認為蝴蝶會產(chǎn)生具有一定功率的香味與蝴蝶的適應性有關(guān),即,當蝴蝶從一個開始移動時區(qū)域然后到下一個區(qū)域,它的適應性將根據(jù)需要而變化。該香味會在分離上蔓延,不同的蝴蝶可以檢測它和它是蝴蝶可以將自己的數(shù)據(jù)傳遞給不同蝴蝶的手段構(gòu)建一個綜合的社會學習系統(tǒng)。此時蝴蝶可以檢測到其他蝴蝶的香味,它會向它移動,這個階段被命名為全局搜索。在另一個情況下,當蝴蝶無法檢測到氣味時,此時它會隨機移動這個階段被命名為本地搜索。
蝴蝶優(yōu)化算法的靈感來自于食物的蝴蝶覓食行為。為了在多維環(huán)境中獲得和定位最優(yōu)解,這是BOA 算法的主要目標。最初是一些隨機的位置用一些常數(shù)參數(shù)分配給環(huán)境中的蝴蝶,實現(xiàn)搜索本地和全局最優(yōu)的目標。傳感的思想取決于這三個簡單參數(shù):刺激強度(I),感覺模態(tài)(c)和冪指數(shù)(a)。這些參數(shù)有助于蝴蝶彼此溝通以獲得最佳效果。傳感器是測量能量形式的模態(tài)參數(shù)。傳感器處理了這種能量傳感器模態(tài),有助于分析特定香水下,多個蝴蝶的運動和香氣的發(fā)出來通過分析香味進行交流,相互結(jié)合,走向更好的蝴蝶與非優(yōu)解區(qū)別開來。
圖1:不同算法的全局最優(yōu)收斂曲線
蝴蝶與香氣相區(qū)別,且具有更多的香氣的蝴蝶具有更大的生存價值,可以吸引更多的蝴蝶在該地區(qū)。參數(shù)a 允許區(qū)域中的粒子響應壓縮。作為粒子的刺激變得更強,粒子在刺激中變得不那么敏感。香氣f 和刺激強度I 是主要香味的配方f。在這個目標函數(shù)給出用目標函數(shù)和f 編碼的I 的值是相對的,由方程式(1)式計算:
BOA 中的感覺模態(tài)c 參數(shù)初始化,蝴蝶可以聞到其他蝴蝶在搜索空間中散發(fā)的香味,并尋找那些散發(fā)出更多香氣的蝴蝶。在傳統(tǒng)的BOA 算法的早期,c 參數(shù)的值是作為常數(shù),而在改進的BOA 中,c 的值隨之變化尊重算法的迭代。由于c 參數(shù)價值增加,提高了算法的性能。同各種基準函數(shù)證明了在執(zhí)行迭代次數(shù)時改變c 參數(shù)的策略,使得搜索性能提高了。在改進的BOA,c 的值由(2)式計算:
其中t 為算法執(zhí)行時的當前迭代次數(shù),MaxGeneration 為算法中迭代次數(shù)的最大值。
為了驗證所提出的ABOA,感覺模態(tài)的價值c 和功率指數(shù)a 分別設定為0.01 和0.1。為了進行比較,
利用改進的ABOA,其中感覺模態(tài)c 最初設定為0.01 然后,它根據(jù)方程式(2)而變化,在每次跑算法中,初始種群的解是隨機初始化的,所有基準規(guī)模均設為10。提出的蝴蝶優(yōu)化算法使用C++語言實現(xiàn)并編譯使用Qt Creator 2.4.1(MinGW),使用的操作系統(tǒng)是Microsoft Windows 10 和intel?core(TM)i5-7200 CPU @ 2.50GHz 2.70 GHz 的仿真支持。
由圖1可以看出,本文提出的ABOA 與人工蜂群(ABC)和螢火蟲算法(FA)進行比較。模擬結(jié)果表明,通過在ABOA 表現(xiàn)更好,所提出的ABOA均值浮動差值更優(yōu)越,收斂更快,在本研究中使用的。該收斂圖描述了ABOA的收斂行為優(yōu)于傳統(tǒng)的BOA,F(xiàn)A 和ABC。在不久的將來,可以使用復雜的基準函數(shù)進行檢查這個提出的ABOA 的效率具有不同的人口規(guī)模值。
在這項研究中,提出了一種適應性和改進的BOA 變體。與早期版本的BOA 相比,提出的ABOA 利用更有效的自適應機制來更新感官優(yōu)化過程每次迭代的機制。這有利于ABOA 形成有效的信息共享網(wǎng)絡提高了算法的收斂速度,同時提出了算法自適應機制允許ABOA 避免局部最優(yōu)捕獲問題。此外,它可以用于解決不同的現(xiàn)實世界問題,如節(jié)點無線傳感器網(wǎng)絡中的本地優(yōu)化,負載調(diào)度問題等等。