劉成漢,何 慶
1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽550025 2.貴州大學(xué) 貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,貴陽 550025
在過去的二十年中,隨著科技的發(fā)展和技術(shù)的革新,各種復(fù)雜優(yōu)化問題層出不窮,啟發(fā)式算法由于其簡單性、靈活性和較高的魯棒性,成為解決復(fù)雜優(yōu)化問題的有力工具。常見的啟發(fā)式算法有:粒子群優(yōu)化(particle swarm optimization,PSO)算法[1]、灰狼優(yōu)化(grey wolf optimization,GWO)算法[2]、鯨魚優(yōu)化算法(whale optimization algorithm,WOA)[3]等。
均衡優(yōu)化(equilibrium optimizer,EO)算法是Faramarzi等人[4]2019年提出的一種新型啟發(fā)式算法,其靈感來源于用于估計(jì)動(dòng)態(tài)和平衡狀態(tài)的控制體積質(zhì)量平衡物理模型。EO算法具有搜索能力強(qiáng)、參數(shù)簡單的優(yōu)點(diǎn)[4],已被成功應(yīng)用到多閾值圖像分割[5]、經(jīng)濟(jì)調(diào)度[6]、路徑規(guī)劃[7]等多個(gè)領(lǐng)域,為解決復(fù)雜優(yōu)化問題提供了新的思路。但是EO算法仍存在著收斂精度不高、收斂速度慢、易受局部最小值影響的問題。針對(duì)上述問題,眾多學(xué)者對(duì)EO算法做出了改進(jìn)。例如:Fan等人[8]提出了一種基于對(duì)立學(xué)習(xí)和改進(jìn)位置更新方式的均衡優(yōu)化算法,利用高斯變異和基于種群劃分和重構(gòu)概念的探索性搜索機(jī)制,提高了算法的收斂速度和跳出局部極值點(diǎn)的能力;Gao等人[9]采用S型和V型傳遞函數(shù)將EO算法轉(zhuǎn)換成二進(jìn)制離散類型算法,提高了算法搜索能力;Abdel-Basset等人[10]提出了一種具有勘探開發(fā)優(yōu)勢(shì)的多目標(biāo)均衡優(yōu)化算法,采用存檔策略保存最優(yōu)解并通過擁擠距離方法來保留非主導(dǎo)解的多樣性,從而提高了算法的搜索和開發(fā)能力;Mousa等人[11]將基于混沌理論的局部搜索算法引入到EO算法中,提出了一種基于混沌搜索的均衡優(yōu)化器算法,提高了算法的局部搜索能力;Wunnava等人[12]提出了一種自適應(yīng)均衡優(yōu)化算法,通過對(duì)非性能搜索個(gè)體施加分散性自適應(yīng)決策,提高了算法全局搜索能力和多樣性;Too等人[13]提出了一種基于通用學(xué)習(xí)的均衡優(yōu)化算法,利用一種通用的學(xué)習(xí)策略,使個(gè)體能夠從不同維度的潛在候選對(duì)象中學(xué)習(xí),從而幫助算法逃脫局部最優(yōu)值并探索更多區(qū)域。
分析以上學(xué)者的研究經(jīng)驗(yàn)可知,找到一種簡單有效的策略提升EO算法的性能是必要的,因此,本文針對(duì)EO算法存在的上述問題,提出一種融合振蕩禁忌搜索的自適應(yīng)均衡優(yōu)化算法。首先,在初始化時(shí)結(jié)合精英反向?qū)W習(xí)策略貪婪保留原始種群和精英反向種群中的較好個(gè)體,提高種群初始化質(zhì)量,加快種群收斂;然后,引入自適應(yīng)調(diào)整收斂因子,平衡算法的搜索能力,提高算法的收斂精度;最后,引入融合振蕩算子的禁忌搜索策略,利用禁忌表的記錄功能和振蕩算子削弱局部極值點(diǎn)對(duì)算法的影響。通過10個(gè)基準(zhǔn)測(cè)試函數(shù)及其Wilcoxon秩和檢測(cè)和部分CEC2014測(cè)試函數(shù)的仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了CfOEO算法的優(yōu)越性。
EO算法來源于一個(gè)描述容器內(nèi)進(jìn)出物質(zhì)質(zhì)量平衡的一階常微分方程,方程描述了容器內(nèi)質(zhì)量隨時(shí)間變化的規(guī)律,其數(shù)學(xué)模型如式(1)所示:
式中,V表示容積;C表示濃度;Q為單位時(shí)間內(nèi)進(jìn)出的容量流率;Ceq為平衡狀態(tài)下的濃度;G表示質(zhì)量生成速率。分析式(1)可知,平衡體系中質(zhì)量隨時(shí)間的變化等于進(jìn)入系統(tǒng)的質(zhì)量加上系統(tǒng)內(nèi)部產(chǎn)生的質(zhì)量減去離開系統(tǒng)的質(zhì)量,當(dāng)V·dC/dt=0時(shí),系統(tǒng)達(dá)到平衡狀態(tài)。
求解式(1)所示微分方程,得到結(jié)果如式(2)所示:
式中,C0為初始濃度;λ表示流動(dòng)率;F表示求解微分方程所得的指數(shù)項(xiàng)系數(shù),其數(shù)學(xué)模型描述如式(3)所示:
EO算法采用上述濃度C作為個(gè)體的解,主要根據(jù)式(2)進(jìn)行迭代更新,其中濃度C、C0和Ceq分別代表當(dāng)前解、上一次迭代產(chǎn)生的解和當(dāng)前最優(yōu)解。算法具體優(yōu)化過程起源于一個(gè)隨機(jī)初始化的濃度集合,數(shù)學(xué)模型描述如式(4)所示:
式中,UB和LB分別是搜索空間上下限,表示濃度范圍;r i是取值為[0,1]的隨機(jī)向量,維度與優(yōu)化問題維度一致。
平衡池(即最優(yōu)個(gè)體)定義如下:
式中,Ceq1、Ceq2、Ceq3、Ceq4和Ceqa分別表示當(dāng)前迭代前4個(gè)最優(yōu)個(gè)體及其平均值,它們被選中的概率相等。
指數(shù)項(xiàng)系數(shù)和質(zhì)量生成速率數(shù)學(xué)模型描述如式(6)和式(7)所示:
式中,a1為常系數(shù);sign表示符號(hào)函數(shù);r和λ表示隨機(jī)向量,取值為[0,1];Gcp為控制參數(shù),數(shù)學(xué)模型描述如式(8)所示:
式中,r1和r2為取值[0,1]的隨機(jī)向量。
綜上所述,EO算法位置更新數(shù)學(xué)模型如式(9)所示:
在基本EO算法中,種群初始化處理采用隨機(jī)分布的方式,這種隨機(jī)方式會(huì)導(dǎo)致個(gè)體前期尋優(yōu)存在一定的盲目性,使得算法尋優(yōu)速度慢;其次,算法用來平衡局部搜索和全局搜索能力的指數(shù)項(xiàng)系數(shù)F采用常系數(shù)權(quán)重,得到的系數(shù)變化趨勢(shì)趨于常數(shù),并不符合算法迭代過程中的非線性尋優(yōu)規(guī)律;最后,對(duì)于加強(qiáng)算法局部尋優(yōu)能力的質(zhì)量生成速率G,其有50%幾率隨機(jī)取值為0,具有很大的不穩(wěn)定性,雖然有一定的幾率帶領(lǐng)個(gè)體跳出局部最優(yōu)值點(diǎn),但是并沒有考慮尋優(yōu)過程中個(gè)體位置信息的變化。
綜上所述,本文針對(duì)上述算法原理上的缺陷,引入相應(yīng)策略進(jìn)行改善。具體策略介紹如下。
文獻(xiàn)[14]指出,與隨機(jī)方法相比,找到具有隨機(jī)方向及其相反方向的候選解為尋找未知最優(yōu)解提供了更高的機(jī)會(huì)。為了提高算法搜索能力,加快算法前期收斂速度,本文引入精英反向?qū)W習(xí)策略初始化種群,定義X i=(X i,1,X i,2,…,X i,d)為搜索空間內(nèi)的一個(gè)點(diǎn),其中d為優(yōu)化問題的維度,則其反向點(diǎn)X′i定義如式(10)所示:
式中,UB和LB分別為搜索空間的上界和下界。
然而,粒子自身反向解受固定的搜索空間邊界限制,導(dǎo)致反向點(diǎn)較為發(fā)散地分布在搜索空間。因此,本文引入精英反向解,通過精英個(gè)體構(gòu)成動(dòng)態(tài)邊界,使反向解分布在空間較優(yōu)位置,初始個(gè)體Xi的精英反向解定義如式(11)所示:
式中,r為取值[0,1]的隨機(jī)數(shù);a i和b i分別表示Xi在維度d上的最大值和最小值。當(dāng)精英反向解超出動(dòng)態(tài)邊界,則重置反向解,如式(12)所示:
最后,通過貪婪策略保留當(dāng)前個(gè)體和精英反向個(gè)體中較優(yōu)的個(gè)體組成新的初始化種群。
收斂因子在目標(biāo)函數(shù)優(yōu)化中起著很重要的作用,合適的收斂因子能夠加快算法收斂,提高算法收斂精度。針對(duì)EO算法尋優(yōu)過程中收斂速度慢、精度不高的問題,引入一種自適應(yīng)調(diào)整的收斂因子,在算法迭代前期,種群全局搜索最優(yōu)解,此時(shí)應(yīng)該給予足夠的搜索空間發(fā)散種群,因此給予一個(gè)較大的收斂步長有利于算法的開發(fā);在算法迭代中后期,算法逐漸收斂,個(gè)體開始進(jìn)行局部搜索,此時(shí)給予一個(gè)較小的收斂步長有利于算法進(jìn)行局部探索。此外,引入收斂因子速率下降調(diào)節(jié)算子Q,可自動(dòng)調(diào)節(jié)收斂因子下降速率,自適應(yīng)可調(diào)整收斂因子Cf的數(shù)學(xué)模型描述如式(13)所示:
式中,Tm為最大迭代次數(shù);Cm表示收斂因子的初始值;α為常量系數(shù);Q為控制參數(shù)。當(dāng)Q取值為1.0、2.5和5.0時(shí)的收斂因子對(duì)比曲線如圖1所示。
圖1 收斂因子曲線圖Fig.1 Feedback factor curve
由圖1可知,改進(jìn)的收斂因子曲線的下降速率隨著調(diào)節(jié)因子Q的增大而增大。在具體算法調(diào)試中,Q值的選取不宜過大也不能太小。Q值太大可能會(huì)導(dǎo)致算法前期收斂過快,算法開發(fā)能力減弱從而陷入局部極小值點(diǎn);而Q值太小則不能體現(xiàn)收斂因子在平衡算法搜索能力上的優(yōu)勢(shì),算法收斂速度變慢。為了平衡算法的搜索能力,本文經(jīng)過大量實(shí)驗(yàn)分析,最后選取Q=2.5最為合適。
禁忌搜索(tabu search,TS)開創(chuàng)了搜索過程中存儲(chǔ)功能的系統(tǒng)性探索,是用于全局搜索的一種啟發(fā)式過程,為多種類型的組合優(yōu)化難題提供了有效的解決方案[15]。禁忌搜索思想的核心是禁忌表,禁忌表的存儲(chǔ)功能可以避免算法迂回搜索,提高算法應(yīng)對(duì)復(fù)雜優(yōu)化問題的能力。同時(shí),禁忌搜索策略的赦免機(jī)制保證了算法對(duì)于優(yōu)質(zhì)資源的利用,在提高算法多樣性的同時(shí)提高算法的全局搜索能力。禁忌搜索策略源于一個(gè)當(dāng)前解Fp和解的搜索空間N,在當(dāng)前解的搜索空間內(nèi)迭代產(chǎn)生多個(gè)候選解F={F1,F2,…,F n}(n為優(yōu)化問題所需迭代次數(shù)),當(dāng)候選解屬性優(yōu)于當(dāng)前解,則此候選解為非禁忌對(duì)象,用它代替當(dāng)前解,并加入禁忌表;若候選解存在于禁忌表中或劣于當(dāng)前解,則保持當(dāng)前解不變。l決定禁忌表的容量大小,當(dāng)禁忌對(duì)象超過禁忌長度l,則赦免最初的禁忌對(duì)象,用新的禁忌對(duì)象替代,以此充分利用優(yōu)質(zhì)解。
綜上所述,為了提高EO算法的全局搜索能力,改善EO算法易早熟收斂的問題,本文采用禁忌搜索策略更新位置,同時(shí)引入振蕩算子,當(dāng)候選解出現(xiàn)在禁忌表中,說明算法存在迂回搜索,因此對(duì)位置更新施加振蕩,以提高算法多樣性。振蕩算子o數(shù)學(xué)模型描述如式(10)所示:
式中,r1、r2和r3都是取值為[0,1]的隨機(jī)數(shù);Tm為最大迭代次數(shù)。由式(10)可知,迭代前期,振蕩因子較大,提高了算法搜索范圍,增加了算法多樣性;迭代后期,振蕩因子較小,從而擴(kuò)大了最優(yōu)解影響,增加了算法勘探能力。
綜上改進(jìn)策略,CfOEO實(shí)現(xiàn)流程圖如圖2所示。
圖2 CfOEO實(shí)現(xiàn)流程圖Fig.2 CfOEO implementation flowchart
CfOEO算法實(shí)現(xiàn)步驟如下所示:
步驟1參數(shù)初始化:設(shè)置搜索上下界UB、LB,種群規(guī)模N,最大迭代次數(shù)Tm,維度d,生成速率控制參數(shù)Gcp和常系數(shù)a1、a2。
步驟2初始化種群:隨機(jī)生成種群,計(jì)算精英反向種群,貪婪保留較優(yōu)個(gè)體。
步驟3計(jì)算個(gè)體適應(yīng)度值,記錄較優(yōu)個(gè)體,生成平衡狀態(tài)池Ceq,pool。
步驟4根據(jù)式(9)更新候選解位置。
步驟5根據(jù)禁忌搜索策略對(duì)候選解進(jìn)行禁忌操作。
步驟6引入振蕩算子對(duì)存在于禁忌表中的候選解進(jìn)行振蕩操作。
步驟7判斷結(jié)束條件,若滿足迭代條件則算法終止,否則重復(fù)步驟3~步驟6。
步驟8輸出最優(yōu)值,算法結(jié)束。
仿真實(shí)驗(yàn)采用的計(jì)算機(jī)配置為Intel Core i5-7500U,32 GB內(nèi)存,64 bit操作系統(tǒng),計(jì)算環(huán)境為Matlab2016(a)。本文選取基本灰狼優(yōu)化(GWO)算法、蜉蝣算法(mayfly algorithm,MA)、黏菌算法(slime mould algorithm,SMA)以及EO算法與CfOEO算法進(jìn)行尋優(yōu)實(shí)驗(yàn)對(duì)比,基本參數(shù)統(tǒng)一設(shè)置為:最大迭代次數(shù)Tm=500,低維維度d=30,高維維度d=200,種群規(guī)模N=30。各基本算法內(nèi)部參數(shù)設(shè)置如表1所示。
表1 算法參數(shù)設(shè)置Table 1 Algorithm parameter setting
本文采用10個(gè)基準(zhǔn)測(cè)試函數(shù)對(duì)CfOEO算法進(jìn)行尋優(yōu)性能測(cè)試,其中f1~f5為單峰測(cè)試函數(shù),f6~f9為多峰測(cè)試函數(shù),f10為固定維度測(cè)試函數(shù),基準(zhǔn)測(cè)試函數(shù)相關(guān)信息如表2所示。
表2 基準(zhǔn)測(cè)試函數(shù)介紹Table 2 Introduction to benchmark functions
本節(jié)分別對(duì)本文提出的三個(gè)策略進(jìn)行性能分析,其中CEO算法是本文引入精英反向?qū)W習(xí)初始化的EO算法,CfEO算法是本文引入自適應(yīng)調(diào)整收斂因子的EO算法,OEO算法是本文引入振蕩禁忌搜索策略的EO算法。統(tǒng)一仿真實(shí)驗(yàn)數(shù)據(jù)為:維度d=30,最大迭代次數(shù)Tm=1 000,種群規(guī)模N=30,其他固定參數(shù)由表1給出,各算法獨(dú)立運(yùn)行30次取平均值和標(biāo)準(zhǔn)差。
3.3.1 CEO算法性能分析
本文在初始化中引入優(yōu)化問題的適應(yīng)度評(píng)價(jià)函數(shù),通過適應(yīng)度函數(shù)評(píng)價(jià)隨機(jī)種群與其精英反向種群的位置,并貪婪保留較優(yōu)位置,從而加快算法收斂。為了驗(yàn)證CEO算法的性能,選取單峰測(cè)試函數(shù)f1和多峰測(cè)試函數(shù)f8進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 CEO算法與EO算法平均收斂曲線圖Fig.3 Convergence curves between CEO and EO
由圖3對(duì)比結(jié)果可知,CEO算法在單峰測(cè)試函數(shù)f1和多峰測(cè)試函數(shù)f8上雖然沒能找到理論最優(yōu)值,但是CEO算法的收斂速度明顯快于EO算法,說明本文引入精英反向?qū)W習(xí)初始化策略能有效加快EO算法的收斂速度。
3.3.2 CfEO算法性能分析
為了平衡EO算法的開發(fā)和探索能力,引入自適應(yīng)可調(diào)整的收斂因子,平衡算法搜索能力,提高EO算法收斂精度。為了驗(yàn)證CfEO算法的性能,選取單峰測(cè)試函數(shù)f2、f5和多峰測(cè)試函數(shù)f7、f9進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 CfEO算法與EO算法平均收斂曲線圖Fig.4 Convergence curves between CfEO and EO
由圖4結(jié)果可知,對(duì)于單峰測(cè)試函數(shù)f2和多峰測(cè)試函數(shù)f7、f9,CfEO算法能夠直接收斂到理論最優(yōu)值,而對(duì)于單峰測(cè)試函數(shù)f5,CfEO算法的收斂精度優(yōu)于EO算法,說明收斂因子對(duì)于EO算法的搜索能力提升有一定幫助,能提高EO算法收斂精度。
3.3.3 OEO算法性能分析
針對(duì)EO算法早熟收斂問題,本文引入禁忌搜索策略并結(jié)合振蕩算子對(duì)EO算法進(jìn)行振蕩禁忌操作,以提高算法規(guī)避局部極值點(diǎn)的能力。為了驗(yàn)證OEO算法的性能,選取單峰測(cè)試函數(shù)f3和多峰測(cè)試函數(shù)f6、f7以及固定維度測(cè)試函數(shù)f10進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 OEO算法與EO算法平均收斂曲線圖Fig.5 Convergence curves between OEO and EO
由圖5結(jié)果可知,對(duì)于單峰測(cè)試函數(shù)f6和固定維度測(cè)試函數(shù)f10,OEO算法能跳出局部極值點(diǎn),收斂到最優(yōu)值,說明振蕩禁忌搜索策略能提高算法跳出局部極值點(diǎn)能力;對(duì)于f3函數(shù),OEO算法能找到0,說明禁忌搜索對(duì)于優(yōu)質(zhì)解的利用以及振蕩算子的動(dòng)態(tài)調(diào)整,對(duì)于算法搜索能力的提升也有一定的幫助。
選取基本EO算法、AEO算法[12]、m-EO算法[16]與CfOEO算法進(jìn)行基準(zhǔn)測(cè)試函數(shù)尋優(yōu)性能對(duì)比,以驗(yàn)證CfOEO算法的有效性,其中AEO算法是文獻(xiàn)[12]提出的自適應(yīng)均衡優(yōu)化算法,m-EO算法是文獻(xiàn)[16]提出的具有突變策略的數(shù)值優(yōu)化均衡優(yōu)化算法。實(shí)驗(yàn)統(tǒng)一采用維度d=30,最大迭代次數(shù)Tm=500,種群規(guī)模N=30,各算法獨(dú)立運(yùn)行30次取平均值和標(biāo)準(zhǔn)差,實(shí)驗(yàn)結(jié)果如表3所示。
表3 各改進(jìn)EO算法性能對(duì)比Table 3 Performance comparison of improved EO algorithms
由表3結(jié)果可知,相比于其他改進(jìn)的EO算法,本文提出的CfOEO算法在基準(zhǔn)測(cè)試函數(shù)上的表現(xiàn)優(yōu)秀,10個(gè)基準(zhǔn)測(cè)試函數(shù)都取得了最優(yōu)精度,其中有7個(gè)測(cè)試函數(shù)能夠收斂到全局最優(yōu)解。對(duì)于f5、f6和f8測(cè)試函數(shù),雖然CfOEO算法沒能找到最優(yōu)解,但是其收斂精度在各個(gè)EO算法變體中是最高的,說明本文改進(jìn)策略具有一定優(yōu)勢(shì)。
為了驗(yàn)證CfOEO算法對(duì)于高維度優(yōu)化問題的處理能力,選取基本灰狼優(yōu)化(GWO)算法、黏菌算法(SMA)、蜉蝣算法(MA)和EO算法與CfOEO算法進(jìn)行高維基準(zhǔn)函數(shù)尋優(yōu)對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)數(shù)據(jù)統(tǒng)一為:維度d=200,最大迭代次數(shù)Tm=500,種群規(guī)模N=30,各算法內(nèi)部參數(shù)由表1給出,測(cè)試函數(shù)相關(guān)信息由表2給出。為了更直觀地分析ISMA處理高維問題的性能,圖6給出了在200維時(shí)各算法獨(dú)立運(yùn)行30次后的適應(yīng)度平均值收斂曲線。
由圖6可知,對(duì)于200維度的基準(zhǔn)測(cè)試函數(shù),CfOEO算法不管是在求解速度和精度,還是對(duì)于局部極值點(diǎn)的處理能力上都優(yōu)于其他基本算法,對(duì)于單峰測(cè)試函數(shù)f1~f4和多峰測(cè)試函數(shù)f7、f9以及固定維度測(cè)試函數(shù)f10,CfOEO算法能夠收斂到理論最優(yōu)值;對(duì)于f6和f8測(cè)試函數(shù),雖然CfOEO算法的求解精度并不是最高的,但是其求解速度明顯優(yōu)于其他算法;而f5函數(shù)則體現(xiàn)了CfOEO算法對(duì)于局部極值點(diǎn)具有一定的規(guī)避能力。本文提出的CfOEO算法在高維問題的處理上具有明顯的優(yōu)勢(shì)。
圖6 基準(zhǔn)測(cè)試函數(shù)平均收斂曲線(200維)Fig.6 Function average convergence curves(200D)
Wilcoxon秩和檢測(cè)常用來對(duì)比兩組數(shù)據(jù)之間的差異,并分析這些差異,以確定它們是否在統(tǒng)計(jì)上存在顯著不同。本文將EO算法、黑猩猩優(yōu)化算法(chimp optimization algorithm,ChOA)、PSO算法、CEO算法、CfEO算法和OEO算法與CfOEO算法進(jìn)行12個(gè)基準(zhǔn)測(cè)試函數(shù)上的Wilcoxon秩和檢測(cè)對(duì)比分析,以驗(yàn)證CfOEO算法尋優(yōu)結(jié)果在統(tǒng)計(jì)學(xué)上的優(yōu)勢(shì)。其中CEO算法、CfEO算法和OEO算法分別是本文3個(gè)單獨(dú)改進(jìn)策略與EO算法形成的變體,當(dāng)計(jì)算結(jié)果p<5%時(shí),可以被認(rèn)為是拒絕零假設(shè)的有力驗(yàn)證[17]。結(jié)果+、-和=分別表示CfOEO算法秩和統(tǒng)計(jì)結(jié)果優(yōu)于、差于和等于對(duì)比算法,NaN表示沒有數(shù)據(jù)進(jìn)行對(duì)比,Wilcoxon秩和檢驗(yàn)結(jié)果如表4所示。
由表4結(jié)果可知,除了沒有數(shù)據(jù)對(duì)比情況外,CfOEO算法相較于其他算法的Wilcoxon秩和檢測(cè)結(jié)果p值基本上都小于5%,說明CfOEO算法對(duì)于基準(zhǔn)測(cè)試函數(shù)的優(yōu)化結(jié)果在統(tǒng)計(jì)學(xué)上具有很大的優(yōu)勢(shì),驗(yàn)證了CfOEO算法的魯棒性。
表4 Wilcoxon秩和檢驗(yàn)結(jié)果Table 4 Wilcoxon rank sum test results
為了進(jìn)一步驗(yàn)證CfOEO算法處理具有復(fù)雜特征問題時(shí)的魯棒性,本文選取部分具有復(fù)雜特征的CEC2014單目標(biāo)優(yōu)化函數(shù)進(jìn)行尋優(yōu)對(duì)比分析,其中包括單峰(UF)、多峰(MF)、混合(HF)和復(fù)合(CF)類型函數(shù),函數(shù)相關(guān)信息如表5所示。本文將CfOEO算法與標(biāo)準(zhǔn)PSO算法、SCA算法、L-SHADE算法和本文引入振蕩禁忌搜索的EO算法(OEO算法)進(jìn)行對(duì)比。其中,L-SHADE算法在CEC2014測(cè)試函數(shù)中表現(xiàn)卓越,常用來進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)參數(shù)取種群規(guī)模N=50,維度d=30,最大迭代次數(shù)Tm=2 000,每個(gè)函數(shù)獨(dú)立運(yùn)行50次取平均值和標(biāo)準(zhǔn)差。其中L-SHADE算法的數(shù)據(jù)來源于文獻(xiàn)[18],CfOEO算法運(yùn)行結(jié)果及與其他算法對(duì)比如表6所示。
表5 部分CEC2014函數(shù)介紹Table 5 Part of CEC2014 function
表6結(jié)果展示了CfOEO算法在CEC2014測(cè)試函數(shù)上的優(yōu)秀表現(xiàn),除了單峰CEC03函數(shù),CfOEO算法在其他7個(gè)測(cè)試函數(shù)上都取得了最優(yōu)精度。對(duì)于CEC05、CEC12和CEC19測(cè)試函數(shù),CfOEO算法基本收斂到了理論最優(yōu)值;對(duì)于復(fù)合特征CEC28和CEC30函數(shù),CfOEO算法尋優(yōu)標(biāo)準(zhǔn)差為0,說明其對(duì)于復(fù)合特征函數(shù)尋優(yōu)穩(wěn)定性很高。上述CEC2014測(cè)試函數(shù)尋優(yōu)結(jié)果分析說明,本文提出的CfOEO算法對(duì)于具有復(fù)雜特征的函數(shù)尋優(yōu)同樣具有很大優(yōu)勢(shì),驗(yàn)證了CfOEO算法的魯棒性。
表6 CEC2014函數(shù)優(yōu)化對(duì)比Table 6 CEC2014 function optimization comparison
CfOEO算法時(shí)間復(fù)雜度主要由精英反向?qū)W習(xí)初始化種群、自適應(yīng)收斂因子和振蕩禁忌搜索策略組成。設(shè)基本EO算法的時(shí)間復(fù)雜度為O(N×d×Tm),其中N、d和Tm分別表示種群規(guī)模、優(yōu)化問題維度大小和最大迭代次數(shù)。
(1)計(jì)算精英反向種群時(shí)間復(fù)雜度為O(N×d×Tm),因此反向?qū)W習(xí)初始化種群的時(shí)間復(fù)雜度為O(2N×d×Tm);
(2)設(shè)計(jì)算自適應(yīng)收斂因子所需時(shí)間為t1,則引入自適應(yīng)收斂因子時(shí)間復(fù)雜度為O(N×d×T m+t1);
(3)設(shè)計(jì)算振蕩算子所需時(shí)間為t2,禁忌表長度為l,振蕩禁忌搜索策略時(shí)間復(fù)雜度為O(N×d×T m+t2+N×d×T m×l)。
綜上所述,雖然CfOEO算法的時(shí)間復(fù)雜度有所增加,但是與EO算法屬于同一個(gè)數(shù)量級(jí),這種時(shí)間復(fù)雜度的增加在可以接受的范圍內(nèi),并且通過上面實(shí)驗(yàn)分析可以看出CfOEO算法的性能是卓越的。
為了改善EO算法存在的搜索能力弱、易受局部極值點(diǎn)影響的問題,本文提出一種融合振蕩禁忌搜索的自適應(yīng)均衡優(yōu)化算法,通過引入精英反向?qū)W習(xí)策略初始化種群提高初始化時(shí)種群的質(zhì)量;采用自適應(yīng)可調(diào)整的收斂因子,以平衡算法的搜索能力;考慮到禁忌搜索策略強(qiáng)大的全局管理能力,引入融合振蕩算子的禁忌搜索策略,提高算法跳出局部極值點(diǎn)的能力,也加快了算法收斂。最后,通過10個(gè)基準(zhǔn)測(cè)試函數(shù)和部分CEC2014測(cè)試函數(shù)仿真實(shí)驗(yàn)以及基準(zhǔn)測(cè)試函數(shù)Wilcoxon秩和檢測(cè)結(jié)果驗(yàn)證了CfOEO算法的優(yōu)越性。下一步工作考慮將CfOEO算法應(yīng)用到實(shí)際工程設(shè)計(jì)問題中,進(jìn)一步驗(yàn)證CfOEO算法相對(duì)于其他算法的優(yōu)越性。