李守玉,何 慶+,杜逆索
1.貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng)550025
2.貴州大學(xué)貴州省大數(shù)據(jù)產(chǎn)業(yè)發(fā)展應(yīng)用研究院,貴陽(yáng)550025
為了更好解決現(xiàn)實(shí)中的復(fù)雜優(yōu)化問(wèn)題,研究者們通過(guò)觀察、研究自然界中生物的生理或物理現(xiàn)象,提出了粒子群優(yōu)化算法、灰狼優(yōu)化算法、樽海鞘優(yōu)化算法、飛蛾撲火算法及蝴蝶優(yōu)化算法等元啟發(fā)式算法,并將它們用于解決現(xiàn)實(shí)中的工程優(yōu)化任務(wù)。
傳統(tǒng)的粒子群算法雖收斂速度快、易于實(shí)現(xiàn),但存在早熟現(xiàn)象,蟻群算法雖有較強(qiáng)的記憶性,但它容易出現(xiàn)停滯現(xiàn)象且效率低。蝴蝶優(yōu)化算法(butterfly optimization algorithm,BOA)是由Arora和Singh 于2019 年提出的基于全局優(yōu)化的群智能算法。BOA通過(guò)蝴蝶之間散發(fā)的香味形成一個(gè)具有一定信息損失的一般社會(huì)交互網(wǎng)絡(luò),其具有原理簡(jiǎn)單、參數(shù)少、計(jì)算耗時(shí)少及易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此被應(yīng)用于陰影光伏陣列的重構(gòu)技能的工程設(shè)計(jì)、優(yōu)化無(wú)線傳感器網(wǎng)絡(luò)的能量有效簇、小波神經(jīng)網(wǎng)絡(luò)的訓(xùn)練、家庭CO減排策略混合智能預(yù)測(cè)模型及認(rèn)知智能電網(wǎng)中基于能效優(yōu)化的頻譜分配策略等領(lǐng)域。
然而蝴蝶優(yōu)化算法也存在收斂速度慢及尋優(yōu)精度不高的缺陷。為此,研究者提出了不同的改進(jìn)策略。文獻(xiàn)[9]通過(guò)將柯西變異和自適應(yīng)權(quán)重結(jié)合增強(qiáng)算法跳出局部最優(yōu)的能力和全局搜索的能力,使用動(dòng)態(tài)切換概率調(diào)節(jié)全局與局部搜索的比重。文獻(xiàn)[10]利用混沌理論與正余弦算法結(jié)合的方式增強(qiáng)算法的尋優(yōu)能力,使用線性遞減控制香味的冪指數(shù)提高收斂精度。文獻(xiàn)[11]通過(guò)交叉熵和協(xié)同進(jìn)化技術(shù)找尋全局與局部搜索之間平衡,提高算法的全局搜索能力。文獻(xiàn)[12]利用limit 閾值克服陷入局部的難題,再將單純形法和正弦余弦指引策略結(jié)合對(duì)位置進(jìn)行更新,提高算法的尋優(yōu)性能。文獻(xiàn)[13]利用擾動(dòng)策略和瘋狂因子增加算法的多樣性,通過(guò)線性遞減慣性權(quán)重平衡全局與局部搜索的能力。盡管改進(jìn)算法尋優(yōu)精度有所提升,但收斂速度和穩(wěn)定性仍有很大改進(jìn)空間。
針對(duì)蝴蝶優(yōu)化算法存在的問(wèn)題,本文提出了混沌反饋共享和群體協(xié)同效應(yīng)的蝴蝶優(yōu)化算法(butterfly optimization algorithm based on chaotic feedback sharing and group synergy,CFSBOA)。算法利用二維的Hénon映射,使得種群個(gè)體的搜索分布更加均勻,增加算法多樣性;通過(guò)正反饋或負(fù)反饋網(wǎng)絡(luò)加快算法的信息流動(dòng),進(jìn)而增強(qiáng)逃離局部最優(yōu)的能力;最后融合群體協(xié)同,進(jìn)一步矯正和協(xié)調(diào)種群的進(jìn)化方向及更好地平衡全局與局部搜索能力。通過(guò)求解12個(gè)基準(zhǔn)測(cè)試函數(shù)和部分CEC2014測(cè)試函數(shù)驗(yàn)證算法的有效性和魯棒性。
在標(biāo)準(zhǔn)BOA 算法中,蝴蝶種群采用隨機(jī)初始化蝴蝶種群:
式中,表示蝴蝶種群規(guī)模,表示搜索空間維度。
蝴蝶算法假定搜索空間中的每個(gè)個(gè)體能感知彼此散發(fā)的香味;蝴蝶能根據(jù)香味濃度的強(qiáng)弱進(jìn)行隨機(jī)移動(dòng)或向最好蝴蝶移動(dòng);蝴蝶的感覺模態(tài)受目標(biāo)函數(shù)的范圍影響或決定。由于蝴蝶進(jìn)行食物源搜索時(shí),香味大小受風(fēng)、雨、溫度等因素影響和限制,采用轉(zhuǎn)換概率控制蝴蝶的搜索模式:全局搜索或局部搜索。
蝴蝶香味計(jì)算公式:
其中,代表香味大?。皇歉泄倌B(tài)強(qiáng)度;是刺激強(qiáng)度;是依賴感官模態(tài)的冪指數(shù);表示最大迭代次數(shù)。
蝴蝶的位置更新由局部搜索和全局搜索構(gòu)成。若蝴蝶因距離和自然因素?zé)o法感知到其他蝴蝶散發(fā)的香味,則蝴蝶在局部執(zhí)行隨機(jī)搜索;若蝴蝶能夠感知到其他蝴蝶散發(fā)的香味,它能根據(jù)香味強(qiáng)弱,飛向最好蝴蝶實(shí)現(xiàn)蝴蝶位置更新,從而使得種群向食物源位置進(jìn)行搜索。
當(dāng)≥時(shí),進(jìn)行局部搜索:
當(dāng)<時(shí),進(jìn)行全局搜索:
標(biāo)準(zhǔn)BOA利用式(1)隨機(jī)初始化蝴蝶位置,可能會(huì)出現(xiàn)蝴蝶位置在搜索空間中分布不均勻,導(dǎo)致算法過(guò)早陷入局部最優(yōu),出現(xiàn)早熟現(xiàn)象。文獻(xiàn)[14]利用Tent映射初始化樽海鞘種群,使得樽海鞘個(gè)體均勻分布在搜索空間上,從而提高算法尋優(yōu)精度。
混沌映射具有遍歷性、隨機(jī)性和規(guī)律性等優(yōu)點(diǎn),其基本思想利用映射關(guān)系產(chǎn)生[0,1]的混沌序列,再將混沌序列轉(zhuǎn)化到個(gè)體的搜索空間。常用來(lái)初始化種群的混沌映射有Tent映射、Logistic映射,但文獻(xiàn)[15]指出Tent 映射存在小周期和不穩(wěn)定周期容易使Tent映射易陷入不動(dòng)點(diǎn);Logistic 映射在[0,1]范圍內(nèi)呈切比雪夫分布,搜索盲區(qū)大。然而Hénon 不僅能克服Tent映射和Logistic映射的缺點(diǎn),其產(chǎn)生的混度序列也更加均勻,如圖1所示。利用Hénon的混沌序列分布更加均勻的特點(diǎn),種群可以最大程度覆蓋搜索盲區(qū),增加蝴蝶個(gè)體的多樣性,從一定程度上幫助算法跳出局部極值,進(jìn)而增強(qiáng)算法尋優(yōu)的能力。因此,本文采用Hénon混沌映射初始化蝴蝶種群。其數(shù)學(xué)描述:
圖1 Hénon混沌映射Fig. 1 Hénon chaotic mapping
由于標(biāo)準(zhǔn)BOA算法只通過(guò)全局最優(yōu)解的位置進(jìn)行信息交流,很大程度上限制蝴蝶的搜索范圍,增大算法陷入局部最優(yōu)的風(fēng)險(xiǎn),降低算法的尋優(yōu)精度。為了增強(qiáng)算法跳出局部最優(yōu)的能力,參考電路分析中反饋控制電路的概念,讓蝴蝶受到其他蝴蝶的正反饋或負(fù)反饋的作用。具體表現(xiàn)受生物互惠互利的行為機(jī)制影響,讓蝴蝶受到比自身適應(yīng)度好的個(gè)體的正反饋?zhàn)饔靡约氨茸陨磉m應(yīng)度差的負(fù)反饋?zhàn)饔?,從而使得蝴蝶能夠感知到更多方向的位置信息,增?qiáng)蝴蝶的全局搜索能力。
從搜索空間中隨機(jī)選擇一只蝴蝶,與當(dāng)前蝴蝶、最優(yōu)蝴蝶構(gòu)建香味反饋機(jī)制實(shí)現(xiàn)信息共享。在飛行過(guò)程中,蝴蝶散發(fā)的香味會(huì)向不同方向傳播,為搜索空間中其他蝴蝶尋優(yōu)提供有利信息。因此,假設(shè)每只蝴蝶能向兩個(gè)不同方向傳播香味,然后決定它將飛向哪個(gè)方向,兩個(gè)傳播方向分別是隨機(jī)蝴蝶所在方向和最優(yōu)蝴蝶所在方向。通過(guò)香味反饋機(jī)制,當(dāng)前蝴蝶根據(jù)傳遞的香味信息能夠知道食物是否在這兩只蝴蝶周圍。若隨機(jī)蝴蝶的適應(yīng)度比當(dāng)前的蝴蝶的適應(yīng)度更好,則認(rèn)為該食物存在,否則附近沒有食物來(lái)源。
如果食物源被證實(shí)存在于兩只蝴蝶的周圍,通過(guò)正反饋?zhàn)饔?,?dāng)前蝴蝶會(huì)移動(dòng)到兩只蝴蝶周圍。如果不是,通過(guò)負(fù)反饋?zhàn)饔?,它向最好的蝴蝶移?dòng)。數(shù)學(xué)模型描述如下:
香味反饋機(jī)制使得蝴蝶個(gè)體可以更多地圍繞最佳位置進(jìn)行挖掘,同時(shí)式(13)提出的飛行方向使蝴蝶個(gè)體運(yùn)動(dòng)方向具有多樣性化的能力,可以增強(qiáng)探索能力,特別是在迭代的初始階段,可以避免過(guò)早收斂。
標(biāo)準(zhǔn)BOA中計(jì)算蝴蝶之間距離計(jì)算方式存在如下缺陷:(1)更新后的蝴蝶個(gè)體對(duì)前一次迭代的蝴蝶會(huì)產(chǎn)生很強(qiáng)的依賴性,具有一定盲目性致使算法出現(xiàn)停滯,從而導(dǎo)致收斂速度下降。(2)算法全局搜索和局部開發(fā)的能力受到很大限制,這也是標(biāo)準(zhǔn)BOA算法尋優(yōu)精度不高的主要原因。為了進(jìn)一步提升和平衡標(biāo)準(zhǔn)BOA 算法的全局搜索和局部搜索能力,受文獻(xiàn)[16]和文獻(xiàn)[17]共同啟發(fā),本文將黃金正弦算法作為媒介,提出群體效應(yīng)位置更新機(jī)制,針對(duì)式(5)、式(6),進(jìn)行如下改進(jìn)。
其一,利用黃金分割數(shù)不需要梯度信息的優(yōu)點(diǎn),對(duì)標(biāo)準(zhǔn)BOA算法的距離公式進(jìn)行改進(jìn);其二,群體協(xié)同效應(yīng)主要由個(gè)體矯正因子和群體協(xié)調(diào)因子構(gòu)成,其利用正弦曲線值域分布特點(diǎn),具體如下:
新局部搜索公式:
新全局搜索公式:
綜上三節(jié),利用混沌初始化種群,使得種群分布更加均勻,為后續(xù)算法尋優(yōu)打下基礎(chǔ)。通過(guò)反饋共享,引入隨機(jī)蝴蝶加快蝴蝶種群之間的信息交流實(shí)現(xiàn)信息流動(dòng)達(dá)到共享,增強(qiáng)算法跳出局部最優(yōu)能力。引入群體協(xié)同,降低蝴蝶的盲目依賴性,增強(qiáng)及平衡全局和局部搜索能力。尋優(yōu)過(guò)程中,蝴蝶種群能夠進(jìn)行針對(duì)性的搜索,調(diào)整適合個(gè)體進(jìn)化方向,進(jìn)而增強(qiáng)算法尋優(yōu)能力。
CFSBOA算法:
CFSBOA算法主要由混沌初始化、反饋共享及群體協(xié)同效應(yīng)組成,假設(shè)種群規(guī)模為,搜索空間維度為,則BOA的隨機(jī)初始化的時(shí)間復(fù)雜度為(×),計(jì)算個(gè)體適應(yīng)度為(),迭代過(guò)程中的時(shí)間復(fù)雜度為(×),更新最優(yōu)解的時(shí)間復(fù)雜度為(1),BOA總的時(shí)間復(fù)雜度為(×)。
同理,CFSBOA 在BOA 的基礎(chǔ)上將隨機(jī)初始化替換為混沌初始化時(shí)間復(fù)雜度為(×),增加的反饋共享機(jī)制的時(shí)間復(fù)雜度為(×),增加的群體協(xié)同機(jī)制的時(shí)間復(fù)雜度為(×),因此CFSBOA總的時(shí)間復(fù)雜度為(×)。因?yàn)镃FSBOA和BOA的時(shí)間復(fù)雜度一樣,所以CFSBOA并未對(duì)算法產(chǎn)生負(fù)面影響。
實(shí)驗(yàn)環(huán)境為Windows 7,64 位操作系統(tǒng),CPU 為Intel Core i5-6500H,主頻3.2 GHz,內(nèi)存8 GB,算法基于MATLAB2014b編寫。
為了充分驗(yàn)證本文所提出的CFSBOA在求解復(fù)雜優(yōu)化問(wèn)題時(shí)的魯棒性和有效性,將CFSBOA 算法與加入混沌初始化的蝴蝶算法(chaotic butterfly optimization algorithm,CBOA)、加入反饋共享機(jī)制的蝴蝶算法(feedback butterfly optimization algorithm,F(xiàn)BOA)、加入群體協(xié)同效應(yīng)的蝴蝶算法(sharing butterfly optimization algorithm,SBOA)、BOA、MFO(mothflame optimization)、SSA(salp swarm algorithm)和GWO(grey wolf optimize)在12個(gè)經(jīng)典測(cè)試函數(shù)上進(jìn)行最優(yōu)值求解,然后進(jìn)行實(shí)驗(yàn)對(duì)比。
采用如表1 所示的12 個(gè)基準(zhǔn)測(cè)試函數(shù)作為目標(biāo)函數(shù),測(cè)試函數(shù)包含單峰可分(unimodal sepa-rable,US)、單峰不可分(unimodal non-separable,UN)、多峰可分(multimodal separable,MS)、多峰不可分(multimodal non-separable,MN)等不同特征的函數(shù)。同時(shí),測(cè)試函數(shù)的維度跨度大,從2維到200維,因此可以更加全面地檢驗(yàn)算法的綜合性能。
表1 基準(zhǔn)測(cè)試函數(shù)Table 1 Benchmark functions
為保證每種算法對(duì)比的公平性,實(shí)驗(yàn)中最大迭代次數(shù)設(shè)為500,種群規(guī)模為30,獨(dú)立運(yùn)行50 次,其余參數(shù)設(shè)置如表2所示。
表2 主要參數(shù)Table 2 Main parameters
表3 通過(guò)最優(yōu)值、平均值、標(biāo)準(zhǔn)差、成功率(success rate,SR)以及平均耗時(shí)(單位:s)五個(gè)性能指標(biāo)來(lái)評(píng)估各算法的性能,實(shí)驗(yàn)對(duì)比數(shù)據(jù)如表3所示。其中,成功率是計(jì)算成功次數(shù)與實(shí)驗(yàn)的總次數(shù)之比,一次求解成功率公式如下:
表3 基準(zhǔn)測(cè)試函數(shù)結(jié)果對(duì)比Table 3 Results comparison of benchmark test functions
式中,S為每次求解的最優(yōu)值,S為基準(zhǔn)測(cè)試函數(shù)的最佳值。
首先,表3通過(guò)最優(yōu)值和平均值來(lái)反映算法的尋優(yōu)精度和收斂速度的能力。對(duì)于5個(gè)單峰函數(shù)~,CFSBOA對(duì)、和函數(shù)求解時(shí),找到了理論最佳值。隨著函數(shù)維度增加,算法求解最優(yōu)值的難度也將呈指數(shù)增長(zhǎng),因此在和函數(shù)上尋優(yōu)精度有所降低,并未尋到理論最佳值。伴隨著函數(shù)維度的增加,對(duì)比算法MFO、SSA 和GWO 的精度有所下降,尤其是在求解50 維的時(shí),MFO 與理論最佳值相差1.0×10的量級(jí)。對(duì)于CBOA、FBOA 和SBOA 的尋優(yōu)精度和收斂速度,三種改進(jìn)策略得到的結(jié)果均比BOA 好,這充分證明了不同改進(jìn)策略對(duì)算法的尋優(yōu)能力均有不同程度的增強(qiáng)。在5個(gè)單峰函數(shù)上,除上CFSBOA 的平均值略微高于SBOA 外,CFSBOA的綜合性能均比其他幾種算法好。對(duì)于7 個(gè)多峰函數(shù)~,與單峰函數(shù)相比,多峰函數(shù)的求解會(huì)變得更加困難,因此尋優(yōu)精度低于單峰函數(shù)。隨著多峰函數(shù)維度增加,CFSBOA在對(duì)7個(gè)多峰函數(shù)求解時(shí),5個(gè)多峰函數(shù)上能尋到理論最佳值。對(duì)7 個(gè)多峰函數(shù)尋優(yōu)時(shí),CFSBOA、SBOA 和FBOA 算法的尋優(yōu)能力均優(yōu)于標(biāo)準(zhǔn)的BOA,CBOA僅在的尋優(yōu)能力不如BOA,但在其他函數(shù)的尋優(yōu)能力均強(qiáng)于標(biāo)準(zhǔn)BOA。在上,CFSBOA、SBOA 和FBOA 的尋優(yōu)精度和收斂速度都比其他算法要好。在上,各算法都找到理論最佳值,但CFSBOA 的平均值和標(biāo)準(zhǔn)差均比其他算法好。其余函數(shù)的求解上,CFSBOA 都能尋到理論最佳值,進(jìn)一步驗(yàn)證了三種改進(jìn)策略的尋優(yōu)有效性。由此可見,CFSBOA 對(duì)單峰可分、單峰不可分、多峰可分和多峰不可分及高維度的基準(zhǔn)測(cè)試函數(shù)有著明顯的優(yōu)勢(shì)。
其次,表3中成功率和標(biāo)準(zhǔn)差體現(xiàn)算法跳出局部最優(yōu)的能力及穩(wěn)定性。CFSBOA 的結(jié)果很接近理論最佳值,標(biāo)準(zhǔn)差也比較小,對(duì)基準(zhǔn)測(cè)試函數(shù)尋優(yōu)有著較強(qiáng)的穩(wěn)定性。在12 個(gè)基準(zhǔn)測(cè)試函數(shù)上,CFSBOA的尋優(yōu)成功率都是100%,SBOA 在11 個(gè)函數(shù)尋優(yōu)成功率為100%,F(xiàn)BOA在9個(gè)函數(shù)成功率為100%,雖然CBOA在~的成功率不如標(biāo)準(zhǔn)BOA,但其在8個(gè)函數(shù)上尋優(yōu)成功率為100%,而標(biāo)準(zhǔn)BOA只在7個(gè)函數(shù)上成功率為100%。另外,隨著基準(zhǔn)測(cè)試函數(shù)維度增加,標(biāo)準(zhǔn)BOA的尋優(yōu)精度不高的特點(diǎn)愈發(fā)明顯,精度大多停留在10以下,而CFSBOA 和FBOA 引入的反饋共享機(jī)制,增加算法逃離局部最優(yōu)能力,尋優(yōu)精度得到提高;CFSBOA和SBOA引入群體協(xié)同效應(yīng)使得算法的尋優(yōu)精度和收斂速度大幅提升,證明了反饋共享機(jī)制和群體協(xié)同效應(yīng)機(jī)制對(duì)算法的局部和全局搜索能力有很大的增強(qiáng)作用。
最后,從平均耗時(shí)角度分析。由表3 可知,MFO和SSA 的平均耗時(shí)最短,改進(jìn)算法相對(duì)標(biāo)準(zhǔn)BOA 平均耗時(shí)都要長(zhǎng),因?yàn)楦倪M(jìn)策略中引入更多的機(jī)制使得算法不僅能在搜索空間中進(jìn)行大范圍搜索,還能找到更多的解,所以導(dǎo)致算法平均耗時(shí)變長(zhǎng),但是CFSBOA 的平均耗時(shí)與其他算法相比,所增加部分在可接受范圍內(nèi)。
為了形象地觀測(cè)改進(jìn)策略的性能,對(duì)CFSBOA與SBOA、FBOA、CBOA、BOA、MFO、SSA 與GWO進(jìn)行收斂性分析。圖2 給出部分測(cè)試函數(shù)的平均收斂曲線圖。因?yàn)閷?yōu)精度較高,為了便于觀察平均曲線的收斂情況,本文的縱坐標(biāo)取以10為底的對(duì)數(shù)。
在單峰函數(shù)上,CFSBOA 的尋優(yōu)精度最高,SBOA 其次,其余算法的尋優(yōu)精度都不高,同時(shí)CFSBOA 的收斂速度最快。在上,尋優(yōu)精度依次為CFSBOA、SBOA 和FBOA,其余算法的精度不高,CFSBOA 相比其他算法求解最佳值的迭代次數(shù)更少并且能夠快速收斂。
在多峰函數(shù)上,所有算法未能尋到最佳值,但CFSBOA、SBOA 和FBOA 的尋優(yōu)性能突出,尋優(yōu)精度比其他算法高,CFSBOA和SBOA能夠快速收斂到精度較高的解上且收斂速度較快。在上,所有算法都尋到最佳值,但CFSBOA 和CBOA 收斂速度最快,CBOA對(duì)于該函數(shù)的尋優(yōu)能力相比其他函數(shù)優(yōu)勢(shì)突出。在上,CFSBOA雖未能尋到最佳值,但尋優(yōu)精度最高且相比其他算法收斂速度快。在上,CFSBOA 和FBOA 都能尋到最優(yōu)值;對(duì)于收斂速度,CFSBOA 收斂速度最快,F(xiàn)BOA 其次,SBOA 慢于兩者,其余算法收斂速度慢且收斂精度低。
另外,由圖2(a)~(f)可以看出,在種群迭代前期,CFSBOA、SBOA 和FBOA 曲線速度下降很快且尋優(yōu)精度很高,說(shuō)明引入群體協(xié)同機(jī)制和反饋共享機(jī)制能夠增強(qiáng)算法跳出局部最優(yōu)的能力,使得算法在迭代開始時(shí)收斂速度變快。隨著迭代的進(jìn)行,CFSBOA能夠持續(xù)尋優(yōu),而其他算法在迭代后期陷入局部最優(yōu)出現(xiàn)停滯狀態(tài)。同時(shí),在上,CFSBOA比只增加反饋共享機(jī)制的FBOA 收斂速度更快且尋優(yōu)精度更高,證明了群體協(xié)同效應(yīng)機(jī)制,通過(guò)對(duì)個(gè)體和群體的協(xié)同配合使得種群逃離局部最優(yōu)和全局搜索的能力得到增強(qiáng),有利于算法的持續(xù)尋優(yōu)。在上,CFSBOA 比只增加群體協(xié)同效應(yīng)的SBOA收斂速度更快,這證明反饋共享機(jī)制能幫助算法快速找到最優(yōu)解位置附近。另外,CFSBOA在和上尋到了基準(zhǔn)測(cè)試函數(shù)的理論最佳值。除了在上,F(xiàn)BOA 的平均收斂曲線和標(biāo)準(zhǔn)BOA 平均收斂曲線在一個(gè)數(shù)量級(jí)上,其余改進(jìn)算法的平均曲線都在標(biāo)準(zhǔn)BOA算法平均收斂曲線的下方,驗(yàn)證了改進(jìn)算法的有效性。結(jié)合表3 和圖2的實(shí)驗(yàn)結(jié)果和平均收斂曲線圖證明,不管基準(zhǔn)測(cè)試函數(shù)是單峰、多峰,還是在低維、高維,CFSBOA的綜合性能均比其他算法要好。圖2(b)和圖2(f),因縱坐標(biāo)取對(duì)數(shù)的原因加上CFSBOA在這兩個(gè)函數(shù)上找到了0,所以曲線后面沒有顯示。
圖2 基準(zhǔn)測(cè)試函數(shù)平均收斂曲線Fig. 2 Average convergence curve of benchmark test functions
根據(jù)Derrac等人在文獻(xiàn)[21]中提出的,對(duì)于改進(jìn)進(jìn)化算法性能的評(píng)估,需要進(jìn)行統(tǒng)計(jì)檢驗(yàn)。本文選擇用Wilcoxon 秩和檢驗(yàn)并在5%的顯著性水平下進(jìn)行。表4 給出了CFSBOA 和其他算法在所有基準(zhǔn)測(cè)試函數(shù)上的值。假設(shè)CFSBOA 為最佳算法,則在CFSBOA vs SBOA、CFSBOA vs FBOA等之間進(jìn)行成對(duì)比較。另外,由于最佳算法與自身無(wú)法進(jìn)行比較,因此針對(duì)最佳算法采用N/A標(biāo)記,代表“不適用”,符號(hào)“=”“+”和“-”分別代表相當(dāng)于、優(yōu)于、劣于對(duì)比算法。Derrac 等人的文獻(xiàn)中指出值小于0.05 認(rèn)為是拒絕零假設(shè)的有力驗(yàn)證。表4結(jié)果表明,CFSBOA的值基本小于0.05。只有在、的CFSBOA vs CBOA時(shí),值大于0.05。這表明CFSBOA算法的優(yōu)越性在統(tǒng)計(jì)檢驗(yàn)上是顯著的。因此可以認(rèn)為CFSBOA算法比其他算法具有更高的收斂精度,值大于0.05已用粗體顯示。
表4 基準(zhǔn)函數(shù)Wilcoxon秩和檢驗(yàn)的p 值Table 4 p value for Wilcoxon's rank-sum test on benchmark functions
文獻(xiàn)[22]提出使用平均絕對(duì)誤差(mean absolute error,MAE)對(duì)優(yōu)化算法進(jìn)行排序,這是一種有效且可行的性能指標(biāo)。表5 中所有算法的分析是基于12個(gè)基準(zhǔn)測(cè)試函數(shù)的MAE。MAE公式如下:
表5 各算法MAE排名Table 5 MAE ranking of each algorithm
式(22)中,B為算法最優(yōu)值的平均值;V為相應(yīng)基準(zhǔn)函數(shù)的理論最優(yōu)值;N為基準(zhǔn)函數(shù)個(gè)數(shù)。
由表5 可知,CFSBOA 排名第一,CBOA 排名第二,SBOA 排名第三。同時(shí),與另外七種算法相比,CFSBOA的MAE值最小。表5的實(shí)驗(yàn)數(shù)據(jù)進(jìn)一步表明了CFSBOA算法的有效性和魯棒性。
為了更進(jìn)一步評(píng)估CFSBOA 的有效性和魯棒性。實(shí)驗(yàn)2 分為兩個(gè)環(huán)節(jié):第一環(huán)節(jié)主要采用CEC2014 函數(shù)對(duì)CFSBOA 的綜合性能進(jìn)行驗(yàn)證;第二環(huán)節(jié)驗(yàn)證CFSBOA的競(jìng)爭(zhēng)性,在保證種群規(guī)模、迭代次數(shù)、獨(dú)立運(yùn)行次數(shù)及基準(zhǔn)測(cè)試函數(shù)維度相同的條件下,將其與目前改進(jìn)蝴蝶優(yōu)化算法及新改進(jìn)的群智能算法進(jìn)行公平對(duì)比。
本文在CEC2014測(cè)試函數(shù)選取部分單峰、多峰、混合(hybrid function,HF)及復(fù)合(composition function,CF)函數(shù)類型進(jìn)行驗(yàn)證,所選CEC2014部分函數(shù)如表6所示。為了保證算法對(duì)比公平性,將種群規(guī)模設(shè)為30,CEC2014函數(shù)的搜索維度設(shè)為30,迭代次數(shù)500,獨(dú)立運(yùn)行30次,實(shí)驗(yàn)結(jié)果如表7所示。
表6 CEC2014函數(shù)(部分)Table 6 CEC2014 function(part)
表7 分別記錄各種算法的平均值和標(biāo)準(zhǔn)差,因CEC2014函數(shù)較為復(fù)雜,很難找到最佳值。由表7可知,CFSBOA 在CEC03 的平均收斂不如GWO 和PSO,但標(biāo)準(zhǔn)差遠(yuǎn)低于兩者;在CEC05和CEC16函數(shù)的平均值略低于GWO、MFO、SSA 和PSO,但CFSBOA的標(biāo)準(zhǔn)差低于四種算法。另外在最后三個(gè)函數(shù)上,CFSBOA 算法的平均值和標(biāo)準(zhǔn)差均低于其他算法,驗(yàn)證CFSBOA算法的魯棒性和有效性。
表7 CEC2014測(cè)試函數(shù)的結(jié)果對(duì)比Table 7 Comparison of CEC2014 test function results
與參考文獻(xiàn)中數(shù)據(jù)進(jìn)行對(duì)比,每個(gè)算法的種群規(guī)模設(shè)為30,迭代次數(shù)為500,基準(zhǔn)測(cè)試函數(shù)搜索維度為30,對(duì)獨(dú)立運(yùn)行30 次后的結(jié)果進(jìn)行對(duì)比,其中“—”代表無(wú)數(shù)據(jù),如表8所示。
由表8可知,CFSBOA算法在、、、、和函數(shù)上平均值均為最佳值;在和函數(shù)平均值高于MSIWOA(multi-strategy improved whale optimization algorithm)算法和CWBOA(Cauchy variation and adaptive weight butterfly optimization algorithm)算法;在上,CFSBOA算法尋優(yōu)性能不如MSIWOA算法;在上,CFSBOA的標(biāo)準(zhǔn)差高于MPA(marine predator algorithm),而在其余函數(shù)上CFSBOA算法的平均值和標(biāo)準(zhǔn)差低于其他算法。因此,本文提出的CFSBOA算法在求解復(fù)雜優(yōu)化問(wèn)題上具有一定的競(jìng)爭(zhēng)性。
表8 與參考文獻(xiàn)中算法平均值和標(biāo)準(zhǔn)差的結(jié)果對(duì)比Table 8 Results comparison of mean and standard deviation of algorithms in references
綜上所述,實(shí)驗(yàn)1 和實(shí)驗(yàn)2 的實(shí)驗(yàn)結(jié)果充分證明了混沌反饋共享和群體協(xié)同效應(yīng)的蝴蝶優(yōu)化算法對(duì)于求解多種類型的基準(zhǔn)測(cè)試函數(shù),尤其是多峰、高維的函數(shù)具有較好的魯棒性和較高的尋優(yōu)精度。
為了增強(qiáng)標(biāo)準(zhǔn)BOA算法的跳出局部最優(yōu)的能力及提高算法的尋優(yōu)精度和加快收斂速度,本文提出了混沌反饋共享和群體協(xié)同效應(yīng)的蝴蝶優(yōu)化算法,并將改進(jìn)的蝴蝶優(yōu)化算法應(yīng)用于基準(zhǔn)測(cè)試函數(shù)和CEC2014 函數(shù)尋優(yōu)?;煦鐧C(jī)制對(duì)種群進(jìn)行初始化,增加種群的多樣性,該機(jī)制對(duì)特定函數(shù)優(yōu)勢(shì)明顯;迭代過(guò)程中,通過(guò)利用正負(fù)反饋的原理,構(gòu)建反饋共享網(wǎng)絡(luò)使得蝴蝶信息來(lái)源更加多元,增強(qiáng)算法逃離局部最優(yōu)的能力;利用群體協(xié)同效應(yīng)平衡和增強(qiáng)算法的全局和局部搜索能力,提高尋優(yōu)精度和加快算法收斂。三個(gè)改進(jìn)機(jī)制能增強(qiáng)算法跳出局部最優(yōu)的能力,同時(shí)提高尋優(yōu)精度和加快算法收斂能力。另外,本文不僅使用最優(yōu)值、標(biāo)準(zhǔn)差等指標(biāo)對(duì)算法評(píng)估,還使用統(tǒng)計(jì)檢驗(yàn)Wilcoxon 對(duì)算法進(jìn)行顯著性分析和MAE 排序各算法,實(shí)驗(yàn)結(jié)果表明CFSBOA 算法具備出色優(yōu)化性能,全局和局部搜索能力得到增強(qiáng),能夠收斂到精度更高的最優(yōu)解,同時(shí)算法的有效性和魯棒性也得到驗(yàn)證。
在未來(lái),準(zhǔn)備改進(jìn)混沌機(jī)制增強(qiáng)其對(duì)測(cè)試函數(shù)的一般性以及將改進(jìn)的蝴蝶優(yōu)化算法應(yīng)用于實(shí)際的工程優(yōu)化問(wèn)題,解決工程問(wèn)題的同時(shí),進(jìn)一步驗(yàn)證算法的性能。