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

?

融合正余弦和柯西變異的麻雀搜索算法

2022-02-24 12:32李愛蓮全凌翔崔桂梅解韶峰
計算機(jī)工程與應(yīng)用 2022年3期
關(guān)鍵詞:發(fā)現(xiàn)者柯西測試函數(shù)

李愛蓮,全凌翔,崔桂梅,解韶峰

1.內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭 014010

2.內(nèi)蒙古科技大學(xué) 基建處,內(nèi)蒙古 包頭 014010

麻雀搜索算法(sparrow search algorithm,SSA)是薛建凱等[1]在2020年提出的一種新型優(yōu)化算法,主要通過模擬麻雀捕食和反捕食的行為特征進(jìn)行數(shù)學(xué)建模。麻雀搜索算法具備結(jié)構(gòu)簡單、控制參數(shù)少、求解精度高等優(yōu)點(diǎn)。盡管出現(xiàn)時間較短,但在實(shí)際工程應(yīng)用也逐步增加,Liu等[2]針對現(xiàn)有的腦瘤診斷算法存在成功率不足,以及在治療過程中不能及時跟蹤進(jìn)程,引進(jìn)了SSA進(jìn)行優(yōu)化,增強(qiáng)了檢測能力。Zhu等[3]使用SSA對聚合物電解質(zhì)燃料電池(PEMFC)堆的辨識參數(shù)進(jìn)行優(yōu)化,成功地降低了電池中電壓誤差,提高了電能轉(zhuǎn)換效率。呂鑫等[4]在多閾值圖像分割中引入一種改進(jìn)型SSA,利用該算法在整體和局部的探索開發(fā)能力,提升了分割速度和精度。

與大多數(shù)智能優(yōu)化算法相比,SSA在對問題優(yōu)化方面有一定優(yōu)勢,但依然存在收斂精度低,難以跳脫局部極值的問題。Liu等[5]利用自適應(yīng)權(quán)重因子平衡麻雀算法搜索與開發(fā)能力,借助柯西-高斯機(jī)制提高SSA擺脫停滯能力,應(yīng)用于無人機(jī)航路規(guī)劃,驗(yàn)證了改進(jìn)策略的優(yōu)越性。Yuan等[6]引入重心逆向?qū)W習(xí)機(jī)制對種群初始化,加入權(quán)重系數(shù)對麻雀算法中的跟隨者位置進(jìn)行更新,增強(qiáng)SSA的全局探索能力,最后在跟隨者的位置中引進(jìn)變異策略,改善算法在掙脫局部極值的能力。毛清華等[7]提出了一種融合柯西變異和反向?qū)W習(xí)的機(jī)制,用于對最優(yōu)解進(jìn)行突變,使算法具備躍出局部極值的能力。呂鑫等[8]通過Tent混沌序列對當(dāng)前出現(xiàn)局部解位置進(jìn)行擾動操作,增加麻雀算法全局可搜索性。

上述改進(jìn)策略雖然較基本麻雀算法的全局尋優(yōu)性能有一定提升,但依然存在SSA在尋優(yōu)后段出現(xiàn)搜索能力不足和墜入極值空間的概率提高等問題。針對此問題,本文提出了一種融合正余弦和柯西變異的麻雀搜索算法(sine-cosine and Cauchy mutation sparrow search algorithm,SCSSA)。改進(jìn)算法主要根據(jù)以下策略進(jìn)行:首先,引進(jìn)一種折射反向?qū)W習(xí)策略對麻雀種群初始化,進(jìn)而增強(qiáng)物種多樣性,降低SSA在搜索后期出現(xiàn)早熟收斂概率;其次,在麻雀搜索算法的發(fā)現(xiàn)者位置更新中引進(jìn)正余弦策略,并通過非線性遞減搜索因子和權(quán)重因子對正余弦算法進(jìn)行改進(jìn),進(jìn)而達(dá)到平衡局部開發(fā)和全局探索的目的;最后,采用柯西變異機(jī)制對跟隨者位置更新中的最優(yōu)解產(chǎn)生擾動,擴(kuò)大搜索范圍,提高算法跳出局部極值的幾率。通過10個測試函數(shù)下的多種性能測試指標(biāo)與一些基本智能算法以及其他SSA改進(jìn)型算法進(jìn)行比較,并利用工程優(yōu)化設(shè)計問題進(jìn)行驗(yàn)證,顯現(xiàn)了SCSSA的有效性和優(yōu)越性。

1 麻雀搜索算法

麻雀捕食過程通常由發(fā)現(xiàn)者和跟隨者兩種類型麻雀組成,但受到天敵的威脅,常需設(shè)置偵查預(yù)警機(jī)制。

在麻雀種群中,適合度值高的發(fā)現(xiàn)者優(yōu)先獲得食物,主要因?yàn)榘l(fā)現(xiàn)者兼具尋找食物并指導(dǎo)整個種群的流動的任務(wù),因而與其他麻雀相比,它們能更快地獲取食物,發(fā)現(xiàn)者的位置更新公式如下:

除所有的發(fā)現(xiàn)者,其余皆為跟隨者,位置更新如下:

式中,Xworst為目前整體最差位置;n為麻雀總數(shù),i>n/2表示此時第i只麻雀處于十分饑餓的狀態(tài)(因?yàn)槠淠芰繕O低,即適應(yīng)度值很差),需要到其他地方覓食;X p為發(fā)現(xiàn)者占據(jù)的最優(yōu)位置;A為單行d維且元素隨機(jī)為1或-1的矩陣,

考慮到自身安全以及能夠成功獲取食物,麻雀將從種群中挑選10%~20%個體進(jìn)行偵察警戒,位置更新如下:

式中,Xbest為目前整體最優(yōu)位置;β為步長修正系數(shù),服從標(biāo)準(zhǔn)正態(tài)分布;f i為此時麻雀的適應(yīng)度,f w和f g各表示此時整體最差適應(yīng)度、最優(yōu)適應(yīng)度;當(dāng)f i>f g時,說明麻雀位于種群的邊緣周圍,容易成為獵物;當(dāng)f i=f g時,說明位于群體間的麻雀察覺到天敵的威脅,應(yīng)立刻朝其他麻雀接近,擺脫危險。k∈(0,1)為隨機(jī)數(shù);ε為極小常數(shù),本文取ε=10E-50。

2 融合正余弦和柯西變異麻雀搜索算法

2.1 折射反向?qū)W習(xí)策略

針對SSA算法在尋優(yōu)后期出現(xiàn)群體多樣性損失,造成落入局部極值的幾率升高,引發(fā)收斂精度不足問題,本文采用一種折射反向?qū)W習(xí)機(jī)制對麻雀種群初始化。反向?qū)W習(xí)是Tizhoosh提出的一種優(yōu)化策略[9],基本思想是通過計算當(dāng)前解的反向解來擴(kuò)大搜索范圍,借此找出給定問題更好的備選解。文獻(xiàn)[10-11]將智能算法與反向?qū)W習(xí)結(jié)合,均能有效提高算法求解精度。同時反向?qū)W習(xí)仍存在一定的不足,在尋優(yōu)早期引進(jìn)反向?qū)W習(xí)能夠加強(qiáng)算法的收斂性能,但在后期易使算法陷入早熟收斂。因此在反向?qū)W習(xí)策略中引進(jìn)一種折射原理[12]以降低算法在搜索后期陷入早熟收斂的幾率。折射反向?qū)W習(xí)原理如圖1所示。

圖1 融合折射原理的反向?qū)W習(xí)Fig.1 Reverse learning with fused refraction principle

其中,x軸上面解的尋優(yōu)范圍為[l,u],y軸為法線,α、β分別表示入射角、折射角,h和h*分別為入射、折射光線所對應(yīng)的長度,O為尋優(yōu)范圍[l,u]的中點(diǎn)。根據(jù)數(shù)學(xué)中線幾何關(guān)系,得到如下:

根據(jù)折射率定義n=sinα/sinβ,得到折射率n公式為:

令縮放因子k=h/h*,代入式(5)得到變形公式為:

當(dāng)n=1且k=1時,式(6)可轉(zhuǎn)為反向?qū)W習(xí)公式[11]:

式(6)推廣到麻雀算法高維空間時,令n=1可得到如下:

式中,x i,j為種群中第i只麻雀在j維位置(i=1,2,…,D;j=1,2,…,N),D為種群數(shù),N為維度;x*i,j為x i,j的折射反向位置;l j、u j分別為搜索空間第j維的最小值和最大值。

算法1初始化種群算法

(1)在尋優(yōu)范圍中隨機(jī)初始化N個麻雀位置xi,j作為初始種群位置。

(2)根據(jù)式(8)生成折射反向種群x*i,j。

(3)合并初始種群和折射反向種群,根據(jù)適應(yīng)度值的升降進(jìn)行排序,選取適應(yīng)度值前N個麻雀個體作為初始種群。

2.2 正余弦策略

在麻雀捕食過程中,食物源位置非常重要作用,影響整個麻雀種群前進(jìn)方向。但考慮到食物來源可能不同,位置也不盡相同,當(dāng)發(fā)現(xiàn)者搜尋的食物位于局部最優(yōu)時,大量的跟隨者會涌入到該位置,此時發(fā)現(xiàn)者與整個群體停滯不前,造成種群位置多樣性出現(xiàn)損失,進(jìn)而增加陷入局部極值的可能性。針對該現(xiàn)象,本文在麻雀搜索算法發(fā)現(xiàn)者的位置更新中引進(jìn)正余弦算法(sinecosine algorithm,SCA)[13],通過利用正余弦模型震蕩變化特性對發(fā)現(xiàn)者位置進(jìn)行作用,維持發(fā)現(xiàn)者個體多樣性,進(jìn)而提高SSA的全局搜索能力。SCA的中心思想是根據(jù)正余弦模型的振蕩變化對整體和局部尋優(yōu),獲取整體最優(yōu)值。

針對基本的正余弦算法的步長搜索因子r1=aat/Itermax(a為常數(shù),t為迭代次數(shù),本文設(shè)置a=1)呈線性遞減趨勢,不利于進(jìn)一步平衡SSA的全局搜索和局部開發(fā)能力,受文獻(xiàn)[14]啟發(fā),對步長搜索因子進(jìn)行改進(jìn),變換曲線如圖2所示,新的非線性遞減搜索因子如式(9),在前期權(quán)重較大,遞減速度慢,利于提高全局尋優(yōu)能力,在權(quán)重因子較小時,增強(qiáng)算法在局部開發(fā)的優(yōu)勢,加快獲取最優(yōu)解的速度。

圖2 r1、r1′、ω變化曲線Fig.2 Change curve of r1,r1′,ω

式中,η為調(diào)節(jié)系數(shù),η≥1;a=1。

考慮SSA算法在整個搜索過程中,種群個體位置更新常受到當(dāng)前位置影響。因此引入式(10)非線性權(quán)重因子ω用于調(diào)整種群個體位置更新對此時個體信息的依賴度。在尋優(yōu)前期,較小的ω降低了尋優(yōu)個體位置更新對當(dāng)前解位置影響,提升了算法全局尋優(yōu)能力。在后期較大的ω利用當(dāng)前位置信息與個體位置更新的高度依賴性,加快了算法的收斂速度,變化曲線如圖2所示。則得到新的發(fā)現(xiàn)者位置更新公式如式(11):

式中,r2∈[0,2π]的隨機(jī)數(shù),決定麻雀的移動距離;r3∈[0,2π]的隨機(jī)數(shù),控制最優(yōu)個體對麻雀后一位置的影響。

2.3 柯西變異策略

在覓食過程中,跟隨者經(jīng)常圍繞最好的發(fā)現(xiàn)者周圍進(jìn)行覓食,其間也有可能發(fā)生食物的爭奪,使其自己變成發(fā)現(xiàn)者,為避免算法陷入局部最優(yōu),在跟隨者更新公式中引入柯西變異策略,提升全局尋優(yōu)能力。新的跟隨者位置更新如下:

式中,cauchy(0,1)為標(biāo)準(zhǔn)柯西分布函數(shù);⊕表示相乘含義。

以原點(diǎn)為中心的一維柯西變異函數(shù)如下:

柯西分布與標(biāo)準(zhǔn)的正態(tài)分布相似,為連續(xù)的概率分布,在原點(diǎn)處值較小,兩端較為扁長,逼近零速率較慢,因而相比于正態(tài)分布能產(chǎn)生更大的擾動。因此,利用柯西變異對麻雀位置更新中的個體進(jìn)行擾動,從而擴(kuò)大麻雀算法的搜索規(guī)模,進(jìn)而提升算法跳出局部最優(yōu)能力。

2.4 SCSSA算法流程

步驟1設(shè)置種群大小N,最大迭代次數(shù)Itermax,發(fā)現(xiàn)者比例PD,偵察者比例SD,警戒閾值R2,安全閾值ST等。

步驟2執(zhí)行算法1對麻雀種群初始化。

步驟3計算每只麻雀的適應(yīng)度值并排序,確定當(dāng)前最優(yōu)、最差適應(yīng)度個體。

步驟4根據(jù)式(11)對發(fā)現(xiàn)者位置更新。

步驟5根據(jù)式(12)對跟隨者位置更新。

步驟6根據(jù)式(3)對警戒者位置更新。

步驟7判斷當(dāng)前迭代次數(shù)是否達(dá)到結(jié)束條件,若滿足,則進(jìn)行下一步,否則跳轉(zhuǎn)步驟3。

步驟8程序結(jié)束,輸出最優(yōu)適應(yīng)度值和最佳位置。

2.5 SCSSA復(fù)雜度分析

在標(biāo)準(zhǔn)麻雀算法SSA中,假設(shè)種群規(guī)模為N,求解空間維數(shù)為D,則標(biāo)準(zhǔn)SSA進(jìn)行參數(shù)初始化的復(fù)雜度為O(1),個體適應(yīng)度為O(N),種群復(fù)雜度為O(N×D),所以麻雀算法SSA的整體復(fù)雜度為O(SSA)=O(1)+O(N)+O(N×D)=O(N×D)。

SCSSA算法在初始化引進(jìn)折射反向?qū)W習(xí)策略替換隨機(jī)初始化需O(N×D),個體適應(yīng)度與SSA一樣,引進(jìn)正余弦階段需要O(N×D),柯西變異階段復(fù)雜度為O(N×D)。因此SCSSA總的復(fù)雜度為O(SCSSA)=O(N×D)+O(N)+O(N×D)+O(N×D)=O(N×D)。

通過對比發(fā)現(xiàn),SSA與SCSSA的時間復(fù)雜度一樣,說明在基本SSA算法中引進(jìn)多種策略并沒有影響時間復(fù)雜度,運(yùn)行效率并未下降。

3 性能測試

為驗(yàn)證SCSSA算法的性能,選取了飛蛾撲火算法(MFO)[15]、正余弦算法(SCA)[13]、旗魚算法(SFO)[16]、多元宇宙算法(MVO)[17]、基本麻雀算法(SSA)[1],以及融合2.2節(jié)正余弦的麻雀算法(記為SSSA)、融合2.3節(jié)柯西變異的麻雀算法(記為CSSA)共7種算法,在表1的10個經(jīng)典測試函數(shù)下進(jìn)行綜合性比較。其中f1~f4為單峰函數(shù),f5~f10為多峰函數(shù)。表2為8種算法的主要參數(shù)設(shè)置。采用的實(shí)驗(yàn)環(huán)境為Windows10,64位操作系統(tǒng),處理器為Intel?Core?i7-10870H CPU,主頻率為2.20 GHz。算法基于MATLAB2016b,使用M語言編寫。

表1 測試函數(shù)Table 1 Test function

表2 主要參數(shù)設(shè)置Table 2 Main parameter settings

3.1 收斂曲線分析

為了對各種算法的收斂性進(jìn)行詳細(xì)描述,將用收斂曲線圖來實(shí)現(xiàn)。保證對比的公平性,設(shè)置8種算法的種群數(shù)為30,維度dim=30,最大迭代數(shù)目500,得到了獨(dú)立運(yùn)行100次的收斂曲線,圖3給出了函數(shù)f1~f2、f5~f10下的8個收斂曲線。如圖3所示,縱坐標(biāo)取10為底的對數(shù),其中當(dāng)曲線隨著迭代次數(shù)的增加不再顯示,即表示該算法已得到理論最優(yōu)解0。

圖3 8個測試函數(shù)下的收斂曲線Fig.3 Convergence curves under eight test functions

由圖3(a)、(b)單峰收斂曲線可知,SSA的收斂性能略優(yōu)于MFO、SCA、MVO、SFO,但收斂曲線同樣呈現(xiàn)平緩趨勢,出現(xiàn)停滯狀態(tài),尋優(yōu)精度低,陷入局部最優(yōu)。CSSA和SSSA這兩種改進(jìn)算法較SSA在收斂速度和精度都有明顯的提高,也驗(yàn)證了正余弦策略和柯西變異具有跳出局部最優(yōu)和快速搜索能力,在CSSA與SSSA的整體比較,兩者在收斂速度上相當(dāng),而CSSA最終表現(xiàn)出更高的收斂精度,主要因?yàn)榻柚挛髯儺悓ぷ顑?yōu)時表現(xiàn)的突變性。而SCSSA在收斂速度和精度相比于CSSA、SSSA得到進(jìn)一步提升,且均獲取了理論最優(yōu)解。由圖3(c)~(h)多峰收斂曲線可知,與MFO、SCA、MVO、SFO相比,SSA在(c)~(e)、(g)、(h)收斂速度與精度表現(xiàn)顯著性優(yōu)勢,曲線一開始就迅速下降,同時在收斂精度上,SSA與CSSA、SSSA、SCSSA在(c)和(e)皆取得理論最優(yōu)解0。CSSA和SSSA在多峰尋優(yōu)時較SSA有明顯提升,CSSA相比于SSSA在(h)表現(xiàn)更優(yōu),SSSA則在(c)~(g)表現(xiàn)出更強(qiáng)尋優(yōu)精度和速度,驗(yàn)證了正余弦策略和兩種非線性因子的引進(jìn)有助于全局尋優(yōu)能力的提升,而SCSSA較兩種改進(jìn)策略性能更為突出。通過收斂曲線,驗(yàn)證了SCSSA在求解單峰和多峰函數(shù)時均有優(yōu)異的表現(xiàn),主要因?yàn)檎凵浞聪驅(qū)W習(xí)策略的引進(jìn),豐富了群體多樣性,降低SSA在尋優(yōu)后期落入早熟收斂的可能性;融合正余弦策略,并利用非線性遞減搜索因子和權(quán)重因子對其改進(jìn),提高SSA在全局搜索和局部開發(fā)的平衡作用以及快速性;借助柯西變異對當(dāng)前陷入局部極值位置產(chǎn)生擾動,擴(kuò)大搜索范圍,提升躍出局部最優(yōu)解的幾率。

3.2 收斂精度分析

為了測試SCSSA的尋優(yōu)精度,將上述8種算法在10個測試函數(shù)(空間維數(shù)dim=30/50/100)情況下進(jìn)行尋優(yōu),其中每種算法在函數(shù)下獨(dú)立運(yùn)行100次,采用均值Mean、均方差S.D.以及運(yùn)行時間t這3個性能指標(biāo)進(jìn)行結(jié)果評價,得到如表3所示的實(shí)驗(yàn)對比結(jié)果。

由表3可知,本文提出的SCSSA算法僅在函數(shù)f6、f9下未取得理論最優(yōu)值,在其余8個測試函數(shù)不同維度皆取得理論最優(yōu)值0,表現(xiàn)了很強(qiáng)的尋優(yōu)能力。而對f1~f10的10個測試函數(shù),SCSSA僅在f9的魯棒性處于劣勢,在其余9種測試函數(shù)的各種維度下尋優(yōu)結(jié)果的標(biāo)準(zhǔn)差都為0,顯現(xiàn)了SCSSA極強(qiáng)的穩(wěn)定性。從維度方面分析,隨著測試函數(shù)維度的增加,MFO、SCA、MVO、SFO尋優(yōu)能力和魯棒性整體呈現(xiàn)下降趨勢。SSA、CSSA、SSSA在求解單峰函數(shù)f1~f4、多峰函數(shù)f8~f10時,隨著維度的升高,SSA魯棒性和尋優(yōu)精度在f1、f3、f8~f10呈下降趨勢,在f2、f4上呈現(xiàn)波動;SSSA在f1時精度存在波動,但保持很強(qiáng)的魯棒性,在f2和f8時隨著維度增加表現(xiàn)更好的精度與穩(wěn)定性,在f3、f4、f9、f10隨之變差;CSSA穩(wěn)定性和收斂精度主要為波動變化,但在f1、f3、f10具有極好的穩(wěn)定性。而SSA、CSSA、SSSA在f5~f7中皆能保持良好的穩(wěn)定性和全局探索能力。就標(biāo)準(zhǔn)差而言,CSSA與SSSA的值整體小于SSA,從側(cè)面也說明正余弦策略與柯西變異的引進(jìn)提高了SSA的魯棒性。

在尋優(yōu)精度方面,SSA算法在各測試函數(shù)不同維度下的尋優(yōu)精度皆優(yōu)于MFO、SCA、MVO、SFO,且求解f5、f7時,SSA算法取得了理論最優(yōu)值0,在求解f6時,SSA取得了極值8.88E-16,雖未尋得最優(yōu)解,但對比于MFO、SCA、MVO、SFO的尋優(yōu)能力仍有明顯提高。而對SSA的兩種改進(jìn)策略CSSA和SSSA算法在求解不同維度單峰函數(shù)f1~f4、多峰函數(shù)f8、f10時,僅SSSA在求解dim=100時的f10未顯現(xiàn)出優(yōu)勢,其余CSSA、SSSA均值的數(shù)量級相較于SSA至少提升了16個,最多時達(dá)到250個數(shù)量級;CSSA、SSSA求解f5~f7時,與SSA皆取得相同解;在求解f9,兩者尋優(yōu)精度略高于SSA。在整個測試函數(shù)中,CSSA、SSSA整體收斂精度得到明顯的提高,同時也說明了正余弦策略和柯西變異策略對于SSA算法在全局尋優(yōu)能力具有積極作用,降低SSA陷入局部最優(yōu)的幾率。

通常一個算法的時間復(fù)雜度能夠根據(jù)其運(yùn)行消耗的時間進(jìn)行衡量,而時間復(fù)雜度能反映算法的優(yōu)劣性,當(dāng)算法的復(fù)雜度變高,表示該算法的運(yùn)行效率降低。在10個測試函數(shù)下,隨著維度增加,求解問題復(fù)雜度升高,全體算法耗時變長。算法比較方面,SCA整體耗時最短,SSA相比于改進(jìn)的SSSA、CSSA、SCSSA耗時更長,說明改進(jìn)策略的引進(jìn)沒有提升SSA的復(fù)雜度,降低執(zhí)行效率。由于SSSA兼具全局搜索和局部開發(fā),SSSA相比CSSA耗時更長。但針對部分函數(shù)不同維度出現(xiàn)CSSA耗時與SCSSA相當(dāng)?shù)默F(xiàn)象,主要由于幾種改進(jìn)策略的引進(jìn),擴(kuò)大了SSA算法的尋優(yōu)范圍,進(jìn)而需要更多時間,導(dǎo)致耗時也變得較長。綜上,由圖3和表3結(jié)論分析驗(yàn)證本文提出的改進(jìn)策略的有效性。

表3 不同維度下的實(shí)驗(yàn)結(jié)果對比Table 3 Comparison of experimental results in different dimensions

3.3 MAE測試

統(tǒng)計學(xué)中的平均絕對誤差(mean absolute error,MAE)常用于評估真實(shí)值與預(yù)估值之間的差異。文獻(xiàn)[18]借助MAE對幾種算法進(jìn)行比較和性能排序,驗(yàn)證了該指標(biāo)的可行性。當(dāng)MAE值越小時,表示算法的尋優(yōu)性能更優(yōu),其公式如下:

式中,N為測試函數(shù)數(shù)目;y i為算法得到最優(yōu)解的平均值,k i為理論最優(yōu)解。

表4分別給出了幾種算法基于單峰函數(shù)、多峰函數(shù)、整體函數(shù)在維度dim=30的MAE值以及排序。由表4可知,SCSSA在單峰、多峰、全體函數(shù)下MAE的值皆最小,且排序均第一,從整體表明了SCSSA的優(yōu)越性。而CSSA、SSSA兩種改進(jìn)策略在單峰和多峰各略顯優(yōu)勢,但較SSA的MAE值都小,說明CSSA、SSSA較SSA的尋優(yōu)性能更佳。而SSA較MFO、SCA、MVO、SFO的MAE值更小,表明SSA相比其他智能算法具有更好的收斂性能。

表4 單峰、多峰、全體函數(shù)下MAE結(jié)果及排序Table 4 MAE results and ranking under unimodal,multimodal and whole function

3.4 Wilcoxon秩和檢驗(yàn)

為驗(yàn)證SCSSA與另外7種算法在全局尋優(yōu)上是否存在顯著性區(qū)別,利用Wilcoxon秩和檢驗(yàn)[19]能夠?qū)蓛伤惴ㄖg進(jìn)行性能測試比較的特點(diǎn),選取原假設(shè)H0:兩種算法在性能上相當(dāng),備選假設(shè)H1:兩種算法性能有著明顯差異。利用檢驗(yàn)結(jié)果p-value來比較兩種算法之間的差異性,當(dāng)p-value<0.05時,拒絕H0,說明兩種算法在性能上存在明顯區(qū)別;當(dāng)p-value>0.05,接受H0,即兩種算法在全局尋優(yōu)上性能相當(dāng)。

表5為10個測試函數(shù)在維度dim=30下獨(dú)立運(yùn)行100次的SCSSA與MFO、SCA、MVO、SFO、SSA、SSSA、CSSA比較的秩和檢驗(yàn)結(jié)果,其中“S”表示差異性判別,“+/=/-”分別表示SCSSA在性能上“優(yōu)于/相當(dāng)/遜于”其他算法,N/A表示兩算法性能相當(dāng),且為最優(yōu)。由表5可知,SCSSA的p-value絕大部分小于0.05且為“+”,說明SCSSA相比與其他7種算法性能更優(yōu),至于在f5~f7函數(shù)下,SCSSA與SSA、SSSA、CSSA在全局尋優(yōu)上性能相當(dāng),且皆能取得最優(yōu)值??傮w而言,SASSA相比于另外7種算法具有顯著性優(yōu)勢。

表5 Wilcoxon秩和檢驗(yàn)結(jié)果Table 5 Wilcoxon rank sum test results

3.5 與最新的改進(jìn)型麻雀算法作比較

為進(jìn)一步驗(yàn)證SCSSA算法的優(yōu)越性,與最新提出的幾種麻雀改進(jìn)型算法進(jìn)行比較,分為別ISSA[7]、CSSA[8]、ISSA[20],為保證對比的公正性,設(shè)置4種算法種群數(shù)30,最大迭代數(shù)100,維度dim=30,分別計算在7種測試函數(shù)f1~f7下獨(dú)立運(yùn)行30次的Mean和S.D.,其中未給出的數(shù)據(jù)用“—”表示,實(shí)驗(yàn)結(jié)果如表6所示。

表6 與三種改進(jìn)策略性能比較Table 6 Comparison of performance with three improvement strategies

由表6所示,在單峰函數(shù)f1~f3中,SCSSA在全局尋優(yōu)中皆未能得到理論最優(yōu)解,但相比于CSSA[8]在Mean上至少提升了50個數(shù)量級,多則102個,提升效果明顯;對于ISSA[7],SCSSA則至少有28個數(shù)量級優(yōu)勢;而對于ISSA[20],SCSSA在f1、f2的全局搜索能力和穩(wěn)定性略顯優(yōu)勢,但在f3中,在求解精度方面提高了11個數(shù)量級,且標(biāo)準(zhǔn)差皆為零,表示SCSSA魯棒性比ISSA[20]更強(qiáng)。在多峰函數(shù)f4中,ISSA[7]、ISSA[20]未給出相關(guān)數(shù)據(jù),SCSSA較于CSSA[8]在全局尋優(yōu)有45個左右數(shù)量級優(yōu)勢。在多峰函數(shù)f5~f7中,SCSSA與另外三種改進(jìn)型SSA在求解精度和穩(wěn)定性方面相當(dāng),且在f5和f6均能尋得最優(yōu)解0。綜上所述,表明了SCSSA在單峰和多峰函數(shù)下皆取得較優(yōu)解且表現(xiàn)較強(qiáng)的魯棒性,驗(yàn)證SCSSA相比于其余三種算法具有一定的競爭力。

3.6 工程優(yōu)化問題應(yīng)用

為驗(yàn)證SCSSA在實(shí)際工程中的優(yōu)越性,選取了壓力容器設(shè)計優(yōu)化問題,并通過與表2中的其他7種算法進(jìn)行驗(yàn)證比較。壓力容器設(shè)計問題是一個經(jīng)典的工程優(yōu)化設(shè)計問題[17],目的是通過減少壓力容器的耗材來降低制造成本。壓力容器的兩端由蓋子封頂,頭部一端由半球狀蓋子組成。該設(shè)計問題主要包括4個變量:即非頭部的圓柱體部分的截面長度(L)、內(nèi)壁直徑(R)、壁厚(T s)及頭部的壁厚(T h)。數(shù)學(xué)模型表示如下:

其中,0≤x1,x2≤99,10≤x3,x4≤200。

由表7可知,對于壓力容器設(shè)計問題SCSSA相比較其他7種算法具有較好的優(yōu)化結(jié)果。進(jìn)一步表明SCSSA在實(shí)際工程應(yīng)用的有效性和優(yōu)越性。

表7 幾種算法的壓力容器設(shè)計比較Table 7 Comparison of pressure vessel design results for several algorithms

4 結(jié)束語

本文提出了一種融合正余弦算法和柯西變異的麻雀搜索算法,在種群初始化中引入一種折射反向?qū)W習(xí)機(jī)制,用于解決種群多樣性不足而造成麻雀在搜索后期出現(xiàn)停滯問題;在麻雀發(fā)現(xiàn)者位置中加入正余弦機(jī)制以及非線性遞減搜索因子和權(quán)重因子用于更好解決SSA在兼顧全局和局部尋優(yōu)時表現(xiàn)的不足;在麻雀跟隨者中利用柯西變異能對當(dāng)前最優(yōu)個體產(chǎn)生突變,從而擴(kuò)大麻雀捕食范圍,進(jìn)而提高SSA的全局尋優(yōu)精度和速度。通過10個經(jīng)典測試函數(shù)進(jìn)行檢驗(yàn),將SCSSA與其他算法在收斂速度、精度、MAE測試以及Wilcoxon秩和檢驗(yàn)下進(jìn)行比較,并與最新麻雀算法改進(jìn)策略進(jìn)行對比,最后通過壓力容器優(yōu)化設(shè)計問題進(jìn)一步驗(yàn)證。結(jié)果表明,融合正余弦與柯西變異的麻雀搜索算法在全局尋優(yōu)以及局部開發(fā)具有更優(yōu)表現(xiàn),因此也證明了改進(jìn)策略的有效性和可靠性。后續(xù)工作考慮將SCSSA深入應(yīng)用到煉鋼工藝中用于解決實(shí)際問題。

猜你喜歡
發(fā)現(xiàn)者柯西測試函數(shù)
解信賴域子問題的多折線算法
一種基于精英選擇和反向?qū)W習(xí)的分布估計算法
柯西不等式在解題中的應(yīng)用
柯西不等式的變形及應(yīng)用
基于自適應(yīng)調(diào)整權(quán)重和搜索策略的鯨魚優(yōu)化算法
讓學(xué)生做“發(fā)現(xiàn)者”
柯西不等式的應(yīng)用
具有收縮因子的自適應(yīng)鴿群算法用于函數(shù)優(yōu)化問題
讓學(xué)生在小學(xué)數(shù)學(xué)課堂中做一個“發(fā)現(xiàn)者”和“創(chuàng)造者”
法治媒體如何講好法治故事
平江县| 建德市| 大冶市| 武汉市| 沂水县| 通河县| 福海县| 基隆市| 怀宁县| 绥阳县| 永泰县| 岑巩县| 闻喜县| 仙游县| 莱阳市| 镇巴县| 井陉县| 内丘县| 杨浦区| 南靖县| 怀宁县| 阿拉善盟| 兰考县| 新安县| 依兰县| 西和县| 信阳市| 周宁县| 明星| 茂名市| 依兰县| 马公市| 汶上县| 会泽县| 宿松县| 巴塘县| 乌海市| 金华市| 辽宁省| 右玉县| 大兴区|