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