国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混沌初始化和高斯變異的飛蛾火焰優(yōu)化算法

2021-07-09 07:28馮艷紅陳嶷瑛
關(guān)鍵詞:飛蛾適應(yīng)度火焰

劉 倩, 馮艷紅,2, 陳嶷瑛

(1.河北地質(zhì)大學(xué) 信息工程學(xué)院,河北 石家莊 050031; 2.河北地質(zhì)大學(xué) 河北省智能傳感物聯(lián)網(wǎng)技術(shù)工程研究中心,河北 石家莊 050031 )

0 引言

飛蛾火焰優(yōu)化算法(moth-flame optimization algorithm,MFO)[1]是一種新穎的群體智能算法。該算法由飛蛾和火焰2部分構(gòu)成,通過(guò)橫向定位導(dǎo)航機(jī)制來(lái)解決探索和利用之間的平衡問(wèn)題。MFO具有參數(shù)簡(jiǎn)單、容易實(shí)現(xiàn)且魯棒性好等優(yōu)點(diǎn),因此,自提出以來(lái),便受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注,使其在諸多領(lǐng)域得到應(yīng)用[2-5]。當(dāng)前,國(guó)內(nèi)外學(xué)者對(duì)其改進(jìn)研究主要分為對(duì)飛蛾飛行方式的優(yōu)化和對(duì)進(jìn)化機(jī)制的優(yōu)化。

盡管已有文獻(xiàn)對(duì)MFO算法的改進(jìn)在一定程度上提高了算法的性能,但是這些改進(jìn)措施在解決高維多峰復(fù)雜問(wèn)題時(shí)效果不盡如人意。

基于此,本文提出一種基于混沌初始化和高斯變異的飛蛾火焰優(yōu)化算法(moth-flame optimization algorithm based on chaotic initialization and Gaussian mutation, CGMFO)。CGMFO采用立方混沌映射初始化種群以增強(qiáng)飛蛾勘探未知空間的能力,從而提高求解精度;采用高斯變異對(duì)部分較差個(gè)體進(jìn)行局部擾動(dòng)以提高算法的收斂速度;采用阿基米德曲線飛行機(jī)制以增強(qiáng)種群的多樣性,并抑制算法的早熟收斂,進(jìn)而實(shí)現(xiàn)全局最優(yōu)化。CGMFO對(duì)CEC14經(jīng)典測(cè)試函數(shù)[6]和21個(gè)可擴(kuò)展Benchmark函數(shù)[7]進(jìn)行求解,實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法具有良好的收斂能力和競(jìng)爭(zhēng)實(shí)力。

1 飛蛾火焰優(yōu)化算法的基本原理

在MFO算法中,用式(1)表示飛蛾種群規(guī)模為n,維數(shù)為d的飛蛾所處空間位置,且用式(2)矩陣存儲(chǔ)飛蛾個(gè)體的適應(yīng)度值?;鹧媸撬惴ǖ牧硪粋€(gè)核心,其在空間的位置矩陣與飛蛾的空間矩陣類似,用式(3)表示,使用式(4)矩陣存儲(chǔ)相應(yīng)火焰的適應(yīng)度值。

(1)

OM=[om1,om2,…,omn]T;

(2)

(3)

(4)

火焰減少過(guò)程如下式所示:

(5)

式中:t和T分別為當(dāng)前迭代次數(shù)和最大迭代次數(shù);N為最大火焰數(shù)量。

Di=|Fj-Mi|。

(6)

式中:Di為飛蛾Mi到火焰Fj的距離。

假設(shè)飛蛾Mi會(huì)朝著距離自己最近的火焰Fj移動(dòng),移動(dòng)的路徑選取了對(duì)數(shù)螺線曲線,并將該曲線作為飛蛾的主要更新機(jī)制,算法的對(duì)數(shù)螺旋曲線定義如下:

S(Mi,Fj)=Di·ebt·cos 2πt+Fj。

(7)

式中:S(Mi,Fj)為更新后的飛蛾位置;Di表示第i個(gè)飛蛾與第j個(gè)火焰的距離;b為與螺旋形狀相關(guān)的常量;t為隨機(jī)數(shù),取值區(qū)間為[-1,1];ebt·cos 2πt為對(duì)數(shù)螺旋曲線表達(dá)式。

總結(jié)前文所述,飛蛾火焰優(yōu)化算法的一般步驟如下:

步驟1初始化算法參數(shù):飛蛾數(shù)量n、維數(shù)d、最大迭代次數(shù)T等,隨機(jī)初始化種群;

步驟2計(jì)算種群中飛蛾的適應(yīng)度值,并按適應(yīng)度值升序排序;

步驟3利用式(5)更新火焰數(shù)量;

步驟4利用式(6)計(jì)算飛蛾到火焰的距離;

步驟5利用式(7)更新飛蛾位置;

步驟6若滿足給定的迭代次數(shù),算法結(jié)束,獲得最優(yōu)解;否則,返回步驟2。

2 CGMFO原理

2.1 混沌初始化

在原始MFO中,飛蛾的位置通過(guò)隨機(jī)初始化的方式產(chǎn)生,會(huì)造成飛蛾的位置分布不均勻,進(jìn)而降低求解精度。而基于混沌理論的混沌序列具有偽隨機(jī)性和邊界性等特點(diǎn),故許多學(xué)者提出了嵌入混沌序列的多種算法[8-9]。在諸多混沌映射中,立方映射的性能較優(yōu)[10],因此,本文采用立方混沌映射對(duì)MFO進(jìn)行初始化:

(8)

利用立方混沌映射初始化飛蛾種群的3個(gè)步驟如下:

步驟1按照式(8)隨機(jī)產(chǎn)生d維空間中的n只飛蛾,即Y=(y1,y2,y3,…,yd),yi∈[-1,1],i=1,2,…,d;

步驟2將每只飛蛾的每一維迭代n次,從而產(chǎn)生n只飛蛾;

步驟3在所有的飛蛾迭代完成后,按照式(9)映射到解空間中。

(9)

式中:Ud、Ld為搜索空間的上、下界;yid是利用式(8)產(chǎn)生的第i只飛蛾的第d維坐標(biāo);xid是第i只飛蛾在搜索空間第d維的坐標(biāo)。

本文將基于立方混沌映射初始化的飛蛾火焰優(yōu)化算法記為CMFO。

2.2 高斯變異機(jī)制

觀察MFO算法中解的更新公式(式(5)和式(7)),可以發(fā)現(xiàn)每只飛蛾空間矢量位置的更新與離其最近的火焰空間位置有直接的關(guān)系。而此火焰空間位置僅靠適應(yīng)度值來(lái)確定,這就導(dǎo)致對(duì)當(dāng)前全局最優(yōu)飛蛾的有效利用能力不強(qiáng)。

因此,在對(duì)飛蛾按適應(yīng)度值進(jìn)行排序后,選取適應(yīng)度值最差的n×ω個(gè)個(gè)體,并對(duì)其應(yīng)用高斯變異Gaussian(μ,σ2),其中,n是飛蛾種群規(guī)模;ω是變異的比例;μ表示均值;σ2表示方差。根據(jù)經(jīng)驗(yàn),本文ω取值為1/6,便于控制和縮小更新范圍,并適度地提高算法的種群多樣性。改進(jìn)后的飛蛾產(chǎn)生公式描述如下:

(10)

本文將基于CMFO,對(duì)種群每一代中少數(shù)較差個(gè)體用高斯變異進(jìn)行微小擾動(dòng)的飛蛾火焰優(yōu)化算法記為GCMFO。

2.3 基于阿基米德曲線的飛行機(jī)制

由于MFO中飛蛾的飛行機(jī)制會(huì)影響算法的性能,與對(duì)數(shù)螺旋曲線相比,阿基米德螺旋曲線使飛蛾擴(kuò)大了搜索范圍,且阿基米德螺旋曲線在諸多優(yōu)化領(lǐng)域得以應(yīng)用[11-12]。為了增強(qiáng)MFO算法的種群多樣性,加快算法的收斂速度,本文將原MFO算法中的對(duì)數(shù)螺旋曲線替換為阿基米德螺旋曲線。其平面笛卡爾坐標(biāo)方程式為

(11)

其中,當(dāng)θ=0時(shí),α為起點(diǎn)到極坐標(biāo)原點(diǎn)的距離,β為螺旋線每增加單位角度隨之對(duì)應(yīng)增加的數(shù)值。當(dāng)θ>0時(shí),α相當(dāng)于旋轉(zhuǎn)螺線,而β則控制相鄰兩條曲線之間的距離。

則飛蛾位置的移動(dòng)如下式所示:

S(Mi,Fj)=Di·ebt·(α×γ)·sin 2πβ(γ-α)+Fj。

(12)

其中,b=1,β=10,α、γ定義如下:

(13)

γ=(α-1)×rand+1。

(14)

式中:rand為隨機(jī)數(shù),取值區(qū)間為[-1, 1]。

本文將基于GCMFO,應(yīng)用阿基米德螺旋曲線的飛行方式的飛蛾火焰優(yōu)化算法記為CGMFO。

2.4 CGMFO算法流程

根據(jù)2.1~2.3節(jié)描述的算法改進(jìn)思想,提出的CGMFO算法步驟如下:

步驟1按式(8)和式(9)初始化種群;

步驟2計(jì)算種群中飛蛾的適應(yīng)度值,按適應(yīng)度值升序排序;

步驟3選擇排序后適應(yīng)度較差的1/6飛蛾,按式(10)進(jìn)行高斯變異,然后求解飛蛾和火焰的適應(yīng)度值,選擇其中最好飛蛾個(gè)體的位置并將其保存為火焰適應(yīng)度值矩陣;

步驟4利用式(5)更新火焰數(shù)量;

步驟5利用式(6)計(jì)算飛蛾到火焰的距離;

步驟6利用式(13)和式(14)初始化螺旋曲線的相關(guān)參數(shù),按式(12)更新飛蛾位置;

步驟7若滿足給定的迭代次數(shù),算法結(jié)束,獲得最優(yōu)解;否則,返回步驟2。

3 數(shù)值實(shí)驗(yàn)及分析

3.1 環(huán)境與參數(shù)

為了比較不同改進(jìn)策略對(duì)MFO的影響程度,本文進(jìn)行了2組實(shí)驗(yàn)。第1組實(shí)驗(yàn)對(duì)CGMFO、GCMFO、CMFO與MFO這4種算法,選用CEC14測(cè)試集[6]中f1~f6進(jìn)行仿真實(shí)驗(yàn)比較。第2組實(shí)驗(yàn)對(duì)CGMFO、MFO、GA[13]、ABC[14]、PSO[15]、DE[16]、FPA[17]和BOA[18]這8種算法,利用21個(gè)可擴(kuò)展Benchmark函數(shù)[7]進(jìn)行仿真實(shí)驗(yàn)比較。

仿真硬件環(huán)境為L(zhǎng)ENOVO Intel i7-8750H CPU 2.21 GHz,8.00 GB RAM,操作系統(tǒng)為Windows 10,利用MATLAB R2018b編程實(shí)現(xiàn)。

所有算法均采用相同的種群規(guī)模n=30,最大迭代次數(shù)T=1 000,第1組實(shí)驗(yàn)中,維數(shù)d=100,第2組實(shí)驗(yàn)中,d=10,重復(fù)實(shí)驗(yàn)次數(shù)RepeatCount=30。各算法的其余參數(shù)設(shè)置如表1所示。

表1 8種算法的參數(shù)設(shè)置Table 1 Parameter settings for 8 algorithms

3.2 算法性能評(píng)價(jià)指標(biāo)

本文的2組實(shí)驗(yàn)都采用優(yōu)化均值誤差(Average)和標(biāo)準(zhǔn)方差(Std.Dev)評(píng)價(jià)算法的優(yōu)化能力,其中

優(yōu)化均值誤差計(jì)算如下:

Average=f(x)-f(x*)。

(15)

式中:x表示算法得到的解;x*表示每個(gè)測(cè)試函數(shù)的理論最優(yōu)解。Average越小,則解的質(zhì)量越好。

第2組實(shí)驗(yàn)中增加了Best最優(yōu)解和Worst最差解的比較,這2個(gè)值越小,說(shuō)明解的精度越高。

同時(shí),為了比較算法在統(tǒng)計(jì)意義上的差異性,利用Wilcoxon秩和檢驗(yàn)(顯著水平α=0.05)分別對(duì)21個(gè)函數(shù)的實(shí)驗(yàn)結(jié)果進(jìn)行統(tǒng)計(jì)分析。

3.3 實(shí)驗(yàn)結(jié)果分析

3.3.1 第1組實(shí)驗(yàn)結(jié)果分析

由于篇幅有限,表2給出了4種算法對(duì)CEC14中每個(gè)函數(shù)進(jìn)行30次獨(dú)立實(shí)驗(yàn)的部分計(jì)算結(jié)果, 由表2的計(jì)算結(jié)果可以得出如下結(jié)論:

表2 4種算法對(duì)于CEC14測(cè)試函數(shù)的實(shí)驗(yàn)結(jié)果比較Table 2 Comparison of the experimental results of the 4 algorithms for the CEC14 test function

(1)3種改進(jìn)算法對(duì)于CEC14中的測(cè)試集函數(shù)f1~f6,無(wú)論是優(yōu)化均值誤差還是標(biāo)準(zhǔn)方差均優(yōu)于原始的MFO。

(2)CMFO只使用立方混沌映射產(chǎn)生混沌序列,保證了飛蛾個(gè)體初始化位置在整個(gè)搜索空間的均勻分布,優(yōu)化均值誤差和標(biāo)準(zhǔn)方差在絕大多數(shù)測(cè)試函數(shù)上均有提高。

(3)GCMFO的改進(jìn)效果優(yōu)于CMFO,這是由于GCMFO不僅采用了立方混沌映射初始化,而且通過(guò)高斯變異對(duì)每代中少數(shù)較差的個(gè)體進(jìn)行擾動(dòng),幫助算法跳出局部極值區(qū)域,提高了算法收斂速度。

(4)CGMFO的改進(jìn)效果明顯優(yōu)于其他2種改進(jìn)算法,多個(gè)函數(shù)的誤差均值和標(biāo)準(zhǔn)方差都接近理論最優(yōu)。

3.3.2 第2組實(shí)驗(yàn)結(jié)果分析

表3為8種算法對(duì)21個(gè)可擴(kuò)展Benchmark函數(shù)進(jìn)行30次獨(dú)立實(shí)驗(yàn)的計(jì)算結(jié)果,其中Best為最優(yōu)解,Worst為最差解,Average和Std.Dev定義與第1組實(shí)驗(yàn)相同。表3中的符號(hào)?、≈、■分別表示CGMFO算法的實(shí)驗(yàn)結(jié)果優(yōu)于、相當(dāng)于和劣于對(duì)比算法,其中結(jié)果加粗表示最優(yōu)。為了進(jìn)一步比較CGMFO與其他7種算法的收斂趨勢(shì),圖1給出了8種算法求解Benchmark函數(shù)f1~f3、f9~f11各30次的平均進(jìn)化曲線。經(jīng)多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)>設(shè)定每種算法的迭代次數(shù)均為T=160時(shí),進(jìn)化曲線的效果明顯,故這里將T設(shè)置為160。

由以上實(shí)驗(yàn)結(jié)果可知:

(1)由表3可以看出,對(duì)于21個(gè)Benchmark函數(shù),針對(duì)4種評(píng)價(jià)指標(biāo),CGMFO在求解幾乎全部問(wèn)題上均優(yōu)于其他7種比較算法。其中14個(gè)函數(shù)求解結(jié)果達(dá)到了理論最優(yōu)(f1~f8、f11~f13、 f18、 f20、f21)。其余未達(dá)到理論最優(yōu)值的7個(gè)函數(shù),與其他算法相比,CGMFO也最接近理論最優(yōu)。

表3 8種算法對(duì)于測(cè)試函數(shù)f1~f21的部分實(shí)驗(yàn)結(jié)果比較Table 3 Comparisons of some experimental results of 8 algorithms for test functions f1 to f21

(2)由圖1的平均迭代進(jìn)化曲線可以看出,在21個(gè)可擴(kuò)展Benchmark函數(shù)中,CGMFO對(duì)應(yīng)的目標(biāo)函數(shù)下降曲線比其他7種算法的下降曲線具有更快的下降速度,并很快達(dá)到了最優(yōu)值。這再次表明,CGMFO在函數(shù)全局優(yōu)化方面具有更好的有效性,收斂速度更快。

圖1 部分平均迭代進(jìn)化曲線Figure 1 Some average iterative evolution curves

4 結(jié)論

針對(duì)MFO求解精度不高及易陷入局部最優(yōu)等缺陷,本文從3個(gè)方面對(duì)算法進(jìn)行改進(jìn):立方混沌映射初始化,有效地防止飛蛾的位置分布不均勻;高斯變異對(duì)較差個(gè)體的擾動(dòng),減少了算法陷入局部最優(yōu)的可能;阿基米德曲線飛行機(jī)制的應(yīng)用使種群的多樣性有所增加。從實(shí)驗(yàn)結(jié)果看出,CGMFO在搜索性能上均優(yōu)于CMFO和GCMFO,且CGMFO在求解精度和收斂速度上與文中的其他進(jìn)化算法相比,均表現(xiàn)優(yōu)秀。由于MFO提出時(shí)間不長(zhǎng),故算法的參數(shù)分析和在工程問(wèn)題中的應(yīng)用將是下一步的研究課題。

猜你喜歡
飛蛾適應(yīng)度火焰
改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
最亮的火焰
可愛(ài)的你
Trolls World Tour魔發(fā)精靈2
繽紛的火焰
飛蛾說(shuō)
漂在水上的火焰
啟發(fā)式搜索算法進(jìn)行樂(lè)曲編輯的基本原理分析
火焰
勇敢的小飛蛾
当涂县| 宁海县| 崇州市| 北碚区| 古丈县| 登封市| 霸州市| 会泽县| 景东| 荆州市| 富平县| 镇宁| 岢岚县| 获嘉县| 和政县| 阜南县| 沁阳市| 乡城县| 德昌县| 新津县| 昌江| 葫芦岛市| 安岳县| 宜君县| 林州市| 抚松县| 朝阳县| 勐海县| 新泰市| 贵溪市| 阿拉善右旗| 山西省| 博罗县| 达拉特旗| 从江县| 高邮市| 眉山市| 山西省| 察哈| 凉山| 陵川县|