劉成漢 何 慶
在過去的20 年中,元啟發(fā)式算法由于其簡(jiǎn)單性、靈活性和較高的魯棒性被廣泛關(guān)注.常見的元啟發(fā)式算法有遺傳算法(Genetic algorithm,GA)[1]、粒子群優(yōu)化(Particle swarm optimization,PSO)算法[2]、灰狼優(yōu)化(Grey wolf optimization,GWO)算法[3]和蝴蝶優(yōu)化算法[4]等.隨著技術(shù)不斷發(fā)展和更新,元啟發(fā)式算法在復(fù)雜優(yōu)化問題上表現(xiàn)卓越,如路徑規(guī)劃[5]、電力系統(tǒng)控制[6]等工程設(shè)計(jì)問題.
2020 年,Khishe 等[7]提出黑猩猩優(yōu)化算法(Chimp optimization algorithm,ChOA),該算法是一種基于黑猩猩種群社會(huì)行為的啟發(fā)式智能優(yōu)化算法,ChOA 與其他智能優(yōu)化算法相比,具有參數(shù)少、易實(shí)現(xiàn)、穩(wěn)定性高等優(yōu)點(diǎn).盡管不同的智能優(yōu)化算法存在不同的搜索方式,但其目標(biāo)大多都是探索種群多樣性和搜索能力之間的平衡,在保證收斂精度和速度的同時(shí),避免早熟現(xiàn)象的發(fā)生[8].針對(duì)上述思想,眾多學(xué)者對(duì)其研究的智能優(yōu)化算法做了改進(jìn),例如王堅(jiān)浩等[9]提出一種基于混沌搜索策略的鯨魚優(yōu)化算法,采用混沌反向?qū)W習(xí)策略初始化種群,保證了初始化種群的質(zhì)量;寧杰瓊等[10]利用混沌映射初始化蝴蝶個(gè)體的位置,以此增加算法初期種群的多樣性;王秋萍等[11]引入基于余弦規(guī)律變化的收斂因子和基于歐氏距離的比例權(quán)重因子,平衡算法的探索和開發(fā)能力;Ewees 等[12]通過將蝗蟲優(yōu)化算法與對(duì)立學(xué)習(xí)策略相結(jié)合,同時(shí)引入深度探索搜索域策略,從而加快了算法的收斂速度;Dinkar 等[13]提出一種基于對(duì)立的拉普拉斯蟻獅搜索算法,采用對(duì)立的學(xué)習(xí)模型確保在搜索空間的同時(shí),探索原始和相反的候選解,從而在進(jìn)化過程中評(píng)估更好的候選解;呂鑫等[14]提出一種混沌麻雀搜索算法,通過產(chǎn)生混沌序列擾動(dòng)陷入局部最優(yōu)的解,促使其跳出局部最優(yōu)值;Sayed 等[15]提出一種二進(jìn)制克隆花授粉算法,通過將克隆選擇算法和花授粉算法相結(jié)合,構(gòu)成二元克隆花授粉算法,以解決原始花粉克隆算法易陷入局部最優(yōu)解的問題.
綜上所述,智能優(yōu)化算法和改進(jìn)機(jī)制層出不窮、各具優(yōu)勢(shì),適用于解決一些優(yōu)化問題,但在另外一些問題的求解上,會(huì)顯露出不足.因此,為了提高ChOA 的尋優(yōu)性能和適用性,探索更適合解決實(shí)際優(yōu)化問題的方法,本文提出一種融合多策略的黃金正弦黑猩猩優(yōu)化算法(Multi-strategy golden sine chimp optimization algorithm,IChOA).該算法采用Halton 序列初始化種群,生成更加均勻個(gè)體,保證算法初期的多樣性,提高算法收斂速度和精度;同時(shí),引入非線性收斂因子和自適應(yīng)權(quán)重因子,平衡算法的搜索能力,加快算法收斂速度;最后,根據(jù)黃金正弦算法的相關(guān)思想更新個(gè)體位置,避免算法過早收斂.仿真實(shí)驗(yàn)采用23 個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)以及部分CEC2014 測(cè)試函數(shù)進(jìn)行尋優(yōu)測(cè)試,并采用Wilcoxon 秩和檢驗(yàn)進(jìn)行統(tǒng)計(jì)分析,驗(yàn)證了算法的優(yōu)越性.通過2 個(gè)工程設(shè)計(jì)優(yōu)化問題的實(shí)驗(yàn)對(duì)比結(jié)果表明,IChOA 相較于其他算法,更具優(yōu)勢(shì).
ChOA 算法是根據(jù)黑猩猩種群的捕獵行為提出的一種群智能優(yōu)化算法,一般黑猩猩的狩獵過程分為探索和開發(fā)兩個(gè)階段.探索階段即驅(qū)動(dòng)、阻擋和追逐獵物,開發(fā)階段即攻擊獵物.黑猩猩捕獵行為的仿生學(xué)原理描述如下.
為了用數(shù)學(xué)模型模擬黑猩猩的行為,假設(shè)第1個(gè)攻擊者(最佳解決方案)、驅(qū)趕者、阻礙者和追趕者能發(fā)現(xiàn)潛在獵物的位置,其他黑猩猩被迫根據(jù)最佳黑猩猩的位置更新自己的位置.黑猩猩驅(qū)趕和追逐獵物的數(shù)學(xué)模型為:
式中,d(t)為獵物與黑猩猩間的距離,t為當(dāng)前迭代次數(shù),a和c為系數(shù)向量,m是由混沌映射產(chǎn)生的混沌向量,XP為獵物的位置向量,XC為黑猩猩的位置向量.a和c向量表示如下:
式中,f為線性衰減因子,隨著迭代次數(shù)的增加,f值由2.5 線性衰減到0,r1和r2是取值為[0,1]的隨機(jī)數(shù).
參數(shù)a為 [-2f,2f] 的隨機(jī)變量,假設(shè)a的值為[-1,1]時(shí),獵物停止移動(dòng),此時(shí)黑猩猩必須攻擊獵物結(jié)束捕獵.因此,采取降低f值的方式迫使黑猩猩結(jié)束捕獵,黑猩猩的下一個(gè)位置可以在當(dāng)前位置與獵物位置之間的任意位置.
黑猩猩攻擊獵物數(shù)學(xué)模型為:
由式(5)~(7)可知,黑猩猩個(gè)體最終的位置是隨機(jī)分布在一個(gè)由攻擊者、阻礙者、追逐者和驅(qū)趕者黑猩猩位置所確定的圓圈中,即獵物位置是由4個(gè)最好的個(gè)體來估計(jì)的,而其他黑猩猩則隨機(jī)更新它們?cè)诟浇奈恢?
種群在捕獵的最后階段個(gè)體獲得食物滿足,隨后的社會(huì)動(dòng)機(jī)會(huì)使黑猩猩釋放它們的天性,此時(shí),黑猩猩個(gè)體試圖強(qiáng)行混亂地獲得食物.黑猩猩在最后階段的混亂行為,有助于進(jìn)一步緩解解決高維問題時(shí)的局部最優(yōu)陷阱和收斂速度慢這兩個(gè)問題.
原始黑猩猩算法使用了6 種具有隨機(jī)行為的確定性混沌過程映射,為了模擬這種社會(huì)行為,假設(shè)有50%的概率在正常的位置更新機(jī)制或混沌模型中選擇其一更新黑猩猩的位置,社會(huì)性刺激行為數(shù)學(xué)模型為:
式中,μ是取值[0,1]的隨機(jī)數(shù),Chaotic是混沌映射,用來更新解的位置.
在基本ChOA 中,種群初始化處理采用隨機(jī)分布方式,這種隨機(jī)方式導(dǎo)致算法多樣性降低,個(gè)體尋優(yōu)存在一定的盲目性;其次,算法用來平衡局部搜索和全局搜索能力的收斂因子f采用線性規(guī)律下降因子,并不符合算法迭代過程中的非線性尋優(yōu)規(guī)律;最后,對(duì)于加強(qiáng)算法跳出局部極值能力的混沌擾動(dòng)Chaotic,其只有50%概率隨機(jī)觸發(fā),具有很大的不穩(wěn)定性,雖然有一定的概率帶領(lǐng)個(gè)體跳出局部最優(yōu)值點(diǎn),但是并沒有考慮尋優(yōu)過程中個(gè)體位置信息的變化.
綜上所述,本文針對(duì)上述算法原理上的缺陷,引入相應(yīng)策略進(jìn)行改善,具體策略如下.
原始黑猩猩優(yōu)化算法采用rand 函數(shù)隨機(jī)初始化種群,所得到的種群隨機(jī)性高,但是不一定均勻地分布在整個(gè)解空間,導(dǎo)致種群搜索速度慢,算法多樣性不足.針對(duì)上述問題,本文引入Halton 序列產(chǎn)生偽隨機(jī)數(shù)來初始化種群,偽隨機(jī)數(shù)的遍歷性使個(gè)體更加均勻地分布在整個(gè)解空間[16],提高初始化時(shí)算法的多樣性,個(gè)體能快速發(fā)現(xiàn)優(yōu)質(zhì)解的位置,從而加快算法收斂,提高算法收斂精度.
對(duì)于二維Halton 序列,其實(shí)現(xiàn)過程為: 選取兩個(gè)質(zhì)數(shù)作為基礎(chǔ)量,通過對(duì)兩個(gè)基礎(chǔ)量不斷切分,從而組合成一系列均勻分布且不重復(fù)的點(diǎn),其切分過程數(shù)學(xué)模型為:
式中,n∈[1,N] 為任意整數(shù),p是大于等于2 的質(zhì)數(shù),bi ∈{0,1,···,p-1}為常數(shù),p表示Halton 序列基礎(chǔ)量,θ(n)是定義的序列函數(shù),H(n)為最后得到的二維均勻Halton 序列.
圖1 為基本黑猩猩算法產(chǎn)生的種群隨機(jī)初始化個(gè)體分布圖.圖2 為使用Halton 序列產(chǎn)生的初始種群分布圖,其中Halton 序列基礎(chǔ)量為base1=2,base2=3.

圖2 使用Halton 序列產(chǎn)生的初始種群分布圖Fig.2 Halton sequence initialized population distribution map
由圖1 和圖2 的對(duì)比分析可知,Halton 序列產(chǎn)生的種群分布雖然隨機(jī)性并不高,但是分布更為均勻,并沒有出現(xiàn)個(gè)體重疊現(xiàn)象.由此可知,Halton序列產(chǎn)生的種群質(zhì)量更高,算法多樣性更好.
2.2.1 非線性收斂因子
評(píng)價(jià)啟發(fā)式算法性能好壞的重要環(huán)節(jié)之一是能否平衡算法的全局搜索能力和局部開發(fā)能力.由前面的分析可知,隨機(jī)變量a=[-2f,2f],當(dāng)|a|≤1時(shí),個(gè)體攻擊獵物收斂;當(dāng) |a|>1 時(shí),個(gè)體分散搜尋獵物,因此收斂因子f的變化決定了算法局部和全局搜索能力的平衡.基本ChOA 算法的收斂因子f由2.5 線性下降到0,這種線性變化并不能適應(yīng)算法對(duì)于復(fù)雜多峰函數(shù)的尋優(yōu),導(dǎo)致算法尋優(yōu)速度緩慢,甚至陷入局部最優(yōu)值.因此,本文引入一種非線性變化的收斂因子,在算法迭代前期種群大范圍搜索時(shí),緩慢衰減的收斂因子能讓種群更好地搜索全局最優(yōu)解;在算法迭代后期種群收斂,此時(shí)快速衰減的收斂因子有利于算法局部尋找最優(yōu)解.同時(shí),加入控制因子k,能控制衰減的幅度,非線性收斂因子的數(shù)學(xué)模型描述如下:
式中,t為當(dāng)前迭代次數(shù),Maxiter為最大迭代次數(shù),fm為收斂因子的初始值.k∈[1,10] 為控制因子,k能控制f衰減幅度,k越大時(shí),收斂因子衰減越慢;反之,收斂因子衰減越快.線性收斂因子f和控制因子k,取k=1,5,10 的非線性收斂因子,對(duì)比如圖3所示.

圖3 收斂因子對(duì)比圖Fig.3 Contrast diagram of convergence factors
2.2.2 自適應(yīng)權(quán)重因子
權(quán)重因子在目標(biāo)函數(shù)優(yōu)化中起著重要的作用,合適的權(quán)重能夠加快算法收斂,提高算法收斂精度.針對(duì)ChOA 算法尋優(yōu)過程中收斂速度慢、精度不高問題,引入一種自適應(yīng)調(diào)整的權(quán)重因子ω: 在算法迭代初期,給予一個(gè)較大的權(quán)重使種群以大步長(zhǎng)遍歷整個(gè)搜索空間,有利于算法快速搜尋全局最優(yōu)位置,加快算法收斂;在算法迭代中/后期,算法逐漸收斂,個(gè)體局部搜尋最優(yōu)解,此時(shí)給予一個(gè)較小的權(quán)重,有利于算法以小步長(zhǎng)精細(xì)探索最優(yōu)位置,提高算法收斂精度;最后,在算法迭代末期,針對(duì)ChOA算法易陷入局部最優(yōu)問題,給予個(gè)體位置一個(gè)相對(duì)較大的擾動(dòng),有利于算法跳出局部最優(yōu)解.自適應(yīng)權(quán)重因子ω?cái)?shù)學(xué)模型如下:
式中,δ1、δ2、δ3、ρ1、ρ2、ρ3為常數(shù)系數(shù),t為當(dāng)前迭代次數(shù),t=(1,2,···,Maxiter),ε為指定迭代次數(shù).自適應(yīng)權(quán)重因子ω曲線見圖4.

圖4 自適應(yīng)權(quán)重因子 ω 曲線Fig.4 Adaptive weighting factor ω curve
2017 年,Tanyildizi 等[17]根據(jù)正弦函數(shù)相關(guān)思想,提出黃金正弦算法,該新型智能算法具有尋優(yōu)速度快,調(diào)參簡(jiǎn)單、魯棒性好等優(yōu)點(diǎn).黃金正弦算法使用正弦函數(shù)與單位圓的特殊關(guān)系結(jié)合黃金分割系數(shù)進(jìn)行迭代搜索,通過正弦函數(shù)掃描單位圓模擬算法探索搜索空間的過程.
公元前4 世紀(jì),古希臘數(shù)學(xué)家Eudoxus 首次提出黃金分割系數(shù)概念,黃金分割系數(shù)不需要梯度信息,每個(gè)步驟僅需要迭代一次,同時(shí),黃金分割系數(shù)的收縮步驟是固定的.因此,將正弦函數(shù)與黃金分割率組合,可以更快地找到函數(shù)的最大值或最小值.同時(shí),黃金正弦搜索策略的遍歷性能有效防止算法陷入局部最優(yōu)值.黃金正弦算法數(shù)學(xué)模型如下:
式中,t為當(dāng)前迭代次數(shù);R1和R2分別為取值 [0,2π] 和 [0,π] 的隨機(jī)數(shù),表示下一代個(gè)體移動(dòng)的距離和方向;x1和x2為黃金分割系數(shù),用來縮小搜索空間,引導(dǎo)個(gè)體向最優(yōu)值收斂;是當(dāng)前最優(yōu)個(gè)體的位置.黃金分割系數(shù)x1和x2數(shù)學(xué)模型如下:
式中,α和β是搜索間隔;τ是黃金分割比,取值約為0.618033.
IChOA 算法的具體實(shí)現(xiàn)步驟如下:
步驟1.利用Halton 序列初始化種群,包括種群個(gè)體數(shù)N,最大迭代次數(shù)Maxiter,維度d,種群搜索邊界lb、ub等,并設(shè)置相關(guān)參數(shù).
步驟2.計(jì)算當(dāng)前種群的搜索空間,返回超出搜索空間的個(gè)體.
步驟3.計(jì)算種群中每個(gè)個(gè)體的適應(yīng)度f(wàn)it并排序,記錄當(dāng)前最好個(gè)體Pbest和最差個(gè)體Pworst.
步驟4.更新攻擊者、追趕者、追逐者和阻礙者位置.
步驟5.更新非線性擾動(dòng)因子f和自適應(yīng)權(quán)重因子ω,以及參數(shù)A和C.
步驟6.隨機(jī)選取部分個(gè)體根據(jù)式(12)更新位置,其他個(gè)體按照式(5)~(7)更新位置.
步驟7.根據(jù)式(8)引入混沌算子.
步驟8.重復(fù)步驟3~7,直到達(dá)到最大迭代次數(shù)或者算法收斂.
算法1.IChOA 算法偽代碼
初始化.Halton 序列種群并設(shè)置相關(guān)參數(shù).
基本ChOA 算法的時(shí)間復(fù)雜度為O(N×d×Maxiter),其中N為種群規(guī)模,d為維度,Maxiter為最大迭代次數(shù).IChOA 算法時(shí)間復(fù)雜度分析如下:
1)引入Halton 序列初始化種群的時(shí)間復(fù)雜度為 O (N×d),則引入Halton 序列初始化種群的ChOA (HChOA)的時(shí)間復(fù)雜度為O(N×d×Maxiter+N×d)=O(N×d×Maxiter);
2)假設(shè)引入自適應(yīng)權(quán)重和非線性收斂因子所需的時(shí)間分別為t1和t2,因此引入自適應(yīng)權(quán)重和非線性收斂因子的ChOA 算法(WChOA)的時(shí)間復(fù)雜度為O(N×d×Maxiter+t1+t2)=O(N×d×Maxiter);
3)引入黃金正弦算法的時(shí)間復(fù)雜度為 O (N×d),因此引入黃金正弦算法更新位置的ChOA 算法(GChOA)的時(shí)間復(fù)雜度為O(N×d×Maxiter+N×d)=O(N×d×Maxiter).
綜上所述,IChOA 算法的時(shí)間復(fù)雜度為O(N×d×Maxiter).由此可知,本文提出的IChOA 算法時(shí)間復(fù)雜度與ChOA 算法時(shí)間復(fù)雜度一致.
仿真實(shí)驗(yàn)使用的計(jì)算機(jī)配置為Intel Core i5-7500U,主頻為3.40 GHz,內(nèi)存32 GB,操作系統(tǒng)64 bit,計(jì)算環(huán)境為Matlab2016(a).本文選取基本黑猩猩算法(ChOA)、粒子群優(yōu)化算法(PSO)[18]、灰狼優(yōu)化算法(GWO)[19]和鯨魚優(yōu)化算法(Whale optimization algorithm,WOA)與IChOA 算法進(jìn)行對(duì)比,基本參數(shù)統(tǒng)一設(shè)置為: 種群規(guī)模N=30,最大迭代次數(shù)Maxiter=500,維度分為低維d=30、高維d=500.各算法參數(shù)設(shè)置見表1.

表1 算法參數(shù)設(shè)置Table 1 Parameter setting of algorithm
為了測(cè)試IChOA 算法的尋優(yōu)性能,采用文獻(xiàn)[20]使用的23 個(gè)基準(zhǔn)測(cè)試函數(shù)進(jìn)行函數(shù)尋優(yōu)測(cè)試,其中,f1~f7為單峰函數(shù),f8~f13為復(fù)雜多峰函數(shù),f14~f23為固定維度多峰函數(shù),基準(zhǔn)測(cè)試函數(shù)相關(guān)信息如表2 所示.

表2 基準(zhǔn)測(cè)試函數(shù)介紹Table 2 Introduction to benchmark functions
3.3.1 Halton 序列初始化種群性能分析
為了提高種群初始化的均勻性,提高種群多樣性,本文引入Halton 序列相關(guān)思想初始化種群.取Halton 序列基礎(chǔ)量為base1=2、base2=3,種群規(guī)模N=30,最大迭代次數(shù)Maxiter=500,基本ChOA與加入Halton 序列的ChOA (HChOA)在單峰測(cè)試函數(shù)f1、f3和多峰測(cè)試函數(shù)f9、f12上的尋優(yōu)對(duì)比如圖5 所示.

圖5 ChOA 與HChOA 收斂對(duì)比圖Fig.5 Convergence curve of ChOA and HChOA
由圖5 可知,對(duì)于單峰測(cè)試函數(shù)f1和多峰測(cè)試函數(shù)f9,HChOA 能收斂到更接近于理論最優(yōu)值,說明引入Halton 序列的ChOA 算法在基本函數(shù)尋優(yōu)精度上有一定的優(yōu)勢(shì);對(duì)于單峰測(cè)試函數(shù)f3和多峰測(cè)試函數(shù)f12,HChOA 收斂速度比ChOA 更快,說明Halton 序列初始化種群提高了種群初期多樣性,對(duì)于提高算法收斂速度和精度都有一定幫助,雖然這種優(yōu)勢(shì)并不明顯,但是對(duì)于后期引入其他策略尋優(yōu)有較大幫助.
3.3.2 引入自適應(yīng)權(quán)重因子和非線性收斂因子性能分析
由第2.2 節(jié)的分析可知,自適應(yīng)權(quán)重因子和非線性收斂因子對(duì)于算法全局搜索和局部開發(fā)能力的平衡起著至關(guān)重要的作用.為了平衡算法的勘探和開發(fā)能力,本文引入自適應(yīng)權(quán)重因子ω和改進(jìn)的非線性收斂因子f.取維度d=30,最大迭代次數(shù)Maxiter=500,種群規(guī)模N=30,其中權(quán)重因子ω公式中的相關(guān)參數(shù)已在第3.1 節(jié)給出,基本ChOA與引入自適應(yīng)權(quán)重因子和非線性收斂因子的ChOA(WChOA)對(duì)于單峰測(cè)試函數(shù)f2、f7和多峰測(cè)試函數(shù)f10、f11尋優(yōu)結(jié)果對(duì)比如圖6 所示.

圖6 ChOA 與WChOA 收斂對(duì)比圖Fig.6 Convergence curve of ChOA and WChOA
由圖6 可以看出,對(duì)于單峰函數(shù)f2和多峰函數(shù)f11,WChOA 能夠直接收斂到理論最優(yōu)值0;對(duì)于單峰函數(shù)f7,WChOA 不管是在收斂速度還是在收斂精度上都優(yōu)于ChOA;對(duì)于多峰函數(shù)f10,WChOA能收斂到更接近于全局最優(yōu)解.綜上所述,引入自適應(yīng)權(quán)重因子和非線性收斂因子對(duì)算法尋優(yōu)速度和精度有一定幫助.
3.3.3 引入黃金正弦策略性能分析
黃金正弦算法以正弦函數(shù)為基礎(chǔ),結(jié)合了黃金分割算子進(jìn)行迭代尋優(yōu).為了加快ChOA 收斂,提高算法跳出局部最優(yōu)值的能力,本文引入黃金正弦策略更新種群位置.取維度d=30,最大迭代次數(shù)Maxiter=500,種群規(guī)模N=30,搜索間隔α=π,β=-π,基本ChOA 與引入黃金正弦策略算法更新位置的ChOA (GChOA)對(duì)單峰測(cè)試函數(shù)f4、f6和多峰測(cè)試函數(shù)f8、f13尋優(yōu)結(jié)果對(duì)比如圖7 所示.

圖7 ChOA 與GChOA 收斂對(duì)比圖Fig.7 Convergence curve of ChOA and GChOA
由圖7 可知,對(duì)單峰函數(shù)f4、f6和多峰函數(shù)f13,GChOA 的收斂速度明顯快于ChOA,并且在收斂精度上也有很大提升;對(duì)復(fù)雜多峰函數(shù)f8,GChOA能夠跳出局部最優(yōu)值,收斂到理論最優(yōu)值 -12 569.48附近,說明引入黃金正弦算法相關(guān)思想更新種群位置,對(duì)于算法跳出局部最優(yōu)解有一定幫助,同時(shí)能加快算法收斂,提高收斂精度.
為了驗(yàn)證IChOA 對(duì)于基本測(cè)試函數(shù)的尋優(yōu)性能,選取基本黑猩猩算法(ChOA)、粒子群優(yōu)化算法(PSO)[18]、灰狼優(yōu)化算法(GWO)[19]和正弦余弦黑猩猩優(yōu)化算法(Sine cosine ChOA,SChOA)[21]進(jìn)行尋優(yōu)對(duì)比,各算法統(tǒng)一取維度d=30,最大迭代次數(shù)Maxiter=500,種群規(guī)模N=30,各算法其他相關(guān)參數(shù)由表1 給出,利用表2 給出的23 個(gè)基本測(cè)試函數(shù)進(jìn)行算法尋優(yōu)對(duì)比測(cè)試,各算法分別運(yùn)行50 次,取平均值,對(duì)比結(jié)果如表3 所示.

表3 各算法尋優(yōu)結(jié)果對(duì)比(30 維)Table 3 Comparison of optimization results of each algorithm (30 dim)
由表3 對(duì)比結(jié)果可知,對(duì)于單峰函數(shù),除了f6函數(shù)效果比PSO 算法差外,IChOA 在其他函數(shù)上的尋優(yōu)結(jié)果都優(yōu)于其他智能算法,其中f1~f6能找到理論最優(yōu)值.對(duì)于復(fù)雜多峰函數(shù),IChOA 表現(xiàn)同樣出色,其中f9和f11能找到最優(yōu)值.對(duì)于f8函數(shù),IChOA 能跳出局部最優(yōu)解,更接近于理論最優(yōu)值-12 369.49.對(duì)于固定維度測(cè)試函數(shù),IChOA 基本上都能收斂到最優(yōu)值附近,其中f14、f16、f18和f21函數(shù)能直接收斂到理論最優(yōu)值,說明IChOA 相比于其他算法,在基礎(chǔ)函數(shù)尋優(yōu)上,有明顯優(yōu)勢(shì).
為了測(cè)試IChOA 對(duì)于高維函數(shù)的尋優(yōu)能力,選取基本黑猩猩算法(ChOA)、粒子群優(yōu)化算法(PSO)、灰狼優(yōu)化算法(GWO)和鯨魚優(yōu)化算法(WOA)與IChOA 進(jìn)行高維函數(shù)尋優(yōu)對(duì)比,取維度d=500,最大迭代次數(shù)Maxiter=500,各算法其他相關(guān)參數(shù)由表1 給出,尋優(yōu)對(duì)比結(jié)果如圖8 所示.

圖8 各算法500 維尋優(yōu)對(duì)比曲線Fig.8 Comparison curves of 500-dimensional optimization of each algorithm
由圖8 可知,對(duì)于單峰函數(shù)f1、f2、f3、f4和多峰函數(shù)f9、f11,IChOA 在500 維時(shí),仍然能找到最優(yōu)值0;對(duì)于單峰函數(shù)f6,雖然IChOA 尋優(yōu)效果并不是最好的,但是其收斂速度是最快的;對(duì)于500維復(fù)雜多峰函數(shù)f8,IChOA 仍然能跳出局部最優(yōu)值,收斂到最優(yōu)值 -12 569.49.由圖8 可以看出,對(duì)于高維測(cè)試函數(shù),IChOA 同樣具有很大的優(yōu)勢(shì).
Wilcoxon 秩和檢驗(yàn)是一種非參數(shù)統(tǒng)計(jì)檢驗(yàn)方法,能夠檢測(cè)更為復(fù)雜的數(shù)據(jù)分布,一般的數(shù)據(jù)分析只是針對(duì)當(dāng)前數(shù)據(jù)的平均值和標(biāo)準(zhǔn)差,并沒有與算法多次運(yùn)行的數(shù)據(jù)進(jìn)行對(duì)比,因此這種數(shù)據(jù)對(duì)比分析是不科學(xué)的.為了全面體現(xiàn)IChOA 的優(yōu)越性,采用統(tǒng)計(jì)分析方法對(duì)每一次仿真結(jié)果進(jìn)行分析,從統(tǒng)計(jì)學(xué)角度分析IChOA 與其他算法的性能差異.選取IChOA 在12 個(gè)測(cè)試函數(shù)的運(yùn)行結(jié)果與PSO、GWO、WOA、ChOA 和GChOA 運(yùn)行結(jié)果進(jìn)行Wilcoxon 秩和檢驗(yàn)并計(jì)算p值,當(dāng)p小于5% 時(shí),可以被認(rèn)為是拒絕零假設(shè)的有力驗(yàn)證[22].NaN 表示沒有數(shù)據(jù)與算法對(duì)比,“+”、“=”和 “-”分別表示IChOA尋優(yōu)性能好于、等于和差于其他算法,Wilcoxon 秩和檢驗(yàn)結(jié)果如表4 所示.

表4 Wilcoxon 秩和檢驗(yàn)結(jié)果Table 4 Wilcoxon rank sum test results
由表4 可知,IChOA 的Wilcoxon 秩和檢驗(yàn)結(jié)果p值基本上都小于5%,從統(tǒng)計(jì)學(xué)上說明,IChOA對(duì)于基本函數(shù)的尋優(yōu)性能優(yōu)勢(shì)明顯,從而進(jìn)一步體現(xiàn)了IChOA 的魯棒性.
CEC2014 測(cè)試函數(shù)[23]是由多個(gè)基本優(yōu)化測(cè)試函數(shù)的權(quán)值組合而成,這種基函數(shù)的權(quán)值組合使測(cè)試函數(shù)的特征更為復(fù)雜,利用這些特征復(fù)雜的測(cè)試函數(shù)對(duì)本文IChOA 方法進(jìn)行測(cè)試,一方面體現(xiàn)IChOA 對(duì)于復(fù)雜函數(shù)優(yōu)化的優(yōu)越性能;另一方面,多測(cè)試函數(shù)的組合優(yōu)化可以體現(xiàn)IChOA 對(duì)于不同復(fù)雜優(yōu)化問題的適用性.因此,為了進(jìn)一步測(cè)試IChOA的魯棒性,本文選取部分CEC2014 單目標(biāo)優(yōu)化函數(shù)進(jìn)行求解分析,其中包括單峰、多峰、混合和復(fù)合類型函數(shù),函數(shù)相關(guān)信息如表5 所示.本文將IChOA與標(biāo)準(zhǔn)PSO 算法[24]、標(biāo)準(zhǔn)正弦余弦算法(Sine cosine algorithm,SCA)[25]、線性自適應(yīng)差分進(jìn)化算法(Linear success-history based adaptive differential evolution,L-SHADE)[26]、引入Halton 序列初始化種群的黑猩猩優(yōu)化算法(HChOA)和引入黃金正弦優(yōu)化算法更新個(gè)體位置的黑猩猩優(yōu)化算法(GChOA)進(jìn)行對(duì)比.其中,L-SHADE 算法在CEC2014測(cè)試函數(shù)中表現(xiàn)卓越,常用來作為對(duì)比.實(shí)驗(yàn)參數(shù)取種群規(guī)模為N=50,維度d=30,最大迭代次數(shù)Maxiter=2 000,每個(gè)函數(shù)獨(dú)立運(yùn)行50 次,取平均值和標(biāo)準(zhǔn)差.優(yōu)化對(duì)比結(jié)果見表6.

表5 部分CEC2014 函數(shù)介紹Table 5 Introduction of part CEC2014 function

表6 CEC2014 函數(shù)優(yōu)化對(duì)比Table 6 CEC2014 function optimization comparison
由表6 可知,L-SHADE 算法在單峰函數(shù)上表現(xiàn)良好,但是對(duì)于多峰、混合和復(fù)合函數(shù),IChOA 具有明顯優(yōu)勢(shì),例如對(duì)于多峰測(cè)試函數(shù)CEC05,IChOA能夠收斂到理論值500 附近,而PSO 算法等其他算法性能相對(duì)表現(xiàn)較差;對(duì)于混合和復(fù)合測(cè)試函數(shù),IChOA 以及其變體優(yōu)勢(shì)也比較明顯,在CEC19 和CEC22 測(cè)試函數(shù)上,IChOA 尋優(yōu)結(jié)果更接近理論最優(yōu)值,比PSO 算法、L-SHADE 算法和SCA 算法更具優(yōu)勢(shì).此外,除了CEC27 函數(shù)以外,IChOA 穩(wěn)定性普遍更高,驗(yàn)證了IChOA 的穩(wěn)定性.
為了驗(yàn)證IChOA 處理優(yōu)化問題的速度和成功率,選取基本ChOA、HChOA、WChOA 和GChOA,與IChOA 進(jìn)行基準(zhǔn)測(cè)試函數(shù)平均尋優(yōu)時(shí)間和尋優(yōu)成功率對(duì)比,實(shí)驗(yàn)數(shù)據(jù)統(tǒng)一設(shè)置為: 維度d=30,種群規(guī)模N=30,最大迭代次數(shù)Maxiter=500,各算法運(yùn)行30 次,取運(yùn)行時(shí)間平均值和標(biāo)準(zhǔn)差,定義算法尋優(yōu)成功率如下[27].
設(shè)適應(yīng)度誤差為F(u):
式中,u為算法運(yùn)行次數(shù),X(u)為算法運(yùn)行第u次的實(shí)際尋優(yōu)結(jié)果,X′為理論最優(yōu)值,定義變量δ(u):
式中,ε為適應(yīng)度誤差精度,具體取值見表2.算法尋優(yōu)成功率P為:
各算法對(duì)于23 個(gè)基準(zhǔn)測(cè)試函數(shù)的平均尋優(yōu)時(shí)間以及尋優(yōu)成功率對(duì)比結(jié)果見表7.

表7 基準(zhǔn)函數(shù)尋優(yōu)平均時(shí)間及成功率對(duì)比Table 7 Comparison of average time and success rate for optimization of benchmark function
由表7 可知,HChOA、WChOA、GChOA 和IChOA 在優(yōu)化問題的處理速度上,相比于ChOA都具有一定優(yōu)勢(shì),除了f9和f14函數(shù)外,IChOA的尋優(yōu)速度都是最快的,說明本文提出的改進(jìn)策略在一定程度上加快了算法收斂速度,而本文將3 個(gè)策略融合后得到的IChOA 尋優(yōu)速度最快;其次,IChOA 在16 個(gè)基準(zhǔn)函數(shù)上尋優(yōu)成功率達(dá)到100%且在23 個(gè)函數(shù)上的尋優(yōu)成功率相比其他對(duì)比算法都是最高的,說明IChOA 對(duì)于優(yōu)化問題的處理穩(wěn)定性較高.綜上所述,本文提出的IChOA 在優(yōu)化問題處理上兼顧速度和穩(wěn)定性,具有較高的魯棒性.
近年來,工程算例應(yīng)用作為優(yōu)化問題中的一個(gè)熱門領(lǐng)域,受到廣泛關(guān)注.為了進(jìn)一步驗(yàn)證IChOA在處理實(shí)際工程應(yīng)用案例的優(yōu)越性,選取文獻(xiàn)[21]中的罰函數(shù)作為非線性約束條件,對(duì)焊接梁設(shè)計(jì)問題與拉力/壓力彈簧優(yōu)化設(shè)計(jì)問題進(jìn)行優(yōu)化處理,并將IChOA 優(yōu)化結(jié)果與基本遺傳算法(GA)、粒子群優(yōu)化算法(PSO)、鯨魚優(yōu)化算法(WOA)、灰狼優(yōu)化算法(GWO)、黑猩猩優(yōu)化算法(ChOA)和文獻(xiàn)[21]中其他算法進(jìn)行對(duì)比.
焊接梁設(shè)計(jì)問題目的在于降低焊接梁制造成本,數(shù)學(xué)模型如式(21)、式(22)所示:
式中,x1、x2、x3和x4分別表示焊接梁的焊縫寬度h、橫梁寬度d、長(zhǎng)度l和厚度b四個(gè)基本屬性.約束條件包括剪切應(yīng)力τ、橫梁彎曲應(yīng)力δ、屈曲載荷J、橫梁撓度δ和其他內(nèi)部參數(shù)約束.圖9為焊接梁模型的基本構(gòu)造.

圖9 焊接梁模型Fig.9 Welding beam model
表8 為各算法求解焊接梁設(shè)計(jì)問題的尋優(yōu)結(jié)果的平均值,包括射線優(yōu)化算法(Ray optimization,RO)[21]、多元宇宙算法(Multi-verse optimizer,MVO)[21]、正余弦哈里斯鷹算法(An efficient hybrid sine-cosine Harris hawks optimization,HSSAHHO)[21]和SChOA 算法[21].各算法獨(dú)立運(yùn)行50 次,取平均值.

表8 焊接梁設(shè)計(jì)問題結(jié)果對(duì)比Table 8 Comparative results of welding beam design problems
由表8 可以看出,IChOA 對(duì)于焊接梁設(shè)計(jì)問題的優(yōu)化效果明顯高于其他算法,雖然IChOA 對(duì)于單個(gè)焊接梁屬性的優(yōu)化結(jié)果不都是最優(yōu)的,但其總體造價(jià)相比于其他算法優(yōu)化效果最佳.
拉力/壓力彈簧優(yōu)化設(shè)計(jì)問題的目的是減小彈簧壓力/拉力的質(zhì)量,該優(yōu)化設(shè)計(jì)包含的約束條件有剪應(yīng)力、振動(dòng)頻率和最小振動(dòng)撓度,變量分別用x1、x2和x3表示,分別代表彈簧線圈直徑d、彈簧圈直徑D和繞圈數(shù)量P.彈簧優(yōu)化設(shè)計(jì)問題模型如圖10 所示.

圖10 拉力/壓力彈簧優(yōu)化設(shè)計(jì)問題模型Fig.10 The model of tension/pressure spring optimization design
拉力/壓力彈簧優(yōu)化設(shè)計(jì)問題表示如下:
表9 為各算法求解焊接梁設(shè)計(jì)問題的尋優(yōu)結(jié)果的平均值,包括RO 算法[21]、飛蛾火焰優(yōu)化(Mothflame optimization,MFO)算法[21]、HSSAHHO 算法[21]和SChOA 算法[21].各算法獨(dú)立運(yùn)行50 次,取平均值.

表9 拉力/壓力彈簧優(yōu)化設(shè)計(jì)問題結(jié)果對(duì)比Table 9 Comparison of tension/compression spring design
由表9 可知,雖然IChOA 對(duì)于彈簧的繞圈數(shù)量要求略高于SChOA,但是對(duì)于彈簧線圈直徑和彈簧圈直徑優(yōu)化結(jié)果都低于SChOA,并且總體優(yōu)化結(jié)果略低于SChOA,說明IChOA 對(duì)于工程設(shè)計(jì)問題的優(yōu)化效果具有優(yōu)勢(shì).
綜上所述,通過以上兩個(gè)工程設(shè)計(jì)優(yōu)化問題實(shí)驗(yàn)對(duì)比結(jié)果可以看出,本文提出的IChOA 對(duì)于實(shí)際工程設(shè)計(jì)問題的優(yōu)化,同樣具有一定的優(yōu)越性,進(jìn)一步體現(xiàn)了IChOA 的魯棒性.
本文在原始ChOA 基礎(chǔ)上,提出一種融合多策略的黃金正弦黑猩猩優(yōu)化算法,通過分析種群初始化分布,引入Halton 序列,提高了算法初期的種群多樣性,引入改進(jìn)的非線性收斂因子和自適應(yīng)權(quán)重因子,提高了算法的搜索能力,結(jié)合黃金正弦算法思想更新個(gè)體位置,防止算法過早收斂.通過對(duì)23個(gè)基本測(cè)試函數(shù)和部分CEC2014 測(cè)試函數(shù)進(jìn)行尋優(yōu)測(cè)試以及Wilcoxon 秩和統(tǒng)計(jì)檢驗(yàn),驗(yàn)證了該算法的優(yōu)越性.最后通過兩個(gè)實(shí)際工程設(shè)計(jì)優(yōu)化問題,進(jìn)一步驗(yàn)證了IChOA 在實(shí)際工程應(yīng)用中的有效性.通過對(duì)本文改進(jìn)策略的分析可以看出,改進(jìn)算法所需參數(shù)量較多且算法的尋優(yōu)性能受非線性收斂因子影響較大,對(duì)于收斂因子的選取依然存在改進(jìn)的空間.因此,今后工作將繼續(xù)研究改進(jìn)的優(yōu)化策略,以提高ChOA 的可操作性和適用性,并將其應(yīng)用到更為復(fù)雜的優(yōu)化問題中.