楊文珍,何 慶,,杜逆索
1(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025)2(貴州大學(xué) 貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025)
蝗蟲優(yōu)化算法(Grasshopper Optimization Algorithm,GOA)[1]在2017年被Saremi等人首次提出.GOA原理易懂、參數(shù)較少,易于實(shí)現(xiàn).然而該算法收斂速度慢,容易收斂早熟,雖然具有強(qiáng)大的局部開發(fā)能力,但全局勘探的能力仍然有待提升.
為了解決這些問題,在2019年文獻(xiàn)[2]提出了一種基于動(dòng)態(tài)權(quán)重機(jī)制和隨機(jī)跳躍策略(DJGOA)的改進(jìn)蝗蟲優(yōu)化算法,首先動(dòng)態(tài)權(quán)重機(jī)制促進(jìn)了算法迭代的利用,自適應(yīng)調(diào)整蝗蟲的搜索空間范圍;隨后使用隨機(jī)跳躍策略有助于算法跳出局部最優(yōu).李洋洲等[3]在2019年對(duì)參數(shù)c使用兩種曲線自適應(yīng)改進(jìn)策略,這種基于曲線自適應(yīng)和模擬退火的蝗蟲優(yōu)化算法(SA-CAGOA),在求解精度方面有了明顯改進(jìn).然而以上所引文獻(xiàn)仍存在收斂速度慢、尋優(yōu)精度有待優(yōu)化的問題,本文提出一種具有擾動(dòng)機(jī)制和雙重搜索能力萊維飛行的蝗蟲改進(jìn)算法(DLGOA).首先,提出動(dòng)態(tài)自適應(yīng)曲線的函數(shù)取代原本線性遞減的參數(shù)c,使全局搜索和局部開發(fā)得到更好的平衡;其次,設(shè)置擾動(dòng)因子改變位置更新步長(zhǎng),算法的尋優(yōu)精度以及收斂速度均被有效提升;最后,引入帶有雙重搜索功能并具有高斯隨機(jī)分布的約束因子動(dòng)態(tài)步長(zhǎng)的萊維飛行機(jī)制,不僅有效避免算法出現(xiàn)早熟收斂現(xiàn)象,并且增加了種群多樣性,與此同時(shí)提高了尋優(yōu)精度.
蝗蟲算法[1]是在研究蝗蟲在自然界的群行為基礎(chǔ)上而提出的一種基于交互力的元啟發(fā)式智能算法.算法仿生原理是將幼蟲期蝗蟲的小范圍移動(dòng)行為映射為短步長(zhǎng)的局部開發(fā),成蟲期的蝗蟲大范圍移動(dòng)行為映射為長(zhǎng)步長(zhǎng)的全局探索,搜索食物源的過程即為算法的尋優(yōu)過程.蝗蟲的群行為可以用式(1)的數(shù)學(xué)模型來描述:
(1)
(2)
其中式(2)系數(shù)為線性遞減,在式(1)中,外側(cè)的系數(shù)c與PSO中的慣性權(quán)重w原理相似,決定蝗蟲的搜索范圍,為了平衡算法的全局探索和局部開發(fā);內(nèi)側(cè)的系數(shù)c決定蝗蟲間之間吸引、排斥、舒適區(qū)域.式(2)中t表示當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù),cmax、cmin分別為參數(shù)c的最大值和最小值.
GOA中的參數(shù)c算法整體性起關(guān)鍵作用.然而因?yàn)閰?shù)c是線性變化的,在算法初期下降過快,導(dǎo)致蝗蟲不能遍歷更多的解空間,因?yàn)閰?shù)c的線性變化特性導(dǎo)致算法初期全局探索能力不足,算法后時(shí)期,參數(shù)下降趨勢(shì)過于平緩,容易過早的在局部最優(yōu)值附近停滯,收斂速度下降[3].為解決這一問題,提出一種曲線函數(shù)c(t)取代參數(shù)c,使算法的全局探索和局部開發(fā)能力得到更好的平衡,函數(shù)定義如下:
c(t)=(-cmax)×csch(αt)2
(3)
(4)
上式中t是當(dāng)前迭代次數(shù),α是中間量,Tmax、Cmax、Cmin含義已在本文上一節(jié)闡述.從式(3)可以看出,c(t)仍是遞減函數(shù),根據(jù)雙曲函數(shù)性質(zhì),c(t)前期取值較大、下降慢,能讓算法在迭代前期以較大步長(zhǎng)進(jìn)行全局探索;同時(shí)在迭代后期取值較小、下降快,使得算法加快收斂速度.
GOA中蝗蟲的更新位置會(huì)受到當(dāng)前位置,目標(biāo)位置和其他所有蝗蟲的位置共同影響,這表示所有的蝗蟲個(gè)體都影響每只蝗蟲的下一個(gè)位置.因此GOA雖然其局部開發(fā)能力較為優(yōu)秀但全局探索能力相對(duì)有所不足,也就是說GOA易出現(xiàn)在局部最優(yōu)值附近停滯的情況.而算法前期需要大范圍的全局搜索來找到所有可能的解,后期需要小范圍的局部開發(fā)來找到這些可能的解中最優(yōu)的解,為提升算法優(yōu)化性能,本節(jié)引入擾動(dòng)機(jī)制,通過擾動(dòng)因子v改變位置更新步長(zhǎng),使蝗蟲在算法前期在較大范圍內(nèi)探索目標(biāo)位置,更新范圍也隨著迭代次數(shù)的增加而隨之減小,后期圍繞目標(biāo)值均勻分布.擾動(dòng)因子能夠提升尋優(yōu)精度,加快DLGOA收斂速度,從而獲得最優(yōu)解.根據(jù)文獻(xiàn)[4]中獅子移動(dòng)方式的啟發(fā),擾動(dòng)因子定義如下:
(5)
其中,τ表示擾動(dòng)系數(shù),經(jīng)多次實(shí)驗(yàn)τ取值為30時(shí),算法具有最優(yōu)尋優(yōu)能力.其他參數(shù)含義同上.算法加入擾動(dòng)因子的蝗蟲位置更新的公式數(shù)學(xué)模型如式(6)所示:
(6)
GOA在求解非線性優(yōu)化問題時(shí)易陷入局部收斂,全局搜索能力不足,因此在GOA中引入萊維飛行機(jī)制,基本的萊維飛行機(jī)制在尋最優(yōu)過程中雖然增加了算法的全局搜索能力,但是還會(huì)存在陷入局部最優(yōu)的問題,若步長(zhǎng)因子α的值取值較大,雖增強(qiáng)了全局搜索能力,卻不能求得高精度的解,α的值設(shè)定較小,若想尋到算法理論值,算法則需要更多的迭代次數(shù),算法的效率隨之降低.
針對(duì)以上所述問題,本文提出強(qiáng)化搜索的萊維飛行機(jī)制,步長(zhǎng)α由固定值改為隨迭代次數(shù)改變的動(dòng)態(tài)步長(zhǎng)因子,步長(zhǎng)因子α定義如下:
(7)
圖1 α1變化曲線Fig.1 Variation curve of factor α1
萊維飛行服從萊維分布,變異后的萊維飛行機(jī)制數(shù)字模型如公式(8)所示[5]:
(8)
(9)
由圖1所示,由于引入變異步長(zhǎng),動(dòng)態(tài)調(diào)節(jié)搜索步長(zhǎng),在算法中前期,因子變化率隨著迭代次數(shù)成正比關(guān)系,實(shí)現(xiàn)種群由子空間到整體解空間進(jìn)行萊維全局搜索,當(dāng)算法到后期的因子變化率逐漸變小,實(shí)現(xiàn)全局搜索減弱,局部開發(fā)能力增強(qiáng),實(shí)現(xiàn)了的萊維飛行機(jī)制的強(qiáng)化搜索,通過動(dòng)態(tài)地調(diào)整步長(zhǎng),如果出現(xiàn)算法陷入局部最優(yōu)、搜索停滯的情況,較大的步長(zhǎng)可以使得停滯現(xiàn)象消失,幫助算法脫離局部極值;當(dāng)蝗蟲的個(gè)體接近最優(yōu)解的位置時(shí),較小取值的步長(zhǎng)因子能使得個(gè)體加速收斂,提升率算法效率以及尋優(yōu)精度.
雖然經(jīng)過萊維飛行搜索產(chǎn)生的新位置能夠擺脫局部最優(yōu),但并不能保證更新后的位置均勻分布在最優(yōu)位置附近,故在萊維飛行機(jī)制中增加了高斯隨機(jī)分布函數(shù)作為約束因子,使蝗蟲種群更加均勻的分布在探索空間.約束因子定義如下:
γ=N(0,δ)
(10)
其中δ為尺度參數(shù),取值為t/Tmax,隨著迭代次數(shù)的增加動(dòng)態(tài)改變尺度參數(shù)的大小,合理的控制位置的分布.故萊維飛行的最終的位置更新方式如下:
(11)
本文為使算法能夠擺脫局部最優(yōu),增加種群多樣性,提出服從高斯均勻分布且具有雙重搜索功能的萊維飛行策略,但由于策略的隨機(jī)性,更新后的位置相比于原位置未必更為優(yōu)秀,策略最后通過貪婪算法的原理去判斷是否更新后的位置比原位置好,如果更新位置更加有價(jià)值才更新,否則保留原位置,不執(zhí)行更新.
綜上所述,DLGOA是在原始GOA的基礎(chǔ)上進(jìn)行改進(jìn)的,通過改進(jìn)參數(shù)c,使之更合理的平衡全局探索和局部開發(fā);引進(jìn)擾動(dòng)因子改變位置更新方式使算法產(chǎn)生種群多樣性,最大化的遍歷更多的搜索空間;針對(duì)最優(yōu)位置無更新的缺陷,加入改進(jìn)的萊維飛行機(jī)制,根據(jù)最優(yōu)位置的引導(dǎo)作用,使算法不再在局部最優(yōu)值附近停滯,從而使得算法的收斂速度和精度得到一定的提高.結(jié)合第3節(jié)的步驟和結(jié)論,DLGOA的主要流程圖如圖2所示.
圖2 DLGOA流程圖Fig.2 DLGOA flow chart
算法時(shí)間復(fù)雜度分析
根據(jù)第2、3節(jié)內(nèi)容,在GOA的初始化過程中,設(shè)想種群規(guī)模N,空間維度d等參數(shù)需要花費(fèi)執(zhí)行時(shí)間為x1,算法產(chǎn)生均勻分布隨機(jī)數(shù)所需的執(zhí)行時(shí)間為x2,計(jì)算每只蝗蟲對(duì)應(yīng)的適應(yīng)度值的時(shí)間為f(n),排序并保存最優(yōu)位置的時(shí)間為x3,因此算法初始化的時(shí)間復(fù)雜度為:
O(x1+N(n×x2+f(n))+x3)=O(n+f(n))
(12)
在主循環(huán)部分,假設(shè)更新函數(shù)c的時(shí)間為x4,根據(jù)式(1)產(chǎn)生新解的時(shí)間為x5,計(jì)算新解的適應(yīng)度的時(shí)間為f(n),比較新位置與歷史最優(yōu)位置的時(shí)間為x6,更新后的位置被替換為最優(yōu)位置的時(shí)間為x7,循環(huán)主要所需時(shí)間復(fù)雜度為:
O(x4+N(n×x5+f(n)+x6)+x7)=O(n+f(n))
(13)
標(biāo)準(zhǔn)GOA求解每一代最優(yōu)解的時(shí)間復(fù)雜度為:
T(n)=O(n+f(n))+O(n+f(n))=O(n+f(n))
(14)
同理可知,在DLGOA的初始化流程和標(biāo)準(zhǔn)GOA流程完全一致,所以它們的時(shí)間復(fù)雜度相同都為O(n+f(n));由圖2可知DLGOA的流程,在主循環(huán)部分,假設(shè)更新函數(shù)c(t)的時(shí)間為z1,根據(jù)式(1)計(jì)算新位置的時(shí)間為z2,更新適應(yīng)度值的時(shí)間為f(n),比較新位置與最優(yōu)位置和替換最優(yōu)位置的時(shí)間分別是z3和z4,根據(jù)式(6)更新最優(yōu)位置的時(shí)間為z5,進(jìn)行貪婪算法的時(shí)間為z6,由此主循環(huán)部分的時(shí)間復(fù)雜度為:
O(z1+N(n×z2+f(n)+z3+z4)+z6)=O(n+f(n))
(15)
綜上可得,DLGOA每一代求解最優(yōu)解的時(shí)間復(fù)雜度為:
T(n)=O(n+f(n))+O(n+f(n))=O(n+f(n))
(16)
綜上所述,DLGOA算法與GOA算法相比時(shí)間復(fù)雜度一致,本文改進(jìn)算法的改進(jìn)策略對(duì)于算法的時(shí)間復(fù)雜度不會(huì)有負(fù)面影響.
本次實(shí)驗(yàn)使用MATLAB R2018a進(jìn)行實(shí)驗(yàn)仿真,運(yùn)行環(huán)境為64 位 Windows 7操作系統(tǒng),處理器類型為 Intel(R) Core(TM) i5-6500.
為驗(yàn)證本文提出的改進(jìn)算法的性能有效性,實(shí)驗(yàn)通過使用7個(gè)具有單峰與多峰等不同特征的經(jīng)典測(cè)試函數(shù)在維度從5維-100維不等的環(huán)境進(jìn)行驗(yàn)證.
測(cè)試函數(shù)信息如表1所示,其中函數(shù)F1-F4是單峰函數(shù)即只有一個(gè)最優(yōu)值,全局最優(yōu)值與局部最優(yōu)值相同,主要作用來測(cè)試收斂速度,從F5-F7為多峰函數(shù),函數(shù)具有一個(gè)全局最優(yōu)值以及多個(gè)局部極最優(yōu)值,作用于測(cè)試求解精度.
表1 測(cè)試函數(shù)Table 1 Test functions
為驗(yàn)證本文提出的改進(jìn)算法的有效尋優(yōu)能力以及魯棒性,將DLGOA與標(biāo)準(zhǔn)的GOA[1]算法對(duì)比,以及其他群智能算法如蟻獅算法(ALO)[6]、灰狼優(yōu)化算法(GWO)[7]、樽海鞘群算法(SSA)[8]在7個(gè)測(cè)試函數(shù)作比較,其中ALO、GWO和SSA的參數(shù)設(shè)置如表2所示,為避免實(shí)驗(yàn)的偶然性,7個(gè)測(cè)試函數(shù)每個(gè)獨(dú)立運(yùn)行30次,數(shù)據(jù)結(jié)果如表3所示.
表2 參數(shù)設(shè)置Table 2 Parameter setting
由表3可知,GWO整體尋優(yōu)能力雖然比ALO的強(qiáng),但均未尋到理論值,這表明這兩個(gè)群智能算法在高維以及低維的求解優(yōu)化函數(shù)時(shí),尋優(yōu)精度差,尋優(yōu)能力弱,同時(shí),DLGOA與ALO、GWO對(duì)比,DLGOA收斂精度更高.具體的,在高維情況下,ALO和GWO的求解的結(jié)果的平均值均較大,說明ALO,GWO尋優(yōu)能力的不足,而且跳出局部最優(yōu)的能力較弱;對(duì)測(cè)試函數(shù)中單峰函數(shù)尋優(yōu)時(shí),DLGOA均尋到了理論最優(yōu)值,例如函數(shù)F1,ALO的最優(yōu)值3.07E-09,GWO的最優(yōu)值是1.78E-102,而DLGOA的最優(yōu)值是0;對(duì)于3個(gè)多峰函數(shù),DLGOA的解相較于這兩種群智能算法,尋優(yōu)的收斂速度、求解精度均有明顯優(yōu)勢(shì);另外,從表3數(shù)據(jù)可以得知無論是單峰函數(shù)還是多峰函數(shù),與GOA相比,DLGOA在7個(gè)測(cè)試函數(shù)上的尋優(yōu)結(jié)果均優(yōu)于GOA,且除Ackley函數(shù)外,DLGOA對(duì)其他函數(shù)均尋到理論最優(yōu)值,而在對(duì)F6函數(shù)尋優(yōu)時(shí),與GOA的標(biāo)準(zhǔn)差1.01E+00相比,DLGOA的標(biāo)準(zhǔn)差為0,說明DLGOA算法相較于GOA算法具有穩(wěn)定的尋優(yōu)能力.在圖3中,除GWO外,ALO和GOA在尋優(yōu)結(jié)果分布過于局限,且尋優(yōu)精度低,說明存在局部最優(yōu)的缺陷,同時(shí)GWO對(duì)于7個(gè)測(cè)試函數(shù)也沒有尋到理論值,表明DLGOA相較于3種對(duì)比算法具備明顯優(yōu)越的尋優(yōu)能力.
表3 算法對(duì)比結(jié)果Table 3 Comparison of results of different algorithms
圖3 基準(zhǔn)函數(shù)平均收斂曲線Fig.3 Average convergence curve of benchmark function
為了比較不同改進(jìn)策略的有效性同時(shí)驗(yàn)證每一種改進(jìn)策略對(duì)DLGOA的影響,將DLGOA與改進(jìn)函數(shù)c(t)的蝗蟲算法(Parameter GOA,PGOA)、引入擾動(dòng)因子的蝗蟲算法(Disturb GOA,DGOA)和加入改進(jìn)的萊維飛行機(jī)制的蝗蟲算法(Levi Flight GOA,LGOA)作比較.為方便比較說明,相同的參數(shù)與3.2節(jié)設(shè)置一樣,實(shí)驗(yàn)仿真數(shù)據(jù)如表4所示.
由表4的最小值和平均值可反應(yīng)算法的尋優(yōu)能力和收斂精度,在7個(gè)測(cè)試函數(shù)中,尋優(yōu)能力最好的是DGOA,在求解多峰函數(shù)(F5-F7)時(shí),此時(shí)DGOA除了對(duì)F6尋優(yōu)的結(jié)果稍差以外,其余多峰函數(shù)都找到了理論值0,同時(shí)函數(shù)F6的尋優(yōu)精度也比標(biāo)準(zhǔn)GOA高出16個(gè)數(shù)量級(jí),表明DGOA算法在求解F6時(shí)盡管后期陷入了局部最優(yōu),但是其最后的收斂精度比原始的GOA效果好;尋優(yōu)能力次之的是LGOA,在F5能找到最優(yōu)值,在其他測(cè)試函數(shù)較GOA,尋優(yōu)精度都有不同幅度的提升,但DGOA具有更高尋優(yōu)能力和收斂精度,例如圖4(e),DGOA收斂于60代,LGOA收斂于499代,是LGOA的80倍,DGOA收斂速度較快,驗(yàn)證了加入擾動(dòng)因子對(duì)算法蝗蟲個(gè)體的位置更新和算法的收斂速度有積極影響.
表4 不同改進(jìn)策略結(jié)果對(duì)比Table 4 Comparison of results of different improvement strategies
另外,從表4的標(biāo)準(zhǔn)差可知,DLGOA對(duì)測(cè)試函數(shù)尋優(yōu)結(jié)果的所有標(biāo)準(zhǔn)差都為0,驗(yàn)證DLGOA具有很強(qiáng)的魯棒性.表4中DGOA與DLGOA的尋優(yōu)結(jié)果相同,這表明加入擾動(dòng)因子改變位置的更新方式后對(duì)算法跳出局部最優(yōu)起到促進(jìn)作用;LGOA的收斂精度較高于CGOA,較之GOA,每個(gè)函數(shù)尋優(yōu)能力都有不同幅度的提升,在求解多峰函數(shù)Rastrigin時(shí),LGOA能尋到最優(yōu)值0,這是因?yàn)長(zhǎng)GOA在萊維飛行的步長(zhǎng)因子加入雙曲正弦函數(shù)通過數(shù)學(xué)函數(shù)的變化改變蝗蟲種群的個(gè)體狀態(tài),使種群在前期能夠保持多樣性,進(jìn)行全局搜索,后期個(gè)體進(jìn)行局部開發(fā),不斷探索空間尋到全局最優(yōu)位置,全局搜索能力和局部開發(fā)能力得到有效平衡,并提升了尋優(yōu)精度.CGOA與GOA相比,雖然CGOA在各個(gè)測(cè)試函數(shù)中均未能尋到最優(yōu),但由于其引入了調(diào)節(jié)因子,使得參數(shù)c的收斂方式有所調(diào)整,算法前期全局探索時(shí)間變得更加充裕,后期的收斂速度更加迅速,所以收斂精度有明顯提升,例F1函數(shù),兩者間的算法求解精度達(dá)到31個(gè)數(shù)量級(jí)的差距.
最后,結(jié)合表4和圖4可以看出,在位置更新位置加入擾動(dòng)機(jī)制的DGOA改進(jìn)效果最為明顯,改進(jìn)效果次之的是LGOA,CGOA相對(duì)于以上兩個(gè)改進(jìn)策略改進(jìn)效果次之,但是相較于原始算法GOA,收斂效果得到提升,改進(jìn)仍具有一定競(jìng)爭(zhēng)力.
從圖1的圖4(a)-圖4(d)可以看出,在算法前期,GOA的解體現(xiàn)出算法的尋優(yōu)性較差,且其解的分布范圍趨于局限,不具有較好的多樣性,在迭代進(jìn)行到達(dá)后期,其解仍在較小的范圍分布,表明算法已陷入局部最優(yōu).而DLGOA在整個(gè)迭代期,解的分布較廣,保持著多樣性,如圖4(c),DLGOA的解從1.61E+04隨迭代次數(shù)下降到3.60E-300,然后收斂于理論值0.
從圖4(e)-圖4(g)中可以看出,LGOA在測(cè)試函數(shù)中有一小段時(shí)間收斂曲線下降較快,這驗(yàn)證引入萊維飛行策略,有效改進(jìn)了算法在多峰函數(shù)時(shí)易陷入局部最優(yōu)解的問題,使得算法一開始的收斂速度就較快.
圖4 算法不同策略的平均收斂曲線圖Fig.4 Average convergence curves of different strategy algorithms
由圖4可知,DGOA求解函數(shù)收斂所需迭代次數(shù)下降明顯,表明位置更新方式改進(jìn)后,增加了種群多樣性,一定程度上加快了算法收斂,7個(gè)基準(zhǔn)函數(shù),雖然DGOA和DLGOA均達(dá)到了理論值0,但是DLGOA達(dá)到理論值的步數(shù)都比DGOA小,說明DLGOA算法中引入萊維飛行加快了算法的收斂速度;圖4(a)-圖4(d)是單峰高維函數(shù)的平均收斂曲線,可以看出CGOA中引入曲線函數(shù)c(t)對(duì)于平衡全局探索和局部開發(fā)的有效性.
結(jié)合表4和圖4可以看出對(duì)于幾個(gè)改進(jìn)策略,在位置更新處引入擾動(dòng)因子的DGOA的改進(jìn)效果最為明顯,因?yàn)閿_動(dòng)因子的引入使得位置更新方式發(fā)生了變化,明顯的提高了算法的尋優(yōu)精度和加快了收斂速度;改進(jìn)效果次之的是LGOA,但該改進(jìn)策略利用變異步長(zhǎng)增加種群尋優(yōu)空間以及使用高斯隨機(jī)分布函數(shù)在一定程度上增加了種群多樣性,使算法避免陷入局部最優(yōu),提高了算法性能,較之原始算法GOA,每個(gè)函數(shù)尋優(yōu)效果都得到了明顯提高,并且因?yàn)槿R維飛行加入了雙重搜索,F(xiàn)5能找到最優(yōu)值0,使得萊維飛行容易陷入局部最優(yōu)的問題有明顯改進(jìn).CGOA改進(jìn)效果不是很明顯,但該策略對(duì)參數(shù)c進(jìn)行非線性變化,較好的平衡了全局探索和局部開發(fā);將3種改進(jìn)策略結(jié)合在一起,充分融合了各自改進(jìn)策略的優(yōu)勢(shì),使得DLGOA在不管在求解單峰、多峰、低維、高維測(cè)試函數(shù)時(shí)都具有明顯的優(yōu)越性.
為了更好的研究DLGOA的優(yōu)化性能,將本文提出的DLGOA與GS-WOA[9]、MOSCA[10]兩個(gè)其他類型的智能算法比較,以及和新興的蝗蟲改進(jìn)算法F-GOA[11]、GC-GOA[12]進(jìn)行對(duì)比,在10維、30維、200維的不同空間維度下在7個(gè)基準(zhǔn)函數(shù)進(jìn)行尋優(yōu)(表格中相關(guān)文獻(xiàn)未給出的數(shù)據(jù)用“……”表示),參數(shù)設(shè)置與5.2節(jié)一致.
由表5可知,GS-WOA在4種對(duì)比算法中,尋優(yōu)效果是最好的,MOSCA尋優(yōu)結(jié)果較差,F(xiàn)-GOA和GC-GOA尋優(yōu)精度差距不明顯,從實(shí)驗(yàn)結(jié)果分析得出,在收斂精度和穩(wěn)定性兩者皆顧的情況下,DLGOA明顯優(yōu)于4種對(duì)比算法,并且在低維上耗時(shí)最短.
表5 不同維度下與其他群智能算法的結(jié)果對(duì)比Table 5 Comparison of results with other swarm intelligence algorithms in different dimensions
縱向觀察表5,在4種對(duì)比算法中,GS-WOA在尋優(yōu)過程中,只有在 F1、F3、F5、F7這4個(gè)測(cè)試函數(shù)的求解中,才尋到理論值 0,在其他基準(zhǔn)函數(shù)中,例如F2-F4,在 4 中對(duì)比算法無法求解或求解精確度低的情況下,DLGOA 在均能找到理論最優(yōu)值0,具有較高的尋優(yōu)精度和穩(wěn)定性.
在GOA 3種算法對(duì)比中,F(xiàn)-GOA和GC-GOA均未尋到最優(yōu)值,并且由其標(biāo)準(zhǔn)差可知,該算法的尋優(yōu)結(jié)果不穩(wěn)定.在7個(gè)基準(zhǔn)函數(shù)中,DLGOA都找到了理論值,DLGOA具有較高的尋優(yōu)能力和穩(wěn)定性,并且從維度的比較上分析,隨著維度的增加,在其他算法魯棒性和尋優(yōu)能力降低的情況下,DLGOA仍然具備優(yōu)越的尋優(yōu)能力和魯棒性,驗(yàn)證了DLGOA不管在低維還是高維的情況都體現(xiàn)了較高的尋優(yōu)能力和魯棒性.從耗時(shí)方面看,在相同低維情況下,DLGOA比其他兩種GOA算法耗時(shí)更短,隨著維度增加,高維情況下,3個(gè)對(duì)比算法耗時(shí)都有增加,因?yàn)樵诟呔S情況下,算法的搜索空間增大,尋優(yōu)難度隨之增加.
為避免算法發(fā)生偶然優(yōu)勢(shì).文獻(xiàn)[13]提出,統(tǒng)計(jì)檢驗(yàn)應(yīng)作為算法性能的評(píng)估標(biāo)準(zhǔn)之一.本文采用Wilcoxon統(tǒng)計(jì)檢驗(yàn)在5%的顯著性水平下進(jìn)行差異檢驗(yàn).如表6所示,給出了算法以及策略對(duì)7個(gè)測(cè)試函數(shù)尋優(yōu)的Wilcoxon秩和檢驗(yàn)的p值.p<0.05的可以被認(rèn)為是拒絕零假設(shè)的客觀驗(yàn)證.
假設(shè)最佳算法是DLGOA,則通過DLGOA與GOA,CGOA,DGOA,LGOA,ALO,GWO之間進(jìn)行成對(duì)比較.N/A為相應(yīng)的算法可以在秩和檢驗(yàn)中沒有統(tǒng)計(jì)數(shù)據(jù)與自身比較.表6中“+”、“-”、“=”等符號(hào)說明DLGOA的性能優(yōu)于、劣于和相當(dāng)于對(duì)比算法.
表6 測(cè)試函數(shù)Wilcoxon秩和檢驗(yàn)的p值Table 6 p values of Wilcoxon rank sum test of test function
根據(jù)表6中的結(jié)果,DLGOA的p值均低于5%,說明了本文改進(jìn)算法的優(yōu)越性在統(tǒng)計(jì)上是顯著的,即認(rèn)為DLGOA比GAO、ALO、GWO、CGOA和LGOA具有更好的搜索能力.
本文針對(duì)標(biāo)準(zhǔn)蝗蟲算法求解精度不理想,出現(xiàn)局部最優(yōu)附近停滯現(xiàn)象以及算法的收斂速度慢等問題進(jìn)行改進(jìn).算法引入非線性曲線函數(shù)、擾動(dòng)因子,雙重搜索萊維飛行,提高算法全局搜索和局部開發(fā)能力,同時(shí)引入帶有高斯隨機(jī)分布的約束因子,增加種群多樣性,驗(yàn)證本文的算法具有較強(qiáng)的魯棒性,早熟現(xiàn)象的發(fā)生被有效地避免,改進(jìn)了蝗蟲算法求解精度不高的問題,同時(shí)算法的有效性和穩(wěn)定性也得到了驗(yàn)證.