蘭周新,何 慶
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025) (貴州大學(xué) 貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025) E-mail:qhe@gzu.edu.cn
近20年來(lái),為有效解決現(xiàn)實(shí)中高度復(fù)雜的優(yōu)化問(wèn)題,學(xué)者通過(guò)觀察自然界中一些生物的生活習(xí)性,提出了許多群智能優(yōu)化算法,比如:樽海鞘群算法(Salp Swarm Algortihm,SSA)[1]、灰狼優(yōu)化算法(Grey Wolf Optimization,GWO)[2]、蝴蝶優(yōu)化算法(Butterfly Optimization Algorithm,BOA)[3]、鯨魚(yú)優(yōu)化算法(Whale Optimization algorithm,WOA)[4]、黑猩猩優(yōu)化算法(Chimp Optimization algorithm,ChOA)[5]等等.其中,黑猩猩優(yōu)化算法(ChOA)是2020年由Khishe等人提出的一種新型群智能優(yōu)化算法.ChOA相較于其他群智能優(yōu)化算法具有原理簡(jiǎn)單、易于實(shí)現(xiàn)、穩(wěn)定性較好、魯棒性強(qiáng)等優(yōu)點(diǎn).但是,ChOA也同其他群智能算法一樣,存在收斂速度慢、求解精度不高以及易陷入局部極值等問(wèn)題.
為了改善群智能算法的易陷入局部極值、尋優(yōu)精度不高、收斂速度慢等缺陷,眾多學(xué)者提出了許多不同的改進(jìn)策略:文獻(xiàn)[6]將Tent混沌映射引入SSA種群初始化中,使初始個(gè)體盡可能的分布整個(gè)搜索空間,增加了種群多樣性.文獻(xiàn)[7]對(duì)原文中的收斂因子進(jìn)行了重構(gòu),有效地平衡了算法的全局搜索和局部搜索能力.文獻(xiàn)[8]將反向?qū)W習(xí)策略應(yīng)用到鯨魚(yú)優(yōu)化算法中,加快了算法的收斂速度.文獻(xiàn)[9]利用小孔成像反向?qū)W習(xí)策略,提高了算法跳出局部極值的能力.文獻(xiàn)[10]將柯西算子引入蝴蝶算法的全局位置更新處并進(jìn)行變異,提高了算法的全局搜索能力.文獻(xiàn)[11]了避免算法出現(xiàn)“早熟”現(xiàn)象,將甲蟲(chóng)觸角算子引入黑猩猩優(yōu)化算法中,對(duì)當(dāng)前較差的黑猩猩個(gè)體進(jìn)行位置更新,提高了算法的尋優(yōu)精度.文獻(xiàn)[12]在黑猩猩位置更新處引入正弦余弦算法,使黑猩猩優(yōu)化算法的全局尋優(yōu)能力得到一定程度上的提高.
上述研究對(duì)群智能算法的求解能力和收斂速度均有一定程度上的改善,但仍存在算法尋優(yōu)精度低,開(kāi)拓能力不足等缺陷.考慮到柯西變異和反向?qū)W習(xí)具有較好的擾動(dòng)變異能力,能幫助個(gè)體快速地跳出局部極值,以及單純形法對(duì)種群較差個(gè)體具有較好的改善效果,提出了一種新型的柯西擾動(dòng)黑猩猩優(yōu)化算法(CP-ChOA).該算法利用佳點(diǎn)集映射初始化黑猩猩種群,使初始個(gè)體更均勻的分布整個(gè)搜索空間;融合柯西算子和反向?qū)W習(xí)策略,對(duì)當(dāng)前最優(yōu)解位置進(jìn)行擾動(dòng)變異,提高個(gè)體跳出局部極值的能力,同時(shí)引入單純形法對(duì)當(dāng)前最差黑猩猩位置進(jìn)行改善,使種群能夠盡快的找到全局最優(yōu)解.通過(guò)對(duì)8個(gè)基準(zhǔn)函數(shù)、部分CEC2014測(cè)試函數(shù)以及焊接梁、拉壓彈簧2個(gè)工程設(shè)計(jì)實(shí)例進(jìn)行求解優(yōu)化,以驗(yàn)證CP-ChOA算法的有效性.
ChOA算法通過(guò)模擬自然界中黑猩猩種群的狩獵行為而提出的一種新型群體智能優(yōu)化算法,與其它群居捕食者不同的是:該種群把黑猩猩分為4種不同角色去履行狩獵過(guò)程中的職責(zé)分工,即攻擊者、障礙者、驅(qū)趕者和追逐者,其它黑猩猩的位置由這4種黑猩猩進(jìn)行引導(dǎo)更新.假設(shè)d為搜索維度,N為最大種群規(guī)模,Xi為當(dāng)前黑猩猩個(gè)體位置,則黑猩猩驅(qū)趕和追逐獵物的過(guò)程用以下數(shù)學(xué)模型來(lái)描述:
D=|C·Xp(t)-m·Xi(t)|
(1)
Xchimp(t+1)=|Xp(t)-A·D|
(2)
式中,t表示當(dāng)前迭代次數(shù),Xp為獵物位置向量,Xchimp為當(dāng)前黑猩猩位置向量,A、C、m為系數(shù)向量,數(shù)學(xué)模型描述如下:
A=2f·rand1-f
(3)
C=2rand2
(4)
m=Chaotic_value
(5)
式中,rand1和rand2均是取值為[0,1]的隨機(jī)數(shù),m為chaotic向量,f為收斂因子,隨著迭代次數(shù)從2.5線性遞減到0.
在種群初始化后選出4個(gè)最優(yōu)解,即攻擊者、障礙者、追逐者和驅(qū)趕者的位置,種群中其它黑猩猩的位置則由上述4種黑猩猩位置指引更新,其數(shù)學(xué)模型描述如下:
(6)
X(t+1)=(X1+X2+X3+X4)/4
(7)
式中,X表示當(dāng)前黑猩猩的位置,Xattacker表示攻擊者的位置,Xbarrier表示障礙者的位置,Xchaser表示追逐者的位置,Xdriver表示驅(qū)趕者的位置,X(t+1)表示當(dāng)前黑猩猩更新后的位置,C1、C2、C3和C4均是取值為[0,1]的隨機(jī)數(shù).
黑猩猩在狩獵過(guò)程中位置更新數(shù)學(xué)模型描述如下:
(8)
式中,u為[0,1]區(qū)間的一個(gè)隨機(jī)數(shù),Chaotic_value為混沌向量.
Pn(k)={({r1×k},{r2×k},…,{rs×k}),k=1,2,…,N}
(9)
其中取:
(10)
式中t為滿足t≥2s+3的最小像素.
設(shè)搜索空間為2維,種群規(guī)模為100,其佳點(diǎn)集初始化種群與隨機(jī)初始化種群分布圖如圖1所示.
圖1 不同策略初始化種群分布對(duì)比圖Fig.1 Comparison of population distribution of different initialized strategies
從圖1(b)可知,隨機(jī)初始化種群個(gè)體分布主要集中在中間區(qū)域,其他區(qū)域分布較為稀疏;從圖1(a)可以明顯的看出,利用佳點(diǎn)集初始化種群后,黑猩猩個(gè)體均勻的分布整個(gè)搜索空間.因此采用佳點(diǎn)集初始化策略,能夠使種群個(gè)體更具有遍歷性,從而更好地提高算法的全局搜索能力.
在黑猩猩算法中,向量A在黑猩猩位置更新的過(guò)程中起著平衡全局搜索能力和局部開(kāi)能力的關(guān)鍵作用.由式(6)可知,A的取值決定于收斂因子f,為了有效地平衡ChOA算法的全局搜索能力和局部開(kāi)發(fā)能力,本文提出了一種隨迭代次數(shù)非線性遞減的收斂因子,其數(shù)學(xué)模型描述如下:
(11)
式中,fmax,fmin分別為收斂因子f的最大值和最小值,δ為收斂調(diào)整因子其范圍(0,0.1)的數(shù),經(jīng)多次實(shí)驗(yàn)得δ取0.05時(shí)效果最佳,betarnd為貝塔分布的隨機(jī)數(shù).標(biāo)準(zhǔn)ChOA算法中的f與改進(jìn)的f曲線圖如圖2所示.
從圖2可知,虛線代表原始ChOA算法的收斂因子f,實(shí)線代表改進(jìn)收斂因子f.從圖2可以看出,本文改進(jìn)的收斂因子f在整個(gè)迭代過(guò)程中呈非線性狀態(tài)減小,在迭代前期收斂因子下降速度緩慢且長(zhǎng)時(shí)間處于較大值,以便擴(kuò)大黑猩猩搜索范圍和提高算法的全局搜索能力;同時(shí)引入服從beta分布的隨機(jī)生成數(shù)對(duì)收斂因子f進(jìn)行擾動(dòng)變異,以增強(qiáng)算法迭代后期的開(kāi)發(fā)能力,降低算法陷入局部極值的概率;在迭代后期收斂因子長(zhǎng)時(shí)間處于較小值并緩慢遞減至0,以便提高算法的局部搜索能力.因此本文改進(jìn)的非線性收斂因子f能夠更好的平衡算法全局探索和局部探索能力.
圖2 收斂因子曲線圖Fig.2 Convergence factorsgraph
ChOA算法中,黑猩猩位置變化依賴于每次迭代后的位置更新,通過(guò)重新計(jì)算適應(yīng)度值并與之前4種最優(yōu)黑猩猩的適應(yīng)度值進(jìn)行比較,選擇較優(yōu)個(gè)體作為黑猩猩種群的領(lǐng)導(dǎo)者,但在黑猩猩位置其過(guò)程中過(guò)于依賴最優(yōu)解,從而導(dǎo)致種群出現(xiàn)“早熟”現(xiàn)象.鑒此,為解決這一問(wèn)題,本文將柯西變異與反向?qū)W習(xí)策略進(jìn)行融合,交替執(zhí)行對(duì)黑猩猩最優(yōu)個(gè)體進(jìn)行擾動(dòng)策略,避免算法在求解過(guò)程中出去“早熟”現(xiàn)象.
反向?qū)W習(xí)[14]是以當(dāng)前解為基礎(chǔ),由反向?qū)W習(xí)機(jī)制得到反向解,經(jīng)對(duì)比篩選保留更佳的解.為讓個(gè)體更好的避免局部極值,將反向?qū)W習(xí)策略融入黑猩猩算法中,其數(shù)學(xué)模型描述如下:
Xbest(t)=ub+r⊕(lb-Xattacker(t))
(12)
式中,Xbest(t)為第t代最優(yōu)解Xattacker的反向解,r服從(0,1)均勻分布1×dim的隨機(jī)矩陣.ub、lb為搜索空間的上下邊界.
柯西變異來(lái)自于柯西分布,其標(biāo)準(zhǔn)的柯西分布函數(shù)表達(dá)式如下:
(13)
由柯西函數(shù)的數(shù)學(xué)性質(zhì)可知,柯西分布函數(shù)兩端處于扁平形狀,且趨近0的過(guò)程較為緩慢.因此,利用柯西算子對(duì)黑猩猩種群最優(yōu)個(gè)體進(jìn)行擾動(dòng)變異,能夠更有效地使個(gè)體跳到更好的位置,逃離局部極值.
Xbest(t)=Xattacker(t)+cauchy(0,1)⊕Xattacker(t)
(14)
式中,Xattacker為種群最優(yōu)位置黑猩猩,cauchy(0,1)為柯西算子.
為最大程度改善黑猩猩算法在求解過(guò)程中出現(xiàn)“早熟”現(xiàn)象,本文將反向?qū)W習(xí)與柯西變異通過(guò)切換概率q隨機(jī)交替執(zhí)行,其切換概率q是(0.1,0.5)之間的數(shù).其策略具體的執(zhí)行步驟如下:
1)ifrand 2)由公式(12)進(jìn)行反向?qū)W習(xí)策略優(yōu)化種群最優(yōu)解; 3)else 4)由公式(14)進(jìn)行柯西算子擾動(dòng)策略優(yōu)化種群最優(yōu)解; 5)end 上述兩種策略雖然在一定程度上能夠提升算法跳出局部極值的能力,但是無(wú)法保證變異之后的解優(yōu)于原來(lái)種群最優(yōu)解,所以經(jīng)過(guò)上述策略變異之后,引入貪婪策略比較新舊兩個(gè)位置的適應(yīng)度值,保留更佳的位置.其貪婪策略數(shù)學(xué)模型描述如下: (15) 單純形法[15]能夠?qū)ψ畈铧c(diǎn)進(jìn)行反射、擴(kuò)張、壓縮等操作,來(lái)獲得更佳的點(diǎn),由此取代最差點(diǎn),重構(gòu)單純形,從而不斷逼近最優(yōu)點(diǎn).因此本文基于單純形法優(yōu)化策略,在黑猩猩進(jìn)行柯西變異和反向?qū)W習(xí)結(jié)束后,選擇種群位置最差的黑猩猩來(lái)進(jìn)行單純形法策略的優(yōu)化,產(chǎn)生新解,從而加快種群尋到最優(yōu)解的速度.單純形法具體操作過(guò)程如下: a)篩選黑猩猩種群中所有個(gè)體,從中選出最優(yōu)位置的黑猩猩為Xg和最差位置的黑猩猩為Xs,Xg、Xs的適應(yīng)度值為f(Xg)和f(Xs). b)計(jì)算出Xg和Xs的中心位置,即為Xm. Xm=(Xg+Xs)/2 (16) c)執(zhí)行反射操作. Xr=Xm+τ(Xm-Xs) (17) 式中,Xr為反射點(diǎn),τ為反射系數(shù),本文取1. d)如果f(Xr) Xe=Xm+ζ(Xr-Xm) (18) 式中,ζ為擴(kuò)張系數(shù),本文取2,如果f(Xe) f)如果f(Xs) Xo=Xm+φ(Xs-Xm) (19) 式中,φ為收縮系數(shù),本文取0.5,如果f(Xo) g)如果f(Xg) Xw=Xm-φ(Xs-Xm) (20) 如果f(Xw) 步驟1.設(shè)置算法初始參數(shù),包括種群規(guī)模N,最大迭代次數(shù)Tmax,搜索空間維度dim,反射系數(shù)α,擴(kuò)張系數(shù)ζ,內(nèi)、外收縮系數(shù)φ; 步驟2.利用佳點(diǎn)集映射初始化種群; 步驟3.計(jì)算種群中每個(gè)個(gè)體適應(yīng)度值,得到4個(gè)最優(yōu)黑猩猩個(gè)體,即攻擊者、障礙者、追逐者和驅(qū)趕者,并記它們的位置分別為Xattacker、Xbarrier、Xchaser和Xdriver; 步驟4.根據(jù)公式(3)、公式(4)、公式(11)更新收斂因子f,以及系數(shù)向量A和C的值; 步驟5.根據(jù)概率q隨機(jī)選擇反向?qū)W習(xí)策略和柯西算法擾動(dòng)策略對(duì)Xattacker進(jìn)行變異,產(chǎn)生新解,再根據(jù)公式(14)保留更好的解; 步驟6.根據(jù)單純形法優(yōu)化黑猩猩種群中最差的個(gè)體,得到最差個(gè)體的更新位置Xs; 步驟7.將f(Xs)與Xattacker、Xbarrier、Xchaser和Xdriver的適應(yīng)度值進(jìn)行對(duì)比,更新得到最優(yōu)的Xattacker、Xbarrier、Xchaser和Xdriver; 步驟8.根據(jù)公式(6)~公式(8)更新種群中其它黑猩猩的位置; 步驟9.判斷算法是否達(dá)到最大迭代次數(shù),如果沒(méi)有達(dá)到,返回步驟3,否則算法結(jié)束,輸出最優(yōu)黑猩猩位置Xattacker. 為驗(yàn)證CP-ChOA算法的有效性,選用8個(gè)具有不同特征的測(cè)試函數(shù)進(jìn)行實(shí)驗(yàn)仿真,其中F1~F4為單峰函數(shù),F5~F8為多峰測(cè)試函數(shù),8個(gè)函數(shù)的具體特征如表1所示.在對(duì)比實(shí)驗(yàn)中,為確保公平性,所有算法均使用相同的種群規(guī)模N=30,最大迭代次數(shù)Tmax=500,測(cè)試函數(shù)維數(shù)30/100/200.本文實(shí)驗(yàn)仿真分為5個(gè)部分進(jìn)行: 表1 測(cè)試函數(shù)Table 1 Test function a)將CP-ChOA與ChOA、GWO、BOA、SSA3種新型群智能算法進(jìn)行比較,驗(yàn)證本文改進(jìn)算法的有效性; b)將CP-ChOA與ChOA、GWO、BOA、SSA4種標(biāo)準(zhǔn)算法的平均收斂曲線進(jìn)行比較,驗(yàn)證本文改進(jìn)算法的收斂效率; c)將CP-ChOA與其他兩種黑猩猩改進(jìn)算法作比較,驗(yàn)證本文改進(jìn)算法相對(duì)于其他最新改進(jìn)的ChOA算法仍具有優(yōu)越性; d)通過(guò)Wilcoxon秩和檢驗(yàn)驗(yàn)證本文算法與其他對(duì)比算法之間的顯著性差異; e)通過(guò)部分CEC2014測(cè)試函數(shù)驗(yàn)證CP-ChOA算法處于復(fù)雜特征函數(shù)的有效性和突出性. 將CP-ChOA與ChOA、GWO、BOA、SSA分別對(duì)8個(gè)基準(zhǔn)函數(shù)進(jìn)行了30維、100維、200維的求解優(yōu)化,每個(gè)函數(shù)獨(dú)立運(yùn)行30次,記錄其平均值和標(biāo)準(zhǔn)差,其數(shù)據(jù)結(jié)果如表2所示.由表2可知,總體上SSA求解精度較差,GWO、BOA和ChOA尋優(yōu)精度相差不大,CP-ChOA的求解精度、收斂速度以及穩(wěn)定性都要優(yōu)于其他4種算法.從縱向分析,GWO在對(duì)F1、F2函數(shù)求解時(shí),尋優(yōu)精度均大于其他3種標(biāo)準(zhǔn)算法;BOA在對(duì)F3、F4、F7函數(shù)求解時(shí),尋優(yōu)精度和穩(wěn)定性優(yōu)于其他3種標(biāo)準(zhǔn)算法;SSA僅在F8函數(shù)上求解時(shí),尋優(yōu)精度優(yōu)于其他3種標(biāo)準(zhǔn)算法.對(duì)于F1~F8函數(shù),在其他對(duì)比算法尋優(yōu)精度低且收斂速度慢的情況下,CP-ChOA仍然能保持較高的穩(wěn)定性和尋優(yōu)精度,且除了F6函數(shù)之外,其余7個(gè)函數(shù)均能尋到理論最優(yōu)值,雖然F6函數(shù)不能尋到理論最優(yōu)值,但相對(duì)于GWO算法,CP-ChOA提高了3個(gè)數(shù)量級(jí).隨著函數(shù)由單峰函數(shù)變?yōu)槎喾搴瘮?shù),SSA陷入局部極值的問(wèn)題越發(fā)突出,其他對(duì)比算法也出現(xiàn)了停滯,唯有CP-ChOA持續(xù)尋優(yōu),且尋優(yōu)精度也是5種對(duì)比算法中最高的. 表2 不同維度下5算法的求解結(jié)果Table 2 Results of 5algorithm in different dimensions 續(xù)表BOA5.86E-095.54E-105.68E-093.68E-105.74E-092.69E-10F6SSA2.58E+008.34E-011.02E+018.11E-011.31E+014.49E-01ChOA1.96E+011.18E-032.00E+014.60E-032.00E+011.22E-02CP-ChOA8.88E-160.00E+008.88E-160.00E+008.88E-160.00E+00GWO6.57E-031.04E-021.69E-036.51E-034.00E-031.26E-02BOA4.62E-122.52E-121.22E-113.34E-121.56E-112.11E-12F7SSA1.16E-011.13E-011.32E+014.79E+001.57E+022.12E+01ChOA5.40E-024.88E-024.35E-012.22E-011.26E+001.36E-01CP-ChOA0.00E+000.00E+000.00E+000.00E+000.00E+000.00E+00GWO3.68E-058.05E-051.89E-044.83E-042.83E-043.67E-04BOA3.32E-031.82E-025.47E-082.18E-073.32E-031.82E-02F8SSA4.72E-138.25E-132.04E-123.20E-129.40E-131.39E-12ChOA3.80E-024.57E-021.63E-011.41E-014.07E-013.69E-01CP-ChOA0.00E+000.00E+000.00E+000.00E+000.00E+000.00E+00 從橫向分析,當(dāng)維度從30維提升至100維再提升至200維時(shí),GWO、BOA、SSA和ChOA尋優(yōu)能力和穩(wěn)定性均有一定程度上下降,特別是BOA在100維和200為對(duì)F2函數(shù)求解時(shí)變化顯著.其原因是由于測(cè)試函數(shù)的維度增加,求解函數(shù)的復(fù)雜度也隨之增加,因此算法尋找最優(yōu)解的過(guò)程變得更加復(fù)雜.而CP-ChOA算法在增加維度的情況下,仍然能保持較好的尋優(yōu)能力和穩(wěn)定性,且F1~F5、F7和F8函數(shù)在100維和200維的情況下均能尋到理論最優(yōu)值,雖然F6函數(shù)沒(méi)能尋到理論最優(yōu)值,但是尋精度遠(yuǎn)高于其他4個(gè)對(duì)比算法,從而驗(yàn)證了CP-ChOA在低維和高維情況下均有更佳的尋優(yōu)能力. 算法的收斂曲線圖可以直觀呈現(xiàn)算法的收斂趨勢(shì)的一種表達(dá)方式[16],為更好的比較算法的性能,圖3給出8基準(zhǔn)函數(shù)的收斂曲線圖,并增加了BOA算法、GWO算法和SSA算法參與收斂性能對(duì)比. 從圖3可以直觀的看出,對(duì)于8個(gè)測(cè)試函數(shù),CP-ChOA算法的收斂曲線在迭代初期快速下降,表明佳點(diǎn)集映射種群初始化策略有效的提高了算法的收斂速度,且在整個(gè)迭代尋優(yōu)過(guò)程中,CP-ChOA算法陷入停滯的頻率少于其他4種算法,僅在F6出現(xiàn)較明顯的停滯;圖3(a)~圖3(d)為單峰函數(shù)的收斂曲線,從圖可知,ChOA算法的收斂曲線在迭代初期長(zhǎng)時(shí)間陷入停滯狀態(tài),而CP-ChOA算法在迭代初期快速收斂,且在迭代整個(gè)過(guò)程中都沒(méi)有明顯地陷入停滯現(xiàn)象,這表明柯西變異和反向?qū)W習(xí)策略能有效的優(yōu)化全局最優(yōu)的黑猩猩位置,幫助種群跳出局部極值,并且加入新型的非線性收斂因子有效的平衡了黑猩猩的全局搜索和局部搜索能力;圖3(e)-圖3(h)為多峰函數(shù)的收斂曲線,從圖可以看出,多個(gè)參與比較的算法都在迭代后期陷入了局部極值,而CP-ChOA算法在F5、F7、F8函數(shù)上,均在200代內(nèi)尋到理論最優(yōu)值,這表明單純形法策略對(duì)種群最差個(gè)體有較佳的改善能力,加快了算法尋到全局最優(yōu)解的速度.雖然在F6函數(shù)上沒(méi)能跳出局部極值,但是收斂速度和尋優(yōu)精度要略高于其他4種算法. 為了突出CP-ChOA算法的優(yōu)越性,與文獻(xiàn)中最新改進(jìn)的ChOA算法進(jìn)行比較.為了確保對(duì)比的公平性,本文最大迭代數(shù)設(shè)為500,種群規(guī)模30,搜索維度設(shè)為30,獨(dú)立運(yùn)行30次,數(shù)據(jù)對(duì)比結(jié)果如表3所示,其中“——”代表無(wú)數(shù)據(jù). 圖3 測(cè)試函數(shù)平均收斂曲線Fig.3 Average convergence curves of test function 表3 與改進(jìn)ChOA算法對(duì)比結(jié)果Table 3 Comparison result with improved GOA algorithm 從表3中的平均值和標(biāo)準(zhǔn)差數(shù)據(jù)可知,文獻(xiàn)[11]的EChOA算法和文獻(xiàn)[12]的SChOA算法的尋優(yōu)精度較差且尋優(yōu)結(jié)果不穩(wěn)定,相比于EChOA和SChOA,本文改進(jìn)的CP-ChOA算法具有更好的尋優(yōu)能力和更強(qiáng)的魯棒性.在F1~F4單峰函數(shù)中,CP-ChOA算法收斂精度均能找到理論最優(yōu)值,尋優(yōu)能力遠(yuǎn)超于其他兩個(gè)算法;在多峰函數(shù)F5~F8中,CP-ChOA算法的尋優(yōu)結(jié)果都要優(yōu)于另外兩個(gè)算法,雖然在函數(shù)F6上無(wú)法尋到理論最優(yōu)值,但是尋優(yōu)精度比EChOA高出兩個(gè)數(shù)量級(jí),且算法穩(wěn)定性更強(qiáng). 上上述仿真中,均沒(méi)有對(duì)每次實(shí)驗(yàn)結(jié)果進(jìn)行獨(dú)立對(duì)比.為了充分證明算法的魯棒性和公平性,本文采用Wilcoxon秩和檢驗(yàn)驗(yàn)證CP-ChOA的獨(dú)立運(yùn)行50次的實(shí)驗(yàn)結(jié)果在統(tǒng)計(jì)上與其他算法是否存在顯著性差異.Wilcoxon秩和檢驗(yàn)在p=5%的顯著性水平下進(jìn)行,當(dāng)p<5%時(shí),則拒絕H0假設(shè),表明兩種對(duì)比算法存在顯著性差異;反之則接受H0假設(shè),表明兩種算法尋優(yōu)性能在整體上是相同的[17]. 在8個(gè)測(cè)試函數(shù)下,將CP-ChOA與ChOA、GWO、BOA、SSA以及只加入柯西變異與反向?qū)W習(xí)策略的黑猩猩算法(C-ChOA)、只加入了單純形法策略的黑猩猩算法(S-ChOA)進(jìn)行比較,因?yàn)樽罴阉惴o(wú)法與自身進(jìn)行對(duì)比,所以表中標(biāo)記為“NaN”表示不適用,即無(wú)法進(jìn)行顯著性判斷.符號(hào)“+”、“-”和“=”分別表示CP-ChOA與其他算法性能的優(yōu)、劣和性能相同.從表4可知,大部分p值遠(yuǎn)小于5%,表明了CP-ChOA算法與其他5種算法之間存在顯著性差異,并且CP-ChOA顯著更優(yōu). 表4 Wilcoxon秩和檢驗(yàn)的p值Table 4 Wilcoxon rank sum testpvalue 為了更好地驗(yàn)證CP-ChOA的有效性和魯棒性,本文采用CEC2014來(lái)進(jìn)一步驗(yàn)證改進(jìn)算法性能.部分CEC2014測(cè)試函數(shù)介紹如表5所示,其中函數(shù)類型包含單峰(UN)、多峰(MF)、混合(HF)和復(fù)合函數(shù)(CF).本文將改進(jìn)的算法與基本ChOA、WOA、BOA、SSA以及L-SHADE[18]算法進(jìn)行比較,其中因?yàn)長(zhǎng)-SHADE在CEC2014函數(shù)中表現(xiàn)突出,常作為對(duì)比算法.實(shí)驗(yàn)參數(shù)設(shè)各算法種群規(guī)模均為30,維度為30,算法最大迭代次數(shù)為1000,并讓每個(gè)函數(shù)獨(dú)立運(yùn)行30次記錄其平均值和標(biāo)準(zhǔn)差,實(shí)驗(yàn)結(jié)果如表6所示. 從表6可知,在單峰函數(shù)上求解時(shí),除了L-SHADE之外,CP-ChOA的尋優(yōu)結(jié)果要更由于其他4種算法,且穩(wěn)定性比其他4種更好;在多峰和混合函數(shù)中,SSA尋優(yōu)能力最強(qiáng),CP-ChOA次之;在復(fù)合函數(shù)中,CP-ChOA的收斂精度和魯棒性要遠(yuǎn)高于其他算法,進(jìn)一步驗(yàn)證了CP-ChOA具有較佳的魯棒性和有效性. 表5 CEC2014(部分)Table 5 CEC2014 function(part) 續(xù)表BOAMean3.7833E+051.4921E+032.7142E+033.4948E+034.8074E+031.2010E+04Std1.0310E+065.5310E+012.0131E+022.4319E+025.0538E+021.0084E+03SSAMean7.7494E+041.0744E+031.9154E+032.6316E+033.5530E+034.1796E+03Std2.0519E+044.4421E+012.0300E+007.3046E+001.6313E+024.2616E+02L-SHADE[18]Mean0.00E+006.37E+003.59E+003.15E+023.00E+028.45E+02Std0.00E+001.23E+007.22E-011.14E-132.31E-131.29E+01 時(shí)間復(fù)雜度是檢驗(yàn)算法運(yùn)行效率的關(guān)鍵指標(biāo).在ChOA算法中,假設(shè)種群規(guī)模為N,搜索空間維度為n,參數(shù)初始化時(shí)間為t1,產(chǎn)生隨機(jī)數(shù)的時(shí)間為t2,則ChOA種群初始化階段的時(shí)間復(fù)雜度為: O(t1+N(nt2))=O(n+f(n)) (21) 在算法迭代階段,設(shè)計(jì)算種群個(gè)體適應(yīng)度值時(shí)間為f(n),比較種群個(gè)體適應(yīng)度值并選出4個(gè)最優(yōu)個(gè)體位置的時(shí)間為t3,更新收斂因子的時(shí)間為t4,種群其他黑猩猩跟隨4個(gè)最優(yōu)個(gè)體位置更新的時(shí)間為t5,則該階段的時(shí)間復(fù)雜度為: O(N(f(n)+t3+t4+t5))=O(n+f(n)) (22) 所以基本的ChOA算法尋優(yōu)的總時(shí)間復(fù)雜度為: T(n)=O(n+f(n))+O(n+f(n))=O(n+f(n)) (23) 在CP-ChOA算法中,設(shè)種群參數(shù)初始化時(shí)間與ChOA算法保持一致,每一維佳點(diǎn)集映射的時(shí)間為t6,則CP-ChOA算法種群初始化階段的時(shí)間復(fù)雜度為: O(t1+N(nt6))=O(n+f(n)) (24) 在算法迭代階段,設(shè)執(zhí)行柯西變異和反向?qū)W習(xí)策略的時(shí)間為t7,執(zhí)行貪婪策略時(shí)間為t8,執(zhí)行單純形法策略時(shí)間為t9,單純形法優(yōu)化的最差個(gè)體與4個(gè)最優(yōu)位置對(duì)比與擇優(yōu)的時(shí)間為t10,更新改進(jìn)的非線性收斂因子的時(shí)間為t11,則該階段的時(shí)間復(fù)雜度為: O(t8+t10+N(t5+t7+t9+t11))=O(n+f(n)) (25) 綜上,CP-ChOA算法總的時(shí)間復(fù)雜度為: T′(n)=O(n+f(n))+O(n+f(n))=O(n+f(n)) (26) 綜上所述,CP-ChOA算法與標(biāo)準(zhǔn)ChOA算法的時(shí)間復(fù)雜度屬于同一數(shù)量級(jí),并沒(méi)有增加算法的時(shí)間復(fù)雜度. 近年來(lái),工程算例應(yīng)用作為優(yōu)化問(wèn)題中的一個(gè)熱門領(lǐng)域,受到廣泛的關(guān)注.為了進(jìn)一步探討CP-ChOA算法在實(shí)際工程案例應(yīng)用中的有效性,本文選取文獻(xiàn)[19]中的罰函數(shù)作為非線性約束條件,分別對(duì)焊接梁設(shè)計(jì)問(wèn)題和拉壓設(shè)計(jì)問(wèn)題進(jìn)行優(yōu)化處理.為體現(xiàn)比較的公平性,焊接梁設(shè)計(jì)問(wèn)題的對(duì)比算法結(jié)果均來(lái)自文獻(xiàn)[19],拉壓彈簧設(shè)計(jì)問(wèn)題的對(duì)比算法結(jié)果均來(lái)自文獻(xiàn)[12]. 如圖4所示,焊接梁設(shè)計(jì)問(wèn)題目的在于降低焊接梁的制造成本,焊接梁設(shè)計(jì)問(wèn)題數(shù)學(xué)模型描述如公式(27)所示,其中,x1、x2、x3和x4分別表示焊接梁的4個(gè)基本屬性:焊縫寬度h、橫梁的寬度d、長(zhǎng)度l和厚度b.約束條件包括剪切應(yīng)力τ、橫梁彎曲應(yīng)力σ、屈曲載荷Pc、橫梁撓度δ,以及其他內(nèi)部參數(shù)約束. 圖4 焊機(jī)梁設(shè)計(jì)模型Fig.4 Welder beam design model (27) 其中, (28) 利用本文改進(jìn)算法CP-ChOA、標(biāo)準(zhǔn)ChOA、標(biāo)準(zhǔn)WOA、標(biāo)準(zhǔn)SSA對(duì)上述問(wèn)題進(jìn)行求解,并與ATMDE[20]、RO[21]、BA[22]、V(u+1)-ES[23]算法的求解結(jié)果進(jìn)行對(duì)比,其結(jié)果如表7所示.從表7中可明顯看出,改進(jìn)的CP-ChOA算法對(duì)焊接梁設(shè)計(jì)問(wèn)題的優(yōu)化效果優(yōu)于其他5種算法. 拉壓彈簧結(jié)構(gòu)設(shè)計(jì)如圖5所示,其目的是滿足僥曲度、震動(dòng)頻率、剪應(yīng)力等4個(gè)約束條件和3個(gè)決策變量下使其重量最小化.其中3個(gè)決策變量分別為彈簧線圈直徑d(x1)、彈簧簧圈直徑D(x2)和繞線圈數(shù)N(x3),其數(shù)學(xué)模型表示公式(29)所示. 表7 8種算法求解焊接梁設(shè)計(jì)問(wèn)題的最優(yōu)解對(duì)比Table 7 Comparison of optimal solution of eight algorithmfor welding beam design problems 圖5 拉壓彈簧設(shè)計(jì)模型Fig.5 Tension/compression spring design model (29) 表8 9種算法求解拉壓彈簧設(shè)計(jì)問(wèn)題的最優(yōu)解對(duì)比Table 8 Comparison of optimal solutions of nine algorithms for tension/compression spring design problems 利用本文改進(jìn)算法CP-ChOA、標(biāo)準(zhǔn)ChOA、標(biāo)準(zhǔn)SSA、標(biāo)準(zhǔn)WOA、標(biāo)準(zhǔn)GWO、標(biāo)準(zhǔn)BOA對(duì)上述問(wèn)題進(jìn)行求解,并與Halton-PSO[24]、HSSAHHO[25]、SChoA[12]算法的求解結(jié)果進(jìn)行對(duì)比,其結(jié)果如表8所示.從表8中可明顯看出,改進(jìn)的CP-ChOA算法對(duì)拉壓彈簧設(shè)計(jì)問(wèn)題的優(yōu)化效果優(yōu)于其他8種算法. 為提高黑猩猩優(yōu)化算法的尋優(yōu)精度,平衡全局搜索和局部搜索能力,本文提出了一種新型的柯西擾動(dòng)黑猩猩優(yōu)化算法(CP-ChOA).通過(guò)對(duì)8個(gè)經(jīng)典測(cè)試函數(shù)、Wilcoxon秩和檢驗(yàn)以及CEC2014部分函數(shù)進(jìn)行試驗(yàn)仿真,并與現(xiàn)有的其他群智能優(yōu)化算法和兩種最新改進(jìn)的黑猩猩優(yōu)化算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果證明CP-ChOA算法具有更好的尋優(yōu)能力和魯棒性.通過(guò)優(yōu)化2個(gè)工程設(shè)計(jì)實(shí)例,驗(yàn)證了CP-ChOA算法在工程上的可行性.在后續(xù)的研究中,考慮將算法應(yīng)用到其他工程實(shí)踐中,以進(jìn)一步驗(yàn)證算法的性能.3.4 單純形法
3.5 CP-ChOA執(zhí)行步驟
4 實(shí)驗(yàn)結(jié)果及分析
4.1 與其他群智能算法對(duì)比
4.2 收斂性分析
4.3 與最新的改進(jìn)黑猩猩算法(ChOA)比較
4.4 Wilcoxon秩和檢驗(yàn)
4.5 在CEC2014基準(zhǔn)函數(shù)上進(jìn)行測(cè)試
4.6 CP-ChOA算法的時(shí)間復(fù)雜度分析
5 CP-ChOA算法工程案例應(yīng)用分析
5.1 焊接梁設(shè)計(jì)問(wèn)題
5.2 拉壓彈簧設(shè)計(jì)問(wèn)題
6 結(jié)束語(yǔ)