羅仕杭,何 慶,2
1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴陽(yáng) 550025
2.貴州大學(xué) 貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025
在工程應(yīng)用和科學(xué)研究中存在大量高維度、非線性以及目標(biāo)函數(shù)不可導(dǎo)的全局優(yōu)化問題,傳統(tǒng)的優(yōu)化方法很難在合理的時(shí)間內(nèi)找到這些問題的全局最優(yōu)解。元啟發(fā)式算法具有原理簡(jiǎn)單、易操作、參數(shù)少等優(yōu)點(diǎn),為復(fù)雜全局優(yōu)化問題提供了一種新的解決途徑。因此,近年來元啟發(fā)式發(fā)算法在避障[1]、自動(dòng)控制[2]、調(diào)度問題[3]、圖像演化[4]、路徑規(guī)劃[5]等領(lǐng)域得到廣泛應(yīng)用與研究。
阿基米德優(yōu)化算法(Archimedes optimization algorithm,AOA)是2021年Hashim等[6]基于阿基米德原理提出的新型元啟發(fā)式優(yōu)化算法,AOA的種群個(gè)體是浸入流體中的物體,當(dāng)浸入流體中的物體之間發(fā)生碰撞時(shí),碰撞程度隨時(shí)間不斷減弱,適應(yīng)度值優(yōu)的個(gè)體加速度大,引導(dǎo)其他個(gè)體逐漸收斂到最優(yōu)位置,達(dá)到尋優(yōu)的目的。
AOA具有模型簡(jiǎn)單、易于擴(kuò)充、設(shè)置參數(shù)少等優(yōu)點(diǎn)。然而,AOA與其他群智能優(yōu)化算法相似,存在全局搜索能力弱、尋優(yōu)精度低、易陷入局部最優(yōu)等缺陷。
為改善群智能算法存在全局搜索能力弱、尋優(yōu)精度低、易陷入局部最優(yōu)等問題,許多學(xué)者提出改進(jìn):王堅(jiān)浩等[7]針對(duì)鯨魚優(yōu)化算法(whale optimization algorithm,WOA)收斂精度低的問題,添加慣性權(quán)重對(duì)種群位置進(jìn)行非線性擾動(dòng)更新,提高了算法的收斂精度;龍文等[8]提出非線性變化的收斂因子,達(dá)到平衡WOA的全局探索和局部開發(fā)能力;李守玉等[9]將變異反向?qū)W習(xí)策略引入蝴蝶優(yōu)化算法(butterfly optimization algorithm,BOA),提高算法的尋優(yōu)精度;王海瑞等[10]將柯西高斯變異引入麻雀搜索算法(sparrow search algorithm,SSA)中,在增加種群多樣性的基礎(chǔ)上避免算法陷入局部最優(yōu)。雖然上述文獻(xiàn)中的改進(jìn)策略在一定程度上提高算法收斂精度和速度,但是算法仍存在全局開拓能力弱、搜索精度不足等缺陷。為此,本文提出融合Sin混沌和分段權(quán)值的阿基米德優(yōu)化算法(SAOA)。首先,利用無限折疊迭代的Sin混沌反向?qū)W習(xí)策略初始化種群,通過計(jì)算適應(yīng)度值選取初始階段最優(yōu)的個(gè)體,增強(qiáng)種群多樣性并提高求解效率;其次,引入算數(shù)交叉算子,將當(dāng)前個(gè)體與最優(yōu)個(gè)體進(jìn)行交叉,產(chǎn)生的子代個(gè)體更靠近全局最優(yōu)個(gè)體,引導(dǎo)種群向最優(yōu)區(qū)域靠攏,增強(qiáng)全局搜索的充分性;同時(shí),采用分段權(quán)值策略來平衡算法的全局開采和局部挖掘能力,協(xié)助算法跳出局部最優(yōu)。最后通過8個(gè)基準(zhǔn)測(cè)試函數(shù)及其Wilcoxon秩和檢驗(yàn)、部分CEC2014測(cè)試函數(shù)以及機(jī)械優(yōu)化案例進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證了SAOA的有效性和可行性。
在標(biāo)準(zhǔn)AOA中,通過轉(zhuǎn)移因子(TF)控制個(gè)體間碰撞和平衡狀態(tài)之間的切換(即算法從全局探索切換到局部開發(fā)的過程)獲得優(yōu)化問題的解,其中定義如下:
式中,t表示當(dāng)前迭代次數(shù),tmax表示迭代次數(shù)。
在初始化階段,AOA初始化個(gè)體的密度(den)、體積(vol)、加速度(acc),在此步驟中,AOA評(píng)估初始化種群,選出當(dāng)前最優(yōu)適應(yīng)度個(gè)體位置(xbest)、最優(yōu)密度(den)、最優(yōu)體積(vol)、最優(yōu)加速度(acc),以此用來對(duì)下一代密度、體積和加速度的更新。
式中,N是種群的規(guī)模,i=(1,2,…,N)。rand是取值為(0,1)的隨機(jī)數(shù)。和分別為第i個(gè)個(gè)體在第t代和第t+1代的密度,和為第i個(gè)個(gè)體在第t代和第t+1代的體積。
當(dāng)TF≤0.5時(shí),算法進(jìn)行全局搜索,個(gè)體的加速度更新方式如下:
當(dāng)TF>0.5時(shí),算法處于局部開發(fā)階段,此時(shí)個(gè)體加速度更新公式為:
通過公式(5)對(duì)加速度進(jìn)行標(biāo)準(zhǔn)化處理,用來進(jìn)行個(gè)體位置更新:
式中,u和l為常數(shù)。
在全局搜索階段,碰撞個(gè)體的位置更新公式如下:
式中,表示第i個(gè)個(gè)體在第t次迭代的位置向量,C1為常數(shù),rand∈(0,1)的一個(gè)隨機(jī)數(shù),xrand表示第i個(gè)隨機(jī)個(gè)體在第t次迭代的位置向量,d為密度降低因子,更新公式為:
在局部開發(fā)階段,個(gè)體的位置更新公式為:
式中,xbest表示全局最優(yōu)個(gè)體,C2為常數(shù),T=C3×TF,C3為常數(shù)。F是改變個(gè)體移動(dòng)方向的標(biāo)志,用于決定個(gè)體位置更新的方向,定義如下:
式中,p=2×rand-C4,C4為常數(shù)。
在基本AOA中,種群初始化采用隨機(jī)分布的方式,這種方式造成種群多樣性差,導(dǎo)致個(gè)體前期搜索存在一定的盲目性,從而使得算法收斂速度慢;其次,在全局開發(fā)階段,AOA僅依靠隨機(jī)個(gè)體帶領(lǐng)種群向最優(yōu)區(qū)域?qū)ふ易顑?yōu)解,當(dāng)隨機(jī)個(gè)體是一個(gè)較差的解時(shí),會(huì)導(dǎo)致算法求解精度低,同時(shí),在局部開發(fā)階段,雖然種群圍繞最優(yōu)個(gè)體進(jìn)行位置更新,但是當(dāng)最優(yōu)個(gè)體陷入局部極值空間時(shí),種群也會(huì)陷入局部最優(yōu),使得算法出現(xiàn)停滯搜索現(xiàn)象;最后,AOA用來平衡全局搜索和局部開發(fā)能力的轉(zhuǎn)移因子TF并不是有規(guī)律的,根據(jù)公式(1)可知TF的最小取值是0.36,最大值是1,則全局搜索階段的區(qū)間是(0.36,0.5),局部開發(fā)階段的區(qū)間是(0.5,1),這使得算法全局搜索階段過短,未能搜索更廣闊的區(qū)域,可能丟失更優(yōu)的解。
綜上所述,本文針對(duì)上述AOA原理的缺陷,引入對(duì)應(yīng)的策略進(jìn)行改進(jìn)。具體策略介紹如下。
種群初始多樣性可以有效地?cái)U(kuò)大算法的搜索范圍,從而提高算法的尋優(yōu)精度和收斂速度[11]?;煦缃?jīng)常被用于優(yōu)化問題,其基本原理是通過映射關(guān)系在混沌變量空間[0,1]之間產(chǎn)生混沌序列,再將其轉(zhuǎn)化到個(gè)體的優(yōu)化變量空間內(nèi)。Sin混沌模型是一種具有較好遍歷性和隨機(jī)性的映射折疊次數(shù)無限的混沌模型。反向?qū)W習(xí)[12]通過當(dāng)前解尋到其對(duì)應(yīng)的反向解,然后評(píng)估選擇更好的解,從而引導(dǎo)個(gè)體尋找最優(yōu)解。因此,本文先利用Sin混沌產(chǎn)生多樣性較好的初始種群;其次,根據(jù)反向?qū)W習(xí)產(chǎn)生反向種群;最后,分別計(jì)算Sin混沌初始種群及反向種群的適應(yīng)度,選擇適應(yīng)度低的解作為初始種群,提高了找到最優(yōu)初始解的概率,從而使種群向全局最優(yōu)解靠近。Sin混沌1維映射表達(dá)式如下:
式中,Xn是取值為(-1,1)的序列且初始值不能設(shè)置為0。將Sin混沌序列映射到解空間中,得到種群X={Xi,i=1,2,…,N},Xj={Xj,j=1,2,…,dim},種群個(gè)體表示如下:
式中,Xi+1,j為第i+1個(gè)種群的第j維值。
由種群X計(jì)算反向種群,,反向種群個(gè)體表示如下:
式中,[Xminj,Xmaxj]為搜索空間的動(dòng)態(tài)邊界。將Sin混沌種群X和反向種群X*組成新種群{X∪X*},將新種群的適應(yīng)度值進(jìn)行排序,選擇N個(gè)適應(yīng)度值最優(yōu)的個(gè)體組成初始種群。
在標(biāo)準(zhǔn)的AOA中,碰撞個(gè)體根據(jù)公式(6)進(jìn)行全局搜索,由于沒有任何先驗(yàn)條件可以使用,僅依靠種群中隨機(jī)個(gè)體的引導(dǎo)進(jìn)行種群位置更新,隨機(jī)個(gè)體可能是一個(gè)質(zhì)量較好的解,也可能是一個(gè)較差的解,導(dǎo)致算法的全局尋優(yōu)性能較弱。因此,為提高標(biāo)準(zhǔn)AOA的全局搜索性能,本文引入的算術(shù)交叉算子,表達(dá)式如公式(13)所示:
式中,λ∈(0,1)表示隨機(jī)數(shù)。
SAOA選擇當(dāng)前個(gè)體與全局最優(yōu)個(gè)體進(jìn)行算術(shù)交叉,產(chǎn)生新的子代個(gè)體更靠近當(dāng)前最優(yōu)解,從而加快群體向全局最優(yōu)區(qū)域靠攏,同時(shí)算術(shù)交叉算子給予當(dāng)前個(gè)體向優(yōu)秀個(gè)體學(xué)習(xí)的能力,增強(qiáng)種群信息分享能力,從而增加種群多樣性。將當(dāng)前個(gè)體與全局最優(yōu)個(gè)體進(jìn)行交叉后,雖然能增強(qiáng)算法全局搜索能力,但是無法直接判斷產(chǎn)生的新個(gè)體是否優(yōu)于原始個(gè)體。因此,通過交叉選擇后,利用貪婪機(jī)制比較新舊個(gè)體適應(yīng)度值,再?zèng)Q定是否更新當(dāng)前個(gè)體,通過這種方式不斷獲得更優(yōu)解,從而提升算法全局尋優(yōu)性能。其中貪婪機(jī)制的數(shù)學(xué)模型如公式(14)所示:
在標(biāo)準(zhǔn)AOA中,轉(zhuǎn)移因子TF取值為(0.36,1),當(dāng)TF>0.5時(shí),算法進(jìn)行局部開發(fā),最優(yōu)個(gè)體引導(dǎo)種群進(jìn)行位置更新,但是當(dāng)最優(yōu)個(gè)體陷入局部極值空間時(shí),種群將受其影響陷入局部最優(yōu),使得算法出現(xiàn)“早熟”現(xiàn)象。為解決這個(gè)問題,本文提出分段權(quán)值的位置更新策略,首先,借鑒雙曲正切函數(shù)的思想,本文在算法迭代前中期種群位置更新處引入動(dòng)態(tài)雙曲正切權(quán)值w,其值隨迭代次數(shù)的增加呈非線性遞減,其次,在算法迭代后期,引入正弦波動(dòng)權(quán)值,降低算法陷入局部最優(yōu)的概率。本文所采用的動(dòng)態(tài)雙曲正切權(quán)值,在算法迭代前期,SAOA獲得較大權(quán)值以保證其在更廣闊的區(qū)域搜索最優(yōu)解,在算法迭代中期,SAOA獲得較小權(quán)值,使當(dāng)前個(gè)體可以在最優(yōu)個(gè)體附進(jìn)行精確搜索,達(dá)到平衡全局搜索與局部開發(fā)的能力,算法迭代后期,利用正弦波不規(guī)則變換的特點(diǎn)來增強(qiáng)最優(yōu)個(gè)體在局部空間開發(fā)的多元性,協(xié)助種群跳出局部最優(yōu)。分段權(quán)值w的計(jì)算如公式(15)所示:
式中,wstart表示迭代開始時(shí)的初始權(quán)值,即當(dāng)t=0時(shí),wstart=0.8,wend表示迭代結(jié)束時(shí)的權(quán)值,即當(dāng)t=tmax,wend=0.4。δ為迭代次數(shù),β1=0.23,β3=1.6,θ=0.3。α和β2為調(diào)節(jié)因子,控制曲線的平滑度,經(jīng)過多次實(shí)驗(yàn)驗(yàn)證,當(dāng)α=0.75和β2=0.06時(shí),實(shí)驗(yàn)結(jié)果為最優(yōu)。
由圖1可知,在算法迭代初期,w值較大,使SAOA具有較強(qiáng)的全局勘探能力,在算法迭代中期,w值較小,使SAOA的開發(fā)性能逐步提高并盡可能在最優(yōu)解附近精確尋優(yōu),在算法迭代后期,w值的方向和大小變換的不確定性增強(qiáng)SAOA搜索的多元性,避免算法陷入局部極值空間。因此,AOA引入分段權(quán)值策略后全局搜索階段的個(gè)體位置更新公式為:
局部開發(fā)階段個(gè)體位置更新公式為:
圖1 分段權(quán)值曲線圖Fig.1 Segmented weight curve graph
綜上改進(jìn)策略,本文所提的SAOA算法步驟如下:
步驟1初始化算法相關(guān)參數(shù):種群規(guī)模N、空間維度dim、種群的搜索空間[ub,lb]、最大迭代次數(shù)tmax、參數(shù)C1、C2、C3、C4、密度(den)、體積(vol)、加速度(acc)。
步驟2采用Sin混沌反向?qū)W習(xí)初始化策略初始化種群。
步驟3計(jì)算種群中每個(gè)個(gè)體的適應(yīng)度值并記錄當(dāng)前最優(yōu)個(gè)體位置(xbest)、最優(yōu)密度(den)、最優(yōu)體積(vol)、最優(yōu)加速度(acc)。
步驟4根據(jù)公式(1)、(2)、(7)分別更新函數(shù)TF、den、vol、d。
步驟5當(dāng)TF≤0.5時(shí),進(jìn)入步驟6根據(jù)公式(3)更新函數(shù)acc,進(jìn)一步根據(jù)公式(5)更新函數(shù)acci-norm;當(dāng)TF>0.5時(shí),進(jìn)入步驟7,根據(jù)公式(4)更新函數(shù)acc,進(jìn)一步根據(jù)公式(5)更新函數(shù)acci-norm。
步驟6算法進(jìn)行全局搜索,根據(jù)公式(13)選擇隨機(jī)個(gè)體與當(dāng)前最優(yōu)個(gè)體進(jìn)行算術(shù)交叉操作,產(chǎn)生新的候選解,并通過公式(14)進(jìn)行擾動(dòng),進(jìn)一步根據(jù)公式(16)更新個(gè)體位置。
步驟7算法進(jìn)行局部開發(fā),根據(jù)公式(17)更新個(gè)體位置。
步驟8判斷是否滿足迭代終止條件,滿足則輸出全局最優(yōu)解及位置信息,否則進(jìn)入步驟3繼續(xù)執(zhí)行。
改進(jìn)算法流程圖如圖2所示。
圖2 SAOA算法流程圖Fig.2 SAOA algorithm flow chart
時(shí)間復(fù)雜度間接反映算法的收斂速度。在標(biāo)準(zhǔn)AOA中,假設(shè)參數(shù)初始化(種群規(guī)模N、維度d等參數(shù))時(shí)間為η1,初始化每個(gè)個(gè)體需要的時(shí)間為η2,求解目標(biāo)適應(yīng)度函數(shù)時(shí)間為f(d),則標(biāo)準(zhǔn)AOA種群初始階段時(shí)間復(fù)雜度為:
設(shè)更新函數(shù)TF、den、vol、d、acc時(shí)間為η3,每一維按公式(6)和(8)更新位置所需時(shí)間為η4,比較當(dāng)前位置和歷史最優(yōu)位置的時(shí)間為η5,選取最優(yōu)位置的時(shí)間為η6,此階段時(shí)間復(fù)雜度為:
所以基本AOA的時(shí)間復(fù)雜度為:
在SAOA中,初始化參數(shù)所需時(shí)間與基本AOA相同,采用Sin混沌反向?qū)W習(xí)初始化種群所需時(shí)間為復(fù)雜度為O(N×d×f(d)),則SAOA初始化種群階段的時(shí)間復(fù)雜度為:
計(jì)算算術(shù)交叉算子所需時(shí)間為η7,每一維按公式(13)進(jìn)行個(gè)體位置更新,利用貪婪機(jī)制比較新舊個(gè)體適應(yīng)度所需時(shí)間為η8,保留最優(yōu)位置時(shí)間為η9,此階段的時(shí)間復(fù)雜度為:
算法引入分段權(quán)值后,每一維按照公式(16)和(17)更新個(gè)體位置所需時(shí)間為η10,此階段的時(shí)間復(fù)雜度為:
綜上分析可得,SAOA的時(shí)間復(fù)雜度為:
綜上所述,SAOA與AOA時(shí)間復(fù)雜度一致,本文針對(duì)AOA缺陷所提改進(jìn)策略并沒有增加時(shí)間復(fù)雜度。
本文基于Intel?CoreTMi7-i7-6500U CPU,2.50 GHz主頻,8 GB內(nèi)存以及Windows 10(64位)的操作系統(tǒng)對(duì)所提出的算法進(jìn)行仿真實(shí)驗(yàn)。編程軟件為MATLAB 2018(a)。各個(gè)算法的參數(shù)設(shè)置如表1所示,選取8個(gè)基準(zhǔn)函數(shù)其中5個(gè)單峰函數(shù)F1~F5,3個(gè)復(fù)雜非線性多峰函數(shù)F6~F8,取值范圍、最優(yōu)值信息如表2所示。
表1 算法參數(shù)設(shè)置Table 1 Algorithm parameter setting
表2 基準(zhǔn)測(cè)試函數(shù)介紹Table 2 Benchmark test functions
為驗(yàn)證SAOA算法的可行性和優(yōu)越性,將基本AOA與本文加入Sin混沌反向?qū)W習(xí)初始化策略的算法(AOA1)、加入算術(shù)交叉算子的算法(AOA2)、加入分段權(quán)值策略的算法(AOA3)在8個(gè)具有不同尋優(yōu)特征的基準(zhǔn)函數(shù)上進(jìn)行仿真實(shí)驗(yàn)。算法參數(shù)統(tǒng)一設(shè)置為:種群規(guī)模N=30,搜索空間維度dim=30,最大迭代次數(shù)tmax=500。表3通過最優(yōu)值、最差值、平均值和標(biāo)準(zhǔn)差四個(gè)性能指標(biāo)來評(píng)估各算法的尋優(yōu)性能。5種算法對(duì)8個(gè)基準(zhǔn)測(cè)試函數(shù)的尋優(yōu)結(jié)果如表3所示。
表3 不同改進(jìn)策略的結(jié)果比較Table 3 Comparison of results of different improvement strategies
由表3可知,SAOA對(duì)函數(shù)F1、F3、F6、F8求解時(shí),SAOA都能夠?qū)さ嚼碚撟顑?yōu)值,對(duì)函數(shù)F2和F4,無論是尋優(yōu)精度還是穩(wěn)定性均表現(xiàn)出明顯的優(yōu)勢(shì)。在求解函數(shù)F5和F7時(shí),SAOA陷入局部最優(yōu)值,其他對(duì)比算法也尋優(yōu)停滯,但SAOA相較于其他改進(jìn)策略具有更高的收斂精度和穩(wěn)定性。具體來說,僅采用算術(shù)交叉算子(AOA2)對(duì)AOA性能的改進(jìn)有限,但其收斂精度相對(duì)于AOA也得到一定程度的提升,尤其對(duì)求解函數(shù)F6和F8,均得到了尋優(yōu)理論值,這是因?yàn)橥ㄟ^當(dāng)前個(gè)體與最優(yōu)個(gè)體進(jìn)行交叉后,不僅增強(qiáng)種群之間信息交流,而且產(chǎn)生的子代個(gè)體可以有效引導(dǎo)種群向最優(yōu)區(qū)域進(jìn)行尋優(yōu)。Sin混沌反向?qū)W習(xí)初始化策略(AOA1)和分段權(quán)值策略(AOA3)對(duì)函數(shù)F1、F3、F6、F8效果顯著,均能尋到理論值,同時(shí)對(duì)函數(shù)F2、F4求解精度和穩(wěn)定性也有極大提升,這是因?yàn)镾in混沌反向?qū)W習(xí)初始化策略增強(qiáng)了種群的多樣性并提高初始階段種群解的質(zhì)量,分段權(quán)值策略使得算法在迭代前期獲得較高權(quán)值,增強(qiáng)SAOA全局探索能力,在迭代中期權(quán)值減小,幫助SAOA在局部空間精確搜索,在迭代后期權(quán)值大小和方向不斷變化,協(xié)助SAOA跳出局部最優(yōu),提高算法的尋優(yōu)精度和收斂速度。
為了反映SAOA的動(dòng)態(tài)收斂特性,取搜索空間維度為30維,每個(gè)算法獨(dú)立運(yùn)行30次,采用平均收斂曲線圖描述算法的收斂性。圖3(a)~(h)給出了8個(gè)基準(zhǔn)測(cè)試函數(shù)的平均收斂曲線圖:
由圖3可知,對(duì)于函數(shù)F1、F2、F3、F4、F6、F8,SAOA在尋優(yōu)精度和收斂速度上都明顯優(yōu)于其他4種對(duì)比算法,且迭代前期的搜索性能和迭代末期的開拓性能也都優(yōu)于其他4種算法,在相同的迭代次數(shù)下具有更高的求解精度和更快的收斂速度,并在相同的求解精度下具備更快的收斂速度,表明SAOA在保證開拓能力的同時(shí)也能充分保證搜索能力,不失種群多樣性和尋優(yōu)穩(wěn)定性。對(duì)于函數(shù)F5、F7,SAOA與其他4種算法一樣,雖然陷入局部最優(yōu)后難以跳出,但SAOA的平均收斂曲線均位于4種對(duì)比算法平均收斂曲線下方,且達(dá)到特定精度所需的迭代次數(shù)最少。
綜上,表3的實(shí)驗(yàn)結(jié)果與圖3的平均曲線驗(yàn)證了本文所提改進(jìn)算法的有效性。雖然在某些函數(shù)上5種算法收斂精度差距不明顯,但SAOA的收斂速度遠(yuǎn)快于其他對(duì)比算法,表明SAOA的綜合尋優(yōu)能力比其他算法更強(qiáng),穩(wěn)定性更高。
為比較SAOA與其他改進(jìn)算法的尋優(yōu)性能,本文將SAOA與新改進(jìn)的灰狼算法(improved grey wolf optimizer for solving engineering problems,IGWO)、混合灰狼和布谷鳥搜索優(yōu)化算法(hybrid grey wolf and cuckoo search optimization algorithm,GWO_CS)、新改進(jìn)的鯨魚算法(CWOA)、IWOA以及新改進(jìn)蝴蝶優(yōu)化算法(PWBOW)在空間維度30/200/500條件下對(duì)8個(gè)基準(zhǔn)測(cè)試函數(shù)進(jìn)行仿真實(shí)驗(yàn),其中“—”表示參考文獻(xiàn)未給出相應(yīng)數(shù)據(jù),每個(gè)算法獨(dú)立運(yùn)行30次后結(jié)果如表4所示。
圖3 5種算法的平均收斂曲線圖Fig.3 Comparison of average convergence curves of 5 algorithms
由表4的實(shí)驗(yàn)結(jié)果表明:總體上IGWO與GWO_CS尋優(yōu)能力相差不大,CWOA是5種對(duì)比算法中尋優(yōu)精度最高的,且SAOA求解精度和穩(wěn)定性明顯優(yōu)于5種對(duì)比算法。
從縱向來看,CWOA只有對(duì)函數(shù)F1、F6、F8求解時(shí),才能找到理論值,且由標(biāo)準(zhǔn)差可知CWOA尋到理論值不具有穩(wěn)定性,對(duì)函數(shù)F1~F4,IGWO算法與GWO_CS算法無法求解且PWBOA求解精度不高時(shí),SAOA仍具有較高的尋優(yōu)精度和穩(wěn)定性,其中IGWO求解精度是5種算法中最差的,GWO_CS算法次之。函數(shù)F5存在局部極值,算法容易陷入局部最優(yōu)且無法跳出,CWOA對(duì)其求解精度略優(yōu)于SAOA,但差異穩(wěn)定在同一個(gè)數(shù)量級(jí)內(nèi),可以接受。函數(shù)F7是一種具有山脊形狀的多峰函數(shù),其全局最優(yōu)值比較難尋,所以SAOA同其他改進(jìn)算法均未找到理論值,但其尋優(yōu)精度和穩(wěn)定性均高于其他算法。
表4 與三種改進(jìn)群智能算法在不同維度的結(jié)果對(duì)比Table 4 Comparison with results of three improved swarm intelligence algorithms in different dimensions
從橫向來看,當(dāng)維度從30維上升到200維再上升到500維,5種對(duì)比算法求解精度和魯棒性均有不同程度下降,這是因?yàn)殡S著維度增加使基準(zhǔn)函數(shù)復(fù)雜度增加,尋優(yōu)過程需要更多計(jì)算,但SAOA求解精度仍最高,從而驗(yàn)證了SAOA在求解低維和高維問題時(shí)具有極強(qiáng)的魯棒性,進(jìn)一步說明了SAOA在求解函數(shù)優(yōu)化問題時(shí)具有一定的競(jìng)爭(zhēng)優(yōu)勢(shì)。
上訴仿真實(shí)驗(yàn)中,僅憑平均值和標(biāo)準(zhǔn)差不能夠完全說明SAOA算法的優(yōu)越性。為了保證算法的公平性和有效性,需要進(jìn)行統(tǒng)計(jì)檢驗(yàn)[13]。本文采用Wilcoxon秩和檢驗(yàn)驗(yàn)證SAOA每次實(shí)驗(yàn)結(jié)果是否在統(tǒng)計(jì)上與其他算法存在明顯差異。秩和檢驗(yàn)在5%的顯著性水平下進(jìn)行,當(dāng)p<5%時(shí),可以被認(rèn)為拒絕H0假設(shè),說明兩種算法之間存在顯著性差異;p>5%時(shí),可以被認(rèn)為接受H0假設(shè),說明兩種算法尋優(yōu)性能上整體相同。表5給出了SAOA與AOA1、AOA2、AOA3、GWO_CS算法、IGWO算法進(jìn)行8個(gè)基準(zhǔn)測(cè)試函數(shù)上的Wilcoxon秩和檢驗(yàn)對(duì)比分析,其中“N/A”表示兩者之間性能相當(dāng),“Na”表示不適用,即無法進(jìn)行顯著性判斷,判斷結(jié)果,“+”“-”“=”分別表示SAOA性能優(yōu)于、劣于和相當(dāng)于對(duì)比算法。由表5可知,大部分p值都小于5%,總體上SAOA的性能與其他6種算法在統(tǒng)計(jì)上差異顯著,從而表明SAOA比其他算法擁有更好的優(yōu)越性。
表5 Wilcoxon秩和檢驗(yàn)結(jié)果Table 5 Wilcoxon rank sum test results
為了進(jìn)一步驗(yàn)證SAOA處理具有復(fù)雜特征的問題時(shí)的魯棒性,本文選取部分具有復(fù)雜特征的CEC2014單目標(biāo)優(yōu)化函數(shù)進(jìn)行優(yōu)化求解,其中包括單峰(CEC01)、多峰(CEC12)、混合(CEC19)和復(fù)合(CEC23、CEC27、CEC30)類型函數(shù),選取的部分函數(shù)如表6所示。本文將SAOA與基本AOA、PSO算法、GWO_CS算法、PWBOA、IGWO算法進(jìn)行實(shí)驗(yàn)對(duì)比。其中L-SHADE算法在CEC2014函數(shù)中表現(xiàn)出色,常作為對(duì)比算法,其數(shù)據(jù)和PSO算法的數(shù)據(jù)來源于文獻(xiàn)[14]。實(shí)驗(yàn)參數(shù)選取種群規(guī)模為30,最大迭代次數(shù)為1 000,維度為30,獨(dú)立運(yùn)行30次取平均值和標(biāo)準(zhǔn)差,實(shí)驗(yàn)結(jié)果如表7所示。
表6 部分CEC2014函數(shù)介紹Table 6 Part of CEC2014 function
如表7可知,L-SHADE在單峰CEC03函數(shù)上表現(xiàn)出色,而SAOA尋優(yōu)性能相較標(biāo)準(zhǔn)AOA弱一些,因?yàn)镾AOA需要進(jìn)行更多的參數(shù)計(jì)算,造成收斂精度稍有下降;在多峰CEC12函數(shù)和在混合CEC19函數(shù)上,SAOA尋優(yōu)精度更加接近理論值;在復(fù)合特征CEC23、CEC27和CEC30函數(shù)上,SAOA的標(biāo)準(zhǔn)差為0,說明其對(duì)于復(fù)合特征函數(shù)尋優(yōu)穩(wěn)定性強(qiáng)。上述CEC2014測(cè)試函數(shù)尋優(yōu)結(jié)果分析說明,本文提出的SAOA算法對(duì)于具有復(fù)雜特征的函數(shù)尋優(yōu)上同樣具有很大優(yōu)勢(shì),驗(yàn)證了SAOA算法具有較強(qiáng)的魯棒性。
優(yōu)化設(shè)計(jì)是20世紀(jì)60年代發(fā)展起來的一門新學(xué)科與設(shè)計(jì)方法。在機(jī)械優(yōu)化設(shè)計(jì)中,經(jīng)常需要解決數(shù)值優(yōu)化問題,然而傳統(tǒng)的優(yōu)化方法受限于目標(biāo)函數(shù)是非線性和可微等問題,很難找到最優(yōu)的解決方法[15]。因此,本文將提出的SAOA用于求解機(jī)械優(yōu)化設(shè)計(jì)問題,進(jìn)一步驗(yàn)證所提算法的適用性和可行性。
表7 CEC2014函數(shù)優(yōu)化對(duì)比Table 7 CEC2014 function optimization comparison
絕大多的機(jī)械優(yōu)化問題與數(shù)學(xué)模型有著緊密的聯(lián)系。選擇設(shè)計(jì)變量,目標(biāo)函數(shù)以及約束條件是構(gòu)造優(yōu)化設(shè)計(jì)數(shù)學(xué)模型的關(guān)鍵步驟。該問題的數(shù)學(xué)模型一般可以描述為如下約束優(yōu)化問題[16]:
式中,x為設(shè)計(jì)變量,f(x)為目標(biāo)函數(shù),gj表示第j個(gè)不等式約束,hp表示第p個(gè)等式約束,xmin和xmax分別表示設(shè)計(jì)變量的上下界。
焊接梁設(shè)計(jì)是機(jī)械優(yōu)化設(shè)計(jì)問題中的一種,其設(shè)計(jì)是在4個(gè)決策變量和7個(gè)約束條件下,以最小化焊接梁的制造費(fèi)用為優(yōu)化目標(biāo)。決策變量分別為焊縫厚度(h)、鋼筋連接長(zhǎng)度(l)、鋼筋高度(t)和鋼筋厚度(b),其結(jié)構(gòu)示意圖如圖4所示。
圖4 焊接梁結(jié)構(gòu)示意圖Fig.4 Schematic diagram of welded beam structure
焊接梁設(shè)計(jì)的數(shù)學(xué)模型如下所示。
目標(biāo)函數(shù):
約束方程:
其中:
式中,τ為剪切應(yīng)力,σ為橫梁彎曲應(yīng),Pc為屈曲載荷,δ為橫梁撓度,f(x)為最小化設(shè)計(jì)費(fèi)用總成本。
為了保證實(shí)驗(yàn)對(duì)比的公平性,與文獻(xiàn)[6]參數(shù)一致,選取種群規(guī)模為30,最大迭代次數(shù)為1 000,每個(gè)算法獨(dú)立運(yùn)行30次,其中SCA、WOA、PSO算法、EO算法的數(shù)據(jù)來源于文獻(xiàn)[6]。表8是SAOA與其他算法求解焊接梁設(shè)計(jì)的實(shí)驗(yàn)對(duì)比結(jié)果。
表8 不同算法求解焊接梁設(shè)計(jì)問題的對(duì)比結(jié)果Table 8 Comparison results of different algorithms for solving welded beam design problems
由表8可知,通過焊接梁設(shè)計(jì)問題的實(shí)例驗(yàn)證,所提SAOA可以取得優(yōu)于其他算法的優(yōu)化結(jié)果,說明SAOA尋優(yōu)能力優(yōu)于其他算法,具有較好的求解精度,進(jìn)一步驗(yàn)證SAOA在實(shí)際應(yīng)用中的可行性和適用性。
為了改善AOA的性能,本文提出融合Sin混沌和分段權(quán)值的阿基米德優(yōu)化算法,首先采用Sin混沌反向?qū)W習(xí)策略初始化種群,提高了初始種群的質(zhì)量;其次引入的算術(shù)交叉算子,增強(qiáng)算法的全局尋優(yōu)性能;同時(shí)在算法中加入分段權(quán)值平衡算法全局探索和局部開發(fā)能力,降低算法陷入局部最優(yōu)的概率。通過8個(gè)基準(zhǔn)測(cè)試函數(shù)和部分CEC2014測(cè)試函數(shù)仿真實(shí)驗(yàn)以及基準(zhǔn)測(cè)試函數(shù)Wilcoxon秩和檢驗(yàn)結(jié)果證明提出的SAOA具有更好的尋優(yōu)性能和有效性。最后,將SAOA應(yīng)用到機(jī)械設(shè)計(jì)案例中,進(jìn)一步驗(yàn)證該算法的可行性和適用性。下一步研究?jī)?nèi)容的重點(diǎn)內(nèi)容是將SAOA應(yīng)用到更加復(fù)雜的工程中,如多目標(biāo)優(yōu)化、高維函數(shù)優(yōu)化問題等。