李光陽,潘家文,錢謙+,殷繼彬,伏云發(fā),馮勇
1.昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明650500
2.昆明理工大學(xué) 云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,昆明650500
3.中國農(nóng)業(yè)大學(xué) 信息與電氣工程學(xué)院,北京100083
麻雀搜索算法(sparrow search algorithm,SSA)[1]是Xue 等人在2020 年提出的一種新型群智能算法,該算法受麻雀捕食行為的啟發(fā),將群體分為發(fā)現(xiàn)者、跟隨者和警戒者,并根據(jù)麻雀遭遇天敵的應(yīng)對(duì)策略來構(gòu)建算法的數(shù)學(xué)模型。目前,SSA已廣泛應(yīng)用于路徑規(guī)劃[2]、任務(wù)調(diào)度[3]、網(wǎng)絡(luò)覆蓋[4]等領(lǐng)域。
SSA 因收斂速度快、擴(kuò)展性與魯棒性強(qiáng)等特點(diǎn),受到不少學(xué)者的關(guān)注與研究[5]。但SSA 仍存在一些缺陷,例如收斂精度依賴于初始解的質(zhì)量,搜索過程中種群多樣性衰減過快導(dǎo)致其易陷入局部極值,發(fā)現(xiàn)者易趨近于原點(diǎn)影響算法的收斂能力等。目前已有許多解決這類問題的方法,如混合擾動(dòng)機(jī)制[6]、將麻雀搜索算法與其他算法結(jié)合[7]等,這些方法雖然在一定程度上提升了SSA 的性能,但仍存在進(jìn)一步提高的可能性?,F(xiàn)有的面向SSA性能改進(jìn)的方法大致可以分為以下幾類:
(1)種群初始化:尹德鑫等人[8]在SSA 中引入反向?qū)W習(xí)機(jī)制(opposition-based learning,OBL)增加了初始種群的多樣性,但OBL 在計(jì)算反向點(diǎn)時(shí)僅僅考慮了搜索空間的邊界信息,并沒有充分考慮種群作為一個(gè)尋優(yōu)整體所攜帶的有利信息,導(dǎo)致其優(yōu)化效率仍然較低;張偉康等人[9]利用Circle 混沌映射產(chǎn)生初始種群,在一定程度上增強(qiáng)了算法的全局探索能力,但Circle混沌序列分布不夠均勻,且在[0.2,0.6]之間的取值較為密集,這種現(xiàn)象限制了初始種群的多樣性。為克服上述缺陷,本文借鑒重心反向?qū)W習(xí)[10]的思想提出了一種重心反向?qū)W習(xí)(centroid oppositionbased learning,COBL)策略,該策略根據(jù)種群的重心來計(jì)算反向解,有效提升了初始解的多樣性。
(2)個(gè)體位置更新:付華等人[11]借鑒雞群優(yōu)化算法(chicken swarm optimization algorithm,CSOA)改良了SSA 中跟隨者的位置更新方式,提高了解的精度,但該方法仍存在著缺陷,CSOA 中的個(gè)體因移動(dòng)幅度過大而頻繁越界,影響了算法的收斂速度;溫澤宇等人[12]在發(fā)現(xiàn)者的位置更新公式中引入了多項(xiàng)式變異因子,增強(qiáng)了算法逃逸局部最優(yōu)的能力,但仍未從根本上解決發(fā)現(xiàn)者趨于原點(diǎn)的問題。因此,本文借鑒黃金正弦算法(golden sine algorithm,Gold-SA)[13]提出一種領(lǐng)導(dǎo)策略,該策略在發(fā)現(xiàn)者位置更新公式中加入最優(yōu)個(gè)體來引導(dǎo)其余個(gè)體的搜索方向,增強(qiáng)了算法的全局搜索能力。此外,為平衡算法的勘探能力與開發(fā)能力,本文在領(lǐng)導(dǎo)策略中加入縮放因子,進(jìn)一步提升了算法的性能。
(3)群體變異擾動(dòng):呂鑫等人[14]利用tent 混沌映射來擾動(dòng)算法的種群,增強(qiáng)了算法擺脫局部最優(yōu)的能力,但該方法受限于其單一的擾動(dòng)模式使算法的性能提升有限;李愛蓮等人[15]使用柯西變異對(duì)跟隨者進(jìn)行擾動(dòng),一定程度上強(qiáng)化了算法的全局尋優(yōu)能力,但柯西變異本質(zhì)上屬于鄰域擾動(dòng),當(dāng)最優(yōu)解不在當(dāng)前個(gè)體附近時(shí),其擾動(dòng)效果較為有限?;谏鲜霾蛔悖疚奶岢鲆环N基于學(xué)習(xí)機(jī)制的多混沌映射策略,該策略以輪盤賭的形式為算法動(dòng)態(tài)地選擇合適的混沌映射,大大提高了個(gè)體跳出局部最優(yōu)的成功率。此外,由于混沌擾動(dòng)屬于全局?jǐn)_動(dòng),其在算法局部區(qū)域擾動(dòng)的能力較差,為了彌補(bǔ)該缺陷,在混沌映射策略的基礎(chǔ)上引入了高斯變異策略。
綜上所述,本文提出一種融合學(xué)習(xí)機(jī)制的多混沌麻雀搜索算法(multi-chaotic sparrow search algorithm based on learning mechanism,MMCSSA),算法中的四項(xiàng)改進(jìn)策略協(xié)同作用、相互促進(jìn)提升了算法的性能。為驗(yàn)證MMCSSA的有效性,采用12個(gè)基準(zhǔn)測試函數(shù)進(jìn)行測試,同時(shí)進(jìn)行了Friedman檢驗(yàn)與Nemenyi統(tǒng)計(jì)實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果驗(yàn)證了MMCSSA 的優(yōu)越性和可行性。
在SSA中,存在三種主要的群體:發(fā)現(xiàn)者、跟隨者和警戒者。其中,適應(yīng)度較高的個(gè)體被稱為發(fā)現(xiàn)者,其作用是帶領(lǐng)跟隨者尋找食物,相較于其他個(gè)體,發(fā)現(xiàn)者有更廣泛的搜索范圍,位置更新公式如下:式中,i表示第i只麻雀,i=1,2,…,n;j表示優(yōu)化問題的第j個(gè)維度,j=1,2,…,D;t表示算法第t次迭代;iter表示最大迭代次數(shù);α∈(0,1],是一個(gè)隨機(jī)數(shù);R2∈[0,1]代表預(yù)警值;ST∈[0.5,1.0]表示安全值;Q是服從正態(tài)分布的隨機(jī)數(shù);L表示1×D的矩陣;當(dāng)R2<ST時(shí),說明種群處于安全環(huán)境,此時(shí)發(fā)現(xiàn)者應(yīng)擴(kuò)大搜索范圍;當(dāng)R2≥ST時(shí),表明種群的周圍出現(xiàn)了天敵,為了保證安全,整個(gè)種群飛行到安全區(qū)域進(jìn)行覓食。
在覓食過程中,跟隨者會(huì)時(shí)刻監(jiān)視發(fā)現(xiàn)者,一旦看到發(fā)現(xiàn)者尋找到了食物,跟隨者會(huì)過去爭搶食物,若爭搶失敗,則飛行到其他位置繼續(xù)覓食。跟隨者的位置更新公式如下:
式中,Xworst表示當(dāng)前種群中的最差位置;Xp是目前為止發(fā)現(xiàn)者探明的最優(yōu)位置;A表示為一個(gè)1×D的矩陣,其中每個(gè)元素隨機(jī)為1 或-1,A+=AT(AAT)-1;當(dāng)i>時(shí),表示這部分跟隨者沒有搶到食物,需要移動(dòng)到其他位置進(jìn)行覓食;當(dāng)i≤時(shí),說明跟隨者與發(fā)現(xiàn)者爭奪食物。
種群覓食時(shí),部分麻雀被選作警戒者負(fù)責(zé)偵查預(yù)警,當(dāng)天敵靠近時(shí),它們將會(huì)放棄當(dāng)前的食物并向其他麻雀靠近以躲避危險(xiǎn)。隨機(jī)選出的警戒者通常在種群中占10%或20%左右,警戒者的位置更新公式如下:
式中,Xbest表示當(dāng)前種群中的最優(yōu)位置;β是標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù),用來控制移動(dòng)步長;k是[-1,1]內(nèi)的一個(gè)隨機(jī)數(shù),用于控制麻雀的移動(dòng)方向和距離;fi表示第i個(gè)麻雀的適應(yīng)度值;fg和fw分別表示當(dāng)前全局最優(yōu)位置和全局最差位置的適應(yīng)度值;為了避免分母為0,引入最小的常數(shù)ε;當(dāng)fi>fg時(shí),麻雀易受天敵攻擊,當(dāng)fi=fg時(shí),麻雀意識(shí)到了危險(xiǎn)并向其他麻雀靠近。
有效控制SSA初始種群的質(zhì)量是提高算法性能的一個(gè)重要途徑。初始種群的質(zhì)量主要取決于其搜索范圍和起始位置兩個(gè)因素,若初始種群的搜索范圍過小,會(huì)影響算法的勘探能力;若起始位置靠近全局最優(yōu)解,種群能在更優(yōu)質(zhì)的解空間內(nèi)挖掘有效信息。標(biāo)準(zhǔn)SSA 采用隨機(jī)初始化方法產(chǎn)生種群,該方法難以滿足上述兩個(gè)要求。為解決這個(gè)問題,算法考慮引入反向?qū)W習(xí)策略來產(chǎn)生初始種群,使用反向?qū)W習(xí)策略能夠在更廣闊的范圍內(nèi)找到優(yōu)質(zhì)解,進(jìn)而有效提升初始種群的質(zhì)量。但該方法仍存在一些缺陷,反向?qū)W習(xí)的原理是利用搜索空間的邊界信息計(jì)算個(gè)體的反向解,但在面對(duì)含有“對(duì)稱山峰”的優(yōu)化問題時(shí)[16]會(huì)“失效”(當(dāng)前解的適應(yīng)度與其反向解的適應(yīng)度相同)。為克服這個(gè)缺陷,本文提出一種重心反向?qū)W習(xí)策略來產(chǎn)生初始種群,其基本思想是根據(jù)種群的重心來計(jì)算反向解。重心反向?qū)W習(xí)策略初始化種群的方式如下:
其中,離散均勻體Cj表示為種群重心,是Xi的重心反向點(diǎn)。
影響SSA性能的另一缺陷是發(fā)現(xiàn)者搜索范圍較小且易趨于原點(diǎn),這導(dǎo)致了算法易陷入局部最優(yōu)。當(dāng)R2<ST的條件滿足時(shí),SSA根據(jù)式(1)更新發(fā)現(xiàn)者的位置,式(1)中的決定了發(fā)現(xiàn)者的勘探能力,假設(shè)其計(jì)算所得值為p,則p的取值變化如圖1所示。根據(jù)i取值的不同,p的值常落于[0.9,1.0]內(nèi),這會(huì)導(dǎo)致發(fā)現(xiàn)者的移動(dòng)范圍過小,影響算法的全局探索能力;其次,p的取值總是小于1.0,隨迭代次數(shù)的增加,發(fā)現(xiàn)者的所有元素都不斷地向0 靠近,由于發(fā)現(xiàn)者起著引導(dǎo)種群的作用,上述現(xiàn)象將導(dǎo)致種群中所有個(gè)體都趨于原點(diǎn),這使得SSA 求解最優(yōu)解位置非原點(diǎn)的問題時(shí),算法的搜索速度和收斂精度都受到影響。當(dāng)條件R2≥ST被滿足時(shí),算法會(huì)在個(gè)體的每個(gè)維度都賦予相同的正態(tài)隨機(jī)數(shù)以實(shí)現(xiàn)位置擾動(dòng),但該方法在定義域范圍較大的目標(biāo)問題上所達(dá)到的效果有限。為解決上述問題,本文采用黃金正弦領(lǐng)導(dǎo)策略更新發(fā)現(xiàn)者的位置:
圖1 參數(shù)p的數(shù)值分布Fig.1 Value distribution of parameter p
式中,Xi表示種群的第i個(gè)個(gè)體;t是迭代次數(shù);P為食物(全局最優(yōu)個(gè)體);r1和r2都是隨機(jī)數(shù),r1的隨機(jī)范圍是[0,2π],r1決定了下一次迭代中當(dāng)前個(gè)體的移動(dòng)距離,r2的隨機(jī)范圍是[0,π],r2決定了下一次迭代中當(dāng)前個(gè)體的位置更新方向;x1和x2是引入黃金分割系數(shù)得到的參數(shù),這些參數(shù)共同起到縮放算法搜索空間的作用,有利于加快算法的收斂速度,其中
圖2 和圖3 分別表示某次實(shí)驗(yàn)中原始的發(fā)現(xiàn)者與改進(jìn)后的發(fā)現(xiàn)者的移動(dòng)變化。圖中黑色圓點(diǎn)和紅色圓點(diǎn)分別表示個(gè)體移動(dòng)前與移動(dòng)后的位置,藍(lán)色五角星表示種群當(dāng)前最優(yōu)解的位置。由圖2可知,原始的發(fā)現(xiàn)者更新前后的位置有大量重合點(diǎn),未重合情況下的移動(dòng)距離也偏小,且所有點(diǎn)都朝空間中的原點(diǎn)移動(dòng),搜索方向較為單一,影響了算法的勘探能力;由圖3 可知,本文改進(jìn)后的發(fā)現(xiàn)者在移動(dòng)時(shí)會(huì)朝著多個(gè)方向移動(dòng),且移動(dòng)距離較大,算法的全局搜索能力得到增強(qiáng),同時(shí),種群中其他個(gè)體也會(huì)朝最優(yōu)解所在的方向移動(dòng),進(jìn)一步增強(qiáng)了算法的收斂能力。由分析可知,本文引入的黃金正弦領(lǐng)導(dǎo)策略改善了發(fā)現(xiàn)者的移動(dòng)路徑,避免了種群易趨于原點(diǎn)的缺陷。
圖2 原始發(fā)現(xiàn)者移動(dòng)Fig.2 Original finder movement
圖3 改進(jìn)后的發(fā)現(xiàn)者移動(dòng)Fig.3 Improved finder movement
為了進(jìn)一步調(diào)節(jié)算法在勘探能力和開發(fā)能力之間的平衡,本文在發(fā)現(xiàn)者的位置更新公式中引入縮放因子w。
式中,i為迭代次數(shù),M代表最大迭代次數(shù)。縮放因子w與全局最優(yōu)解P共同決定了最優(yōu)解引導(dǎo)種群的能力。圖4 表示動(dòng)態(tài)因子w隨迭代次數(shù)變化的函數(shù)曲線(實(shí)線表示),相比線性變換(虛線表示),w在迭代初期上升緩慢,全局最優(yōu)解的引導(dǎo)力較小,有效避免了前期因聚集而導(dǎo)致的種群多樣性減少,保證了算法前期的搜索能力;隨著算法進(jìn)入迭代后期,w值快速增加,使最優(yōu)解對(duì)種群的引導(dǎo)力顯著增強(qiáng),種群更迅速聚集在最優(yōu)解周圍進(jìn)行開發(fā),增強(qiáng)了算法的收斂能力。由上述分析可知,w值的變化決定了全局最優(yōu)解對(duì)種群的引導(dǎo)能力,通過分階段地調(diào)節(jié)w值,避免了算法前期搜索能力較弱、后期收斂速度較慢的情況,更好地平衡了算法在不同時(shí)期勘探能力和開發(fā)能力之間的平衡。
圖4 縮放因子w 隨迭代變化曲線Fig.4 Scaling factor w varies with iteration
SSA 在搜索后期因種群多樣性急劇減少易陷入局部最優(yōu),使得SSA收斂精度降低。因此,需要在計(jì)算過程中對(duì)個(gè)體進(jìn)行持續(xù)擾動(dòng)來增加算法迭代后期的多樣性。利用混沌映射進(jìn)行擾動(dòng)是改善上述缺陷的一個(gè)有效方法,但已有研究大多使用單一的混沌映射對(duì)個(gè)體進(jìn)行擾動(dòng),擾動(dòng)效果一般。為提升擾動(dòng)效率,本文在前人研究的基礎(chǔ)上[17-18]提出了一種基于學(xué)習(xí)機(jī)制的多混沌映射策略。
2.3.1 多混沌映射模型
通過對(duì)常見的混沌映射進(jìn)行比較,本文選出概率分布均勻的Kent映射、概率分布非均勻的Logistic映射、Sine 映射、ICMIC 映射、Circle 映射、Chebyshev映射、Gauss映射7個(gè)具有代表性的混沌映射,用于該多混沌映射模型。每種混沌映射都有不同的分布特性,例如Circle 映射的概率分布呈現(xiàn)山峰形態(tài),即中間有較高的概率密度值,而兩邊的密度值較低;ICMIC 映射的概率分布是一個(gè)山谷形態(tài),中間的概率密度值較低,兩邊較高。每次迭代后期選擇混沌映射對(duì)種群中所有個(gè)體進(jìn)行擾動(dòng),其計(jì)算公式和用到的混沌映射如下:
式中,U和L分別是搜索空間上邊界和下邊界;r=r×0.988 為混沌搜索半徑變化公式,其搜索半徑隨迭代次數(shù)的增加而減小,使得算法在迭代后期有更快的收斂速度;zt表示在第t代時(shí)所使用的混沌變量。個(gè)體經(jīng)混沌擾動(dòng)再使用貪心策略保留較優(yōu)個(gè)體,其數(shù)學(xué)表達(dá)式為:
2.3.2 學(xué)習(xí)選擇機(jī)制
在某些研究中[19-20],機(jī)器學(xué)習(xí)方法被用來分析歷史數(shù)據(jù)(如種群進(jìn)化信息和問題特征信息),以便指導(dǎo)算法。借鑒該思想,本文使用學(xué)習(xí)周期的歷史信息來決定混沌轉(zhuǎn)盤的概率,這種概率是種群當(dāng)前搜索特征的本質(zhì)表達(dá)。如圖5所示,混沌映射所對(duì)應(yīng)的概率越大,表明該混沌映射對(duì)種群的影響越大,在下一周期有更高的概率擾動(dòng)成功(尋得更優(yōu)解)。用表示第t次迭代時(shí)第j個(gè)混沌映射擾動(dòng)成功的次數(shù),計(jì)算公式如下:
圖5 初始概率輪盤Fig.5 Initial probability roulette
每過一個(gè)學(xué)習(xí)周期,成功次數(shù)需要重置為0。第一個(gè)學(xué)習(xí)周期中默認(rèn)每個(gè)混沌映射以均勻概率被選擇,之后的每個(gè)學(xué)習(xí)周期混沌映射的選擇概率由以下公式計(jì)算:
式中,c指第c個(gè)學(xué)習(xí)周期,n表示種群中的個(gè)體數(shù)量,tj是第j個(gè)混沌映射在一個(gè)學(xué)習(xí)周期內(nèi)被選中的次數(shù)。MMCSSA在每個(gè)學(xué)習(xí)周期的間隔都會(huì)通過式(12)更新概率輪盤并為下一學(xué)習(xí)周期選擇混沌映射。
多混沌映射策略的作用域是整個(gè)搜索空間,擾動(dòng)失敗意味著搜索空間其他區(qū)域有更優(yōu)解的可能性較??;由高斯分布的概率分布可知,高斯變異策略是在個(gè)體鄰域內(nèi)進(jìn)行深度開發(fā),有利于提高解的收斂精度。為了進(jìn)一步提升算法的性能,對(duì)個(gè)體擾動(dòng)時(shí),若混沌擾動(dòng)失敗就使用高斯變異進(jìn)行二次擾動(dòng)。高斯分布的概率密度函數(shù)和高斯變異策略的數(shù)學(xué)模型分別如下所示:
MMCSSA的具體實(shí)現(xiàn)流程如圖6所示。
圖6 改進(jìn)算法流程圖Fig.6 Flow chart of improved algorithm
步驟1初始化種群X、各項(xiàng)參數(shù),設(shè)置混沌概率輪盤。
步驟2初始種群根據(jù)式(4)、式(5)進(jìn)行重心反向操作得到新種群Xrev,分別計(jì)算種群X和Xrev的適應(yīng)度,選取適應(yīng)度較好的個(gè)體組成精英種群Xeli。
步驟3按比例劃分發(fā)現(xiàn)者、跟隨者、警戒者,并分別根據(jù)式(7)、式(2)、式(3)更新個(gè)體位置。
步驟4根據(jù)概率輪盤選擇混沌映射并對(duì)當(dāng)前種群進(jìn)行擾動(dòng),利用式(10)判斷是否擾動(dòng)成功;若擾動(dòng)成功,記錄成功次數(shù);否則使用式(14)對(duì)擾動(dòng)失敗的個(gè)體進(jìn)行高斯變異。
步驟5判斷迭代次數(shù)是否為50 的倍數(shù);若判定為真,根據(jù)式(12)計(jì)算擾動(dòng)成功率并更新概率輪盤,否則進(jìn)入下一步。
步驟6判斷算法是否滿足終止條件,若滿足,輸出最優(yōu)解;否則返回步驟3。
為了驗(yàn)證本文所提MMCSSA 的有效性和優(yōu)越性,采用國際上通用的12個(gè)經(jīng)典函數(shù)(f1~f12)進(jìn)行仿真實(shí)驗(yàn),詳細(xì)描述如表1 所示。表中的函數(shù)均來自IEEE CEC(IEEE Congress on Evolutionary Computation)競賽集[21-22],f1~f4表示只有一個(gè)全局最優(yōu)解的單峰函數(shù),f5~f12是指具有多個(gè)局部最優(yōu)解的多峰函數(shù)。本文選取SSA、GWO(grey wolf optimizer)、文獻(xiàn)[11]中的ISSA(improved sparrow search algorithm with multistrategy integration and its application)以及文獻(xiàn)[14]中的CSSA(chaos sparrow search optimization algorithm)作為對(duì)比算法進(jìn)行實(shí)驗(yàn),其中CSSA 用于對(duì)比驗(yàn)證MMCSSA逃逸局部極值的能力,ISSA用于對(duì)比驗(yàn)證MMCSSA的全局搜索的能力。
表1 基準(zhǔn)測試函數(shù)Table 1 Benchmark functions
為保證實(shí)驗(yàn)公平,所有算法均采用相同的參數(shù),種群數(shù)目N設(shè)置為30,最大迭代次數(shù)M設(shè)為600,發(fā)現(xiàn)者在種群中的數(shù)目比例為0.2,警戒者為0.1。在MMCSSA中,經(jīng)多次實(shí)驗(yàn),多混沌映射策略學(xué)習(xí)周期按經(jīng)驗(yàn)設(shè)置為50代時(shí)有最佳的擾動(dòng)效果。所有仿真實(shí)驗(yàn)均在Windows 10 操作系統(tǒng),MATLAB R2019B仿真平臺(tái)下進(jìn)行,每種算法獨(dú)立運(yùn)行30次。
表2 展現(xiàn)了不同算法在12 個(gè)測試函數(shù)中不同維度下的實(shí)驗(yàn)結(jié)果,旨在從單峰/多峰、低維/高維多個(gè)角度來分析所提算法的收斂精度。其中,每個(gè)函數(shù)的最佳值加粗顯示。單峰函數(shù)f1、f2、f3、f4一般用于測試算法的開發(fā)能力,由表2可以看出,MMCSSA在單峰函數(shù)上的表現(xiàn)優(yōu)于CSSA,這是因?yàn)閱位煦绲臄_動(dòng)模式不能幫助CSSA 在迭代后期跳出局部最優(yōu)解,而多混沌映射及時(shí)選取了合適的擾動(dòng)模式加強(qiáng)了算法逃逸局部極值的能力;MMCSSA在f3、f4達(dá)到了理論最優(yōu)解且領(lǐng)先其余算法數(shù)十個(gè)量級(jí),這是因?yàn)镸MCSSA 的4 個(gè)改進(jìn)策略不是單純地疊加,而是有機(jī)互補(bǔ)的,共同提升了算法的收斂精度。另外,MMCSSA在f1~f4的標(biāo)準(zhǔn)差都為0,這說明MMCSSA求解單峰函數(shù)時(shí)穩(wěn)定性較好,其背后的原因是將固定趨于原點(diǎn)的移動(dòng)方式轉(zhuǎn)變?yōu)槭苋肿顑?yōu)位置與個(gè)體自身位置共同牽引的移動(dòng)方式,提升了算法的搜索能力,進(jìn)而保證了算法的優(yōu)化穩(wěn)定性。多峰函數(shù)f5~f12常用于測試算法的勘探能力,MMCSSA在f6、f10、f11、f12的收斂精度均優(yōu)于其他算法,在f5、f7、f8、f9上持平于其他改進(jìn)的SSA,說明MMCSSA 在復(fù)雜函數(shù)上的收斂精度優(yōu)于其他算法。綜上所述,MMCSSA 與其他改進(jìn)的SSA 相比,在單峰和多峰測試函數(shù)上表現(xiàn)出了更加高的收斂精度。
表2 函數(shù)測試結(jié)果Table 2 Function test results
為了驗(yàn)證MMCSSA 收斂速度的優(yōu)越性,圖7 描繪了測試函數(shù)的迭代收斂曲線??梢钥闯?,MMCSSA在收斂速度上同樣優(yōu)于其他算法,具體原因?yàn)椋海?)圖7(d)、(e)、(h)、(i)、(j)中MMCSSA 的初始適應(yīng)度值要優(yōu)于其他算法,說明算法初始化時(shí)重心反向?qū)W習(xí)策略產(chǎn)生的精英種群賦予了算法足夠的解空間有效信息。(2)黃金正弦領(lǐng)導(dǎo)策略和多混沌映射策略中分別加入了縮放因子和混沌搜索半徑。在迭代后期,縮放因子使種群快速向全局最優(yōu)解靠攏,搜索半徑使混沌擾動(dòng)效果逐漸減小,兩者共同作用進(jìn)一步提升了算法的收斂速度。(3)多混沌映射策略與高斯變異策略使算法的擾動(dòng)成功率大大提升,顯著地增強(qiáng)了算法的搜索能力,進(jìn)而促進(jìn)了算法的快速收斂。
圖7 算法收斂曲線對(duì)比圖Fig.7 Algorithm convergence curve comparison diagram
為了更準(zhǔn)確地評(píng)估每個(gè)算法的性能,本文采用Friedman 檢驗(yàn)與Nemenyi 后續(xù)檢驗(yàn)[23]作為模型的性能評(píng)價(jià)工具來驗(yàn)證MMCSSA算法的優(yōu)越性。
Friedman檢驗(yàn)屬于統(tǒng)計(jì)假設(shè)檢驗(yàn),其基本步驟是:
首先建立一個(gè)假設(shè)檢驗(yàn)問題:
H0:k個(gè)算法之間無顯著差異
H1:k個(gè)算法之間存在顯著差異
然后在同一個(gè)測試函數(shù)上按照測試結(jié)果對(duì)算法性能進(jìn)行排序,根據(jù)性能由好到差對(duì)算法依次賦序值。若算法性能相同則將序值平分。結(jié)果見表3。
表3 序值表Fig.3 Sequence value table
平均序值ri一般符合自由度為k-1的x2分布,為了獲得更準(zhǔn)確的檢驗(yàn)結(jié)果,現(xiàn)使用式(15)進(jìn)行假設(shè)檢驗(yàn),TF是服從自由度為k-1 和(k-1)(N-1)的F分布(N為數(shù)據(jù)集即測試函數(shù)數(shù)量)。將TF的值與F檢驗(yàn)臨界值表中對(duì)應(yīng)的數(shù)值進(jìn)行對(duì)比,TF的值小于對(duì)應(yīng)的數(shù)值,則表明“k個(gè)算法之間無顯著差異”這一假設(shè)被拒絕,即“k個(gè)算法之間存在顯著差異”。根據(jù)式(15)和式(16)計(jì)算出TF并查表比較,得出“5 個(gè)算法之間存在顯著差異”這一結(jié)論。
為了進(jìn)一步評(píng)價(jià)算法間的性能差異,接著使用Nemenyi 后續(xù)檢驗(yàn)。根據(jù)式(17)計(jì)算臨界值域CD,其中α表示顯著性水平,一般取值為0.05 和0.10,本文中取0.05,即置信度是95%,qα為Nemenyi后續(xù)檢驗(yàn)中常用的參數(shù)。
通過計(jì)算,臨界值域CD為1.76。若兩個(gè)算法的平均序值的差值大于CD,則以相應(yīng)的置信度拒絕“兩個(gè)算法性能相同”這一假設(shè)。Friedman 檢驗(yàn)圖如圖8所示。
圖8 Friedman檢驗(yàn)圖Fig.8 Friedman test diagram
圖8中橫軸表示序值,每個(gè)黑點(diǎn)代表其對(duì)應(yīng)算法的平均序值,線段的長度為臨界值域CD??v軸上一個(gè)刻度點(diǎn)代表一個(gè)算法。若線段末端垂下的虛線與其他線段沒有交點(diǎn),則表示該線段對(duì)應(yīng)的算法的性能顯著優(yōu)于其余線段對(duì)應(yīng)的算法性能。由圖8可知,MMCSSA 的性能顯著優(yōu)于SSA、GWO,同時(shí)也優(yōu)于CSSA和ISSA。
設(shè)種群規(guī)模為N,目標(biāo)問題的維度為D,最大迭代次數(shù)為T。一般情況下,D>lbN。
SSA的時(shí)間復(fù)雜度主要由種群初始化、個(gè)體位置更新兩部分構(gòu)成。初始化階段,計(jì)算N個(gè)個(gè)體適應(yīng)度值的時(shí)間復(fù)雜度為O(N×D),則初始化階段的時(shí)間復(fù)雜度為O(N×D);迭代中,種群個(gè)體位置更新的時(shí)間復(fù)雜度為O(T(N×D))。綜上,SSA的總時(shí)間復(fù)雜度為O(N×D)+O(T(N×D)),略去低階項(xiàng),SSA 的時(shí)間復(fù)雜度為O(T(N×D))。
MMCSSA 的時(shí)間復(fù)雜度主要由種群初始化、個(gè)體位置更新和群體擾動(dòng)三部分構(gòu)成。初始化階段,計(jì)算N個(gè)個(gè)體適應(yīng)度值的時(shí)間復(fù)雜度為O(N×D),按2.1 節(jié)對(duì)初始種群進(jìn)行重心反向?qū)W習(xí)策略的時(shí)間復(fù)雜度為O(N),選出精英種群的時(shí)間復(fù)雜度為O(NlbN),則初始化階段時(shí)間復(fù)雜度為O(N×D)+O(N)+O(NlbN),略去低階項(xiàng),即O(N×D);迭代中,種群個(gè)體位置更新的時(shí)間復(fù)雜度為O(T(N×D)),按2.3節(jié)進(jìn)行多混沌擾動(dòng)的時(shí)間復(fù)雜度為O(T(N×D)),多混沌擾動(dòng)結(jié)果判別的時(shí)間復(fù)雜度為O(1),按2.4 節(jié)進(jìn)行高斯變異時(shí)間復(fù)雜度為O(T(N×D)),則迭代中的時(shí)間復(fù)雜度為O(T(N×D))。綜上,MMCSSA的總時(shí)間復(fù)雜度為O(N×D)+O(T(N×D)),略去低階項(xiàng),MMCSSA的時(shí)間復(fù)雜度為O(T(N×D))。
可以看出MMCSSA 與SSA 的時(shí)間復(fù)雜度相同,且MMCSSA有更好的優(yōu)化性能。
MMCSSA 為隨機(jī)優(yōu)化算法,根據(jù)算法全局收斂性定理[24],隨機(jī)優(yōu)化算法具有全局收斂性需要滿足以下兩個(gè)條件。
條件1f(D(z,ξ))≤f(z),若ξ∈S,則f(D(z,ξ))≤f(z)。其中,f為最小化問題的目標(biāo)函數(shù);D表示隨機(jī)算法;z為能夠使目標(biāo)函數(shù)的值最小化的解;ξ為算法D迭代搜索中的解;S代表可行解空間。若滿足條件1,表明目標(biāo)函數(shù)的值有可接受的下確界。
條件2對(duì)于S中的任意Borel 子集A,若其概率測度V[A]>0,則有:
其中,μk(A)=P(xk∈A|x0,x1,…,xk-1)為算法D第k次迭代的解在集合A中的概率測度。若滿足條件2,表明算法經(jīng)過無窮次迭代后,不可能錯(cuò)過解空間S的任意Borel 子集A,即滿足條件的算法無窮次迭代后搜索不到近似全局最優(yōu)點(diǎn)的概率為0。
引理1(隨機(jī)優(yōu)化算法全局收斂定理)若函數(shù)f可測,搜索空間S是n維實(shí)數(shù)集Rn,實(shí)數(shù)集上的可測子集,隨機(jī)優(yōu)化算法D滿足條件1和條件2,則有:
其中,P[XK∈R]是算法第k代的結(jié)果落在R里的概率,R是全局最優(yōu)點(diǎn)集合,即算法無窮次迭代后必定搜索到全局最優(yōu)解。
定理1MMCSSA滿足條件1
證明根據(jù)MMCSSA中的描述將D定義為:
其中,Gt為第t代時(shí)全局最優(yōu)解的位置,函數(shù)h對(duì)應(yīng)動(dòng)態(tài)調(diào)整的黃金正弦的位置移動(dòng)操作,h(Xi,t)表示麻雀個(gè)體i按式(7)位置更新后的位置;函數(shù)y對(duì)應(yīng)混沌擾動(dòng)和高斯變異操作,y(Xi,t)表示麻雀i進(jìn)行混沌擾動(dòng)和高斯變異后的位置。以上操作都使用貪心策略進(jìn)行位置更新,按照上述定義,可知Gt的適應(yīng)度值單調(diào)不增,即條件1成立。
定理2MMCSSA滿足條件2
證明對(duì)于MMCSSA 中的自適應(yīng)黃金正弦領(lǐng)導(dǎo)策略,有:
對(duì)于MMCSSA 中麻雀個(gè)體經(jīng)過混沌擾動(dòng)和高斯變異后,對(duì)較差個(gè)體進(jìn)行替代的更新機(jī)制,支撐集的并集為δ,隨著迭代次數(shù)的增加,V[δ]也在逐漸變大。因此,對(duì)于MMCSSA,存在正整數(shù)t1,當(dāng)t>t1時(shí):
條件2成立。
由引理可知,MMCSSA具有全局收斂性。
4.3.1 初始化策略的持續(xù)影響分析
為分析重心反向?qū)W習(xí)策略在算法迭代周期的性能影響,分別使用隨機(jī)初始種群與本文所提初始化方法產(chǎn)生的精英種群來優(yōu)化Bent Cigar 函數(shù)。該函數(shù)在搜索空間內(nèi)的全局最小值的空間坐標(biāo)為x*=(0,0,0)。圖9~圖11分別給出了兩個(gè)種群在迭代初期、中期及后期的空間位置分布。圖中黑色圓點(diǎn)表示隨機(jī)初始種群中的個(gè)體(隨機(jī)個(gè)體),紅色圓點(diǎn)為隨機(jī)個(gè)體經(jīng)過重心反向?qū)W習(xí)策略初始化產(chǎn)生的個(gè)體(精英個(gè)體),藍(lán)色五角星表示種群當(dāng)前最優(yōu)解的位置。
圖9 迭代初期Fig.9 In early iterations
圖10 迭代中期Fig.10 In mid iterations
圖11 迭代后期Fig.11 In late iterations
由圖9 可知,迭代初期,精英個(gè)體普遍接近全局最優(yōu)解,說明初始種群經(jīng)重心反向?qū)W習(xí)策略與貪心策略雙重處理后產(chǎn)生了更加優(yōu)越的精英個(gè)體。由圖10 可以看出,在迭代中期,相比隨機(jī)個(gè)體,精英個(gè)體可以更快地接近全局最優(yōu)解,說明精英個(gè)體所代表的種群在迭代周期變遷時(shí)仍保持了較好的收斂能力。圖11表明了種群在迭代后期仍產(chǎn)生了新的最優(yōu)解,且全局最優(yōu)位置是由精英個(gè)體發(fā)現(xiàn)的。一方面,精英個(gè)體的位置向量在一定程度上代表優(yōu)秀的探索方向,可以充分利用種群已有的有效信息;另一方面,精英個(gè)體在搜索時(shí)會(huì)圍繞當(dāng)前最優(yōu)解不斷地挖掘其周邊區(qū)域的有效信息,兩者相互配合,共同推動(dòng)了算法收斂精度的提高。綜上所述,重心反向?qū)W習(xí)策略持續(xù)引導(dǎo)了MMCSSA 種群的搜索方向,有效提升了算法的收斂精度。
4.3.2 學(xué)習(xí)機(jī)制的多混沌映射理論及有效性分析
混沌序列的概率分布特性和搜索速度是影響混沌擾動(dòng)的兩個(gè)主要因素,分別用概率密度函數(shù)(probability density function,PDF)和Lyapunov 指數(shù)表示[25]。表4展示了每種混沌映射的函數(shù)表達(dá)式、使用到的參數(shù)以及Lyapunov 指數(shù)。Lyapunov 指數(shù)的值都大于0,表示在區(qū)間范圍內(nèi)所有映射均處于混沌狀態(tài)。
表4 Lyapunov指數(shù)Table 4 Lyapunov exponents
圖12 展現(xiàn)了不同混沌映射的概率分布情況,圖中橫軸z表示混混變量的值,縱坐標(biāo)P(z)是z對(duì)應(yīng)的概率密度的值。由圖12(b)和圖12(f)可以看出,由于Logistic 映射與Chebyshev 映射可以通過線性變換互相轉(zhuǎn)換,兩種混沌映射的概率分布情況十分相似,僅在變量z的區(qū)間有所不同。此外,隨著參數(shù)的不同,混沌映射會(huì)同步變化,其對(duì)應(yīng)的概率密度函數(shù)也在不斷地變化。
圖12 固定參數(shù)概率密度函數(shù)圖Fig.12 Fixed parameter probability density function diagram
為分析概率分布對(duì)混沌擾動(dòng)效果的影響,比較多混沌擾動(dòng)與單一混沌擾動(dòng)的性能,選用標(biāo)準(zhǔn)SSA、單一混沌映射的SSA(X-sparrow search algorithm,X-SSA)[25]、隨機(jī)選擇機(jī)制的多混沌SSA(multiplechaotic sparrow search algorithm with random selection mechanism,RCSSA)[26]以及學(xué)習(xí)選擇機(jī)制的多混沌SSA(MMCSSA)四種不同的SSA變體對(duì)測試函數(shù)進(jìn)行尋優(yōu)實(shí)驗(yàn)。其中,X-SSA 用來分析概率分布與擾動(dòng)性能的內(nèi)在聯(lián)系;X-SSA 與RCSSA 的比較用于驗(yàn)證多混沌映射策略的有效性;RCSSA與MMCSSA的比較用來驗(yàn)證學(xué)習(xí)機(jī)制的優(yōu)越性。為了保證實(shí)驗(yàn)的公平性,實(shí)驗(yàn)結(jié)果取100 次實(shí)驗(yàn)的平均值,MMCSSA只使用學(xué)習(xí)機(jī)制的多混沌映射策略。測試函數(shù)選取圖13中的5個(gè)基準(zhǔn)函數(shù)[27]。
圖13 5個(gè)測試函數(shù)Fig.13 5 test functions
函數(shù)f1Rosenbrock 有一個(gè)全局最小值點(diǎn)x*=(1,1,…,1),其最優(yōu)目標(biāo)函數(shù)值為f*=0 ;函數(shù)f2Schwefel 2.26 有多個(gè)局部極小值點(diǎn)和一個(gè)全局最小值點(diǎn)x*=(420.968,420.968,…,420.968),f*=-418.98d,d為問題維度;函數(shù)f3Rastrigin’s 有很多局部極小點(diǎn)和一個(gè)全局最小值點(diǎn)x*=(0,0,…,0),f*=0;函數(shù)f4Griewank’s 有多個(gè)局部極小值點(diǎn)和一個(gè)全局最小值點(diǎn)x*=(0,0,…,0),f*=0;函數(shù)f5有多個(gè)局部極小值點(diǎn)和一個(gè)全局最小值點(diǎn)x*=(-2.905,-2.905,…,-2.905),f*=-78.332。
為更清晰地描述不同分布特性對(duì)算法產(chǎn)生的擾動(dòng)效果的影響,除了2.3.1 小節(jié)中提到的7 個(gè)混沌映射,表5、表6 中的實(shí)驗(yàn)還加入與Kent 映射有相同概率分布的Bernoulli shift映射作為對(duì)照組。
表5、表6 展示了采用不同混沌策略的SSA 變體對(duì)基準(zhǔn)函數(shù)進(jìn)行測試的結(jié)果。表中LOC 代表Logistic;KET 代表Kent;BEI 代表Bernoulli;SIE 代表Sine;ICC 代表ICMIC;CIE代表Circle;CHY 代表Chebyshev;GAS代表Gauss。由表中數(shù)據(jù)分析可知:
表5 基準(zhǔn)函數(shù)測試結(jié)果Table 5 Benchmark function test results
表6 算法性能排名Table 6 Algorithm performance ranking
(1)對(duì)于單一混沌擾動(dòng),KET-SSA、CIE-SSA、BEI-SSA 有較高的性能,LOC-SSA、GAS-SSA、SIESSA為一般性能,CHY-SSA 和ICC-SSA為較低性能。因?yàn)锽EI-SSA和KET-SSA用到的混沌映射有相同的概率分布,所以兩種算法的性能非常接近,它們之間的細(xì)微差異來源于算法的內(nèi)在隨機(jī)性。此外,由表5、表6 可以發(fā)現(xiàn)每個(gè)混沌映射所適用的函數(shù)是不同的,Logistic 映射在函數(shù)f2、f4上表現(xiàn)良好,對(duì)于函數(shù)f5的表現(xiàn)較差,Gauss 映射在函數(shù)f3、f5上表現(xiàn)良好,對(duì)于函數(shù)f1、f2的表現(xiàn)較差。
(2)混沌映射的概率密度函數(shù)的分布情況與混沌擾動(dòng)的效果有著直接關(guān)系。因?yàn)樯鲜? 個(gè)測試函數(shù)的最優(yōu)解位置是確定的,所以其對(duì)應(yīng)的混沌變量Zi的值也是確定的。對(duì)于f1,全局最優(yōu)位置對(duì)應(yīng)的混沌變量的值位于(0.4,0.6)區(qū)間,而Circle 映射的概率密度函數(shù)的峰值也出現(xiàn)在(0.4,0.6)區(qū)間內(nèi),這意味著經(jīng)過Circle 映射擾動(dòng)的個(gè)體有較大的概率移動(dòng)到最優(yōu)解附近,圖14 形象地展示了高成功率擾動(dòng)的方式;而ICMIC 映射的概率分布在(0.4,0.6)區(qū)間內(nèi)的值較小,因此其擾動(dòng)后的個(gè)體出現(xiàn)在最優(yōu)點(diǎn)附近的概率較低,導(dǎo)致混沌擾動(dòng)的效果較差。
圖14 高成功率擾動(dòng)Fig.14 High success rate disturbance
混沌映射產(chǎn)生序列的值是固定的,如果其值未出現(xiàn)在全局最優(yōu)解對(duì)應(yīng)的概率分布的區(qū)間內(nèi),那么算法經(jīng)混沌擾動(dòng)后找到全局最優(yōu)解的概率會(huì)大大降低。為克服上述缺陷,需要?jiǎng)討B(tài)地調(diào)整“軌道”。本文使用基于學(xué)習(xí)機(jī)制的概率輪盤動(dòng)態(tài)地選擇混沌映射為算法切換不同的“軌道”。下面通過實(shí)驗(yàn)來分析學(xué)習(xí)機(jī)制優(yōu)勢產(chǎn)生的原因。
實(shí)驗(yàn)分別使用RCSSA 和MMCSSA 求解函數(shù)f1。由于Bernoulli shift 映射和Kent映射具有相同的概率密度函數(shù),其擾動(dòng)模式重復(fù),因此表7 和第3 章中的仿真實(shí)驗(yàn)都只使用Kent映射。
表7 各階段概率輪盤Table 7 Probability wheel of each stage
表7給出了兩種算法在函數(shù)f1上進(jìn)行10個(gè)周期(Cycle)測試的結(jié)果。第二列表示相應(yīng)算法在每個(gè)周期中突破當(dāng)前全局最優(yōu)解的次數(shù);Select probability表示每個(gè)周期所使用的概率輪盤。由于個(gè)體擾動(dòng)成功次數(shù)的作用是設(shè)置概率輪盤,并不代表全局最優(yōu)解得到突破,為了直觀地觀察每個(gè)周期全局最優(yōu)解被突破的次數(shù),第二列中記錄了最優(yōu)位置擾動(dòng)成功的次數(shù)。周期1是均勻概率輪盤,每個(gè)映射被選到的概率為14.28%;周期2中Logistic 映射有最高的擾動(dòng)成功率,而Logistic 映射并不是最適合求解f1的映射,取得這一結(jié)果的原因是擾動(dòng)的內(nèi)在隨機(jī)性;周期3和周期4中Circle映射和Kent映射對(duì)種群擾動(dòng)的成功率相比周期2有顯著的提高;在周期7與周期8中,Circle 映射逐漸占據(jù)了主導(dǎo)地位,這是因?yàn)镃ircle 映射的概率分布的峰值出現(xiàn)在[0.4,0.6]區(qū)間內(nèi),實(shí)現(xiàn)了高成功率擾動(dòng);從周期9開始,Gauss 映射擾動(dòng)的成功率突然增加,而Circle 映射擾動(dòng)的成功率快速下降,這種現(xiàn)象產(chǎn)生的原因是Circle 映射的分布特性已經(jīng)不適用于算法的收斂階段,此時(shí)需要選擇更合適的Gauss映射對(duì)種群進(jìn)行持續(xù)擾動(dòng)。以上分析表明,即使是最有效的混沌映射,也不能在算法求解的整體擾動(dòng)過程中都發(fā)揮最大的作用,而本文提出的多混沌映射策略解決了這一缺陷。此外,由MMCSSA 和RCSSA在各階段的全局最優(yōu)解被擾動(dòng)成功的次數(shù)可知,本文所提的學(xué)習(xí)機(jī)制的多混沌映射策略能夠有效提升算法的性能。
4.3.3 策略之間的互補(bǔ)性分析
本文從三個(gè)改進(jìn)方向提出了下列改進(jìn)策略:(1)提升初始種群質(zhì)量的重心反向?qū)W習(xí)策略;(2)改善發(fā)現(xiàn)者位置更新方式的黃金正弦領(lǐng)導(dǎo)策略;(3)增強(qiáng)算法逃逸局部能力的多混沌映射策略和高斯變異策略。提高初始種群的質(zhì)量是SSA提升其收斂精度的重要舉措,相比隨機(jī)種群,重心反向?qū)W習(xí)策略產(chǎn)生的精英種群因具有更高的質(zhì)量使其更易發(fā)現(xiàn)全局最優(yōu)解;動(dòng)態(tài)調(diào)整的黃金正弦領(lǐng)導(dǎo)策略通過引導(dǎo)個(gè)體移動(dòng)方向改善了SSA 搜索過程中缺乏方向性的問題,但在遇到特定復(fù)雜問題時(shí)(如局部最優(yōu)解與全局最優(yōu)解在空間上極為接近),種群仍會(huì)陷入局部極值;因此,需要對(duì)種群進(jìn)行持續(xù)擾動(dòng)以賦予其多樣性來克服上述缺陷,當(dāng)個(gè)體陷入局部最優(yōu)時(shí),算法首先使用多混沌映射策略在整個(gè)解空間中探索優(yōu)質(zhì)解,若未發(fā)現(xiàn)更優(yōu)解,說明搜索空間其他區(qū)域有更優(yōu)解的可能性較小,接著使用高斯變異策略在當(dāng)前區(qū)域進(jìn)行開發(fā)以盡最大可能地跳出局部最優(yōu)解。
綜上所述,在MMCSSA中,初始化策略產(chǎn)生的精英種群起到提升算法收斂速度的作用;黃金正弦策略能夠引導(dǎo)種群進(jìn)行全局探索;多混沌映射策略和高斯變異策略增強(qiáng)了算法逃逸局部最優(yōu)的能力,上述四個(gè)策略協(xié)同作用提高了算法的性能。
4.3.1 小節(jié)驗(yàn)證了重心反向?qū)W習(xí)策略給算法帶來的持續(xù)性影響,本節(jié)為了驗(yàn)證所有改進(jìn)策略對(duì)種群多樣性的提升,將MMCSSA 和SSA 分別對(duì)Bent Cigar 函數(shù)進(jìn)行尋優(yōu)實(shí)驗(yàn)。Bent Cigar 函數(shù)的三維全局最小值點(diǎn)是x*=(0,0,0)。下面繪制MMCSSA迭代過程中初始種群、迭代10次、50次后的麻雀種群位置分布圖和SSA相同時(shí)期的麻雀種群分布圖(圖15~圖20),圖中黑色圓點(diǎn)表示種群個(gè)體,紅色原點(diǎn)代表當(dāng)前全局最優(yōu)個(gè)體。以上實(shí)驗(yàn)進(jìn)行10次,取代表多次實(shí)驗(yàn)的一次結(jié)果。
圖15 SSA隨機(jī)初始種群Fig.15 Random initial population of SSA
圖16中,通過重心反向?qū)W習(xí)策略初始化得到的精英種群均勻分布在最優(yōu)解附近;由圖17、圖18對(duì)比可知,隨著迭代次數(shù)的增加,SSA 種群過快地向全局最優(yōu)位置靠攏,種群多樣性急劇降低,MMCSSA引入黃金正弦領(lǐng)導(dǎo)策略和多混沌映射策略,使得其搜索空間顯著大于SSA;由圖19、圖20 對(duì)比可知,當(dāng)?shù)?0次時(shí),MMCSSA和SSA都集中到全局最小值點(diǎn)(0,0,0) 附近,但MMCSSA 最優(yōu)解的精度明顯高于SSA,這是由于多混沌擾動(dòng)幫助算法擴(kuò)大了搜索空間,找到了更優(yōu)解。綜上,本文提出的MMCSSA 在種群多樣性和搜索空間大小方面均優(yōu)于SSA。
圖16 MMCSSA重心反向?qū)W習(xí)策略初始種群Fig.16 Initial population of MMCSSA centroid opposition-based learning strategy
圖17 SSA迭代10次后Fig.17 After 10 iterations of SSA
圖18 MMCSSA迭代10次后Fig.18 After 10 iterations of MMCSSA
圖19 SSA迭代50次后Fig.19 After 50 iterations of SSA
圖20 MMCSSA迭代50次后Fig.20 After 50 iterations of MMCSSA
針對(duì)麻雀算法易陷入局部極值、后期收斂速度慢等缺點(diǎn),本文提出了一種融合學(xué)習(xí)機(jī)制的多混沌麻雀搜索算法(MMCSSA),并對(duì)12 個(gè)測試函數(shù)進(jìn)行了仿真實(shí)驗(yàn)。實(shí)驗(yàn)選取了其他學(xué)者提出的改進(jìn)麻雀算法進(jìn)行比較,并將所得結(jié)果進(jìn)行了統(tǒng)計(jì)學(xué)分析,最終得到以下結(jié)論:
(1)MMCSSA收斂精度高,有較強(qiáng)的全局搜索能力:重心反向?qū)W習(xí)策略使算法在初始化階段包含更多解空間的有效信息。迭代過程中,多混沌映射策略和高斯變異策略豐富了種群多樣性,有效地幫助算法擺脫局部極值,增強(qiáng)了算法的全局搜索能力。
(2)MMCSSA具有較強(qiáng)的魯棒性及穩(wěn)定性:在不同類型、不同維度的函數(shù)測試中,相較對(duì)比算法,MMCSSA 有著最低的標(biāo)準(zhǔn)差,表現(xiàn)出了較好的優(yōu)化穩(wěn)定性。
(3)MMCSSA 收斂速度快,優(yōu)化效率高:黃金正弦領(lǐng)導(dǎo)策略有效調(diào)整了算法在收斂速度和搜索能力上的平衡,使算法在更短的時(shí)間內(nèi)達(dá)到了更高的收斂精度。