何星月,張 靖,覃 濤,何必濤,楊 靖+
(1.貴州大學(xué) 電氣工程學(xué)院,貴州 貴陽(yáng) 550025;2.中國(guó)電建集團(tuán) 貴州工程有限公司,貴州 貴陽(yáng) 550025)
元啟發(fā)式算法是對(duì)自然界的生物現(xiàn)象或物理現(xiàn)象進(jìn)行模擬,可以在高維且復(fù)雜的約束條件下快速地找到問(wèn)題的全局最優(yōu)解。近年來(lái)一系列的元啟發(fā)式算法被提出[1-4],這些算法被廣泛的應(yīng)用于圖像分割、參數(shù)估計(jì)、特征選擇等領(lǐng)域[5-9]。
白骨頂雞算法由Iraj Naruei等[10]提出。通過(guò)對(duì)白骨頂雞的隨機(jī)運(yùn)動(dòng)、鏈?zhǔn)竭\(yùn)動(dòng)和領(lǐng)導(dǎo)運(yùn)動(dòng)等行為的模擬,構(gòu)建出一種有效的尋優(yōu)機(jī)制。相較于傳統(tǒng)算法,白骨頂雞算法具有結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定等優(yōu)點(diǎn),但仍存在收斂速度慢、易陷入局部最優(yōu)等不足。
為改善上述缺陷,國(guó)內(nèi)外學(xué)者們提出了不同的改進(jìn)策略。文獻(xiàn)[11]提出了一種刺激-響應(yīng)機(jī)制,根據(jù)響應(yīng)閾值,使蜜蜂在跟隨蜂和雇傭蜂之間轉(zhuǎn)換,以平衡算法的搜索與開(kāi)發(fā)能力。文獻(xiàn)[12]根據(jù)三角形相似性原理提出了動(dòng)態(tài)演化理論,以增強(qiáng)麻雀算法后期的開(kāi)發(fā)能力。文獻(xiàn)[13]利用差分進(jìn)化思想,在樽海鞘領(lǐng)導(dǎo)者位置更新中引入變異算子,幫助算法在后期跳出局部最優(yōu)。文獻(xiàn)[14]通過(guò)對(duì)正余弦算法搜索方程中引入社交和認(rèn)知成分,結(jié)合灰狼算法良好勘探和開(kāi)發(fā)平衡能力優(yōu)化了算法的尋優(yōu)性能。
為進(jìn)一步提高算法尋優(yōu)精度及工程應(yīng)用價(jià)值,本文提出了基于拉丁超立方體的改進(jìn)白骨頂雞算法(improved COOT algorithm based on Latin Hypercube,LHCOOT)。首先利用拉丁超立方體抽樣使種群分布更加均勻;引入非線性決策因子以權(quán)衡算法全局搜索和局部開(kāi)發(fā)過(guò)程;采取動(dòng)態(tài)邊界機(jī)制,加速算法收斂;對(duì)最優(yōu)個(gè)體進(jìn)行柯西擾動(dòng)并引入貪婪策略,避免算法陷入局部最優(yōu)。通過(guò)對(duì)16個(gè)基準(zhǔn)函數(shù)、高維函數(shù)和實(shí)際工程問(wèn)題進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證了LHCOOT算法的有效性。
白骨頂雞是一種小型水鳥(niǎo),在水面上有許多不同的群體行為,包括普通個(gè)體的隨機(jī)運(yùn)動(dòng)、鏈?zhǔn)竭\(yùn)動(dòng)、引導(dǎo)運(yùn)動(dòng)以及領(lǐng)導(dǎo)者運(yùn)動(dòng)。該算法的具體步驟如下:
普通個(gè)體運(yùn)動(dòng):該過(guò)程主要由3種運(yùn)動(dòng)狀態(tài)構(gòu)成,執(zhí)行機(jī)制如式(1)所示
(1)
式中:Rb、Rc為常量0.5。lead、chain、random表示引導(dǎo)運(yùn)動(dòng)、鏈?zhǔn)竭\(yùn)動(dòng)和隨機(jī)運(yùn)動(dòng),分別如式(2)~式(4)所示
CootPos(i)=Lead(K)+2×R1×cos(2R)×
(Lead(K)-CootPos(i))
(2)
(3)
CootPos(i)=CootPos(i)+A×R2×(Q-CootPos(i))
(4)
式中:R是[-1,1]中的隨機(jī)數(shù),R1、R2是[0,1]中的隨機(jī)數(shù),K為領(lǐng)導(dǎo)者的索引,為普通個(gè)體分配領(lǐng)導(dǎo)者,如式(5)所示
K=1+(iMODNL)
(5)
式中:i是普通個(gè)體索引,NL為領(lǐng)導(dǎo)者的數(shù)量。
領(lǐng)導(dǎo)者運(yùn)動(dòng):該運(yùn)動(dòng)根據(jù)式(6),利用最優(yōu)個(gè)體牽引領(lǐng)導(dǎo)者,幫助種群向最優(yōu)區(qū)域收斂
(6)
式中:gBest是當(dāng)前最優(yōu)個(gè)體位置,R3和R4是[0,1]中的隨機(jī)數(shù)。
元啟發(fā)式算法的收斂速度和收斂精度通常與初始種群的分布結(jié)構(gòu)息息相關(guān)。COOT算法以隨機(jī)方式生成的初始種群會(huì)導(dǎo)致個(gè)體在求解空間分布不均,影響初始種群的多樣性。相較于傳統(tǒng)的混沌映射[15]、佳點(diǎn)集[16]等初始化策略,拉丁超立方體抽樣[17](Latin Hypercube sampling,LHS)基于分層抽樣原理,可以實(shí)現(xiàn)非重疊采樣和變量范圍全覆蓋采樣,兼顧種群初始化的隨機(jī)性和均勻性。
(7)
式中:vij是與hij獨(dú)立的(0,1)上均勻分布的獨(dú)立蒙特卡洛樣本。按照上述步驟選取的m個(gè)點(diǎn)ci=(ci1,ci2,…,cim),i=1,2…m為一個(gè)拉丁超立方體樣本。
假設(shè)搜索空間為2維,搜索范圍為(0,1)。隨機(jī)種群初始化和拉丁超立方體初始化分布如圖1所示。
圖1 初始化種群分布
從圖1可以觀察到,隨機(jī)種群初始化個(gè)體粘連嚴(yán)重,均勻性不佳。拉丁超立方體初始化分布在整個(gè)解空間,且均勻分散在每個(gè)坐標(biāo)區(qū)間。因此,拉丁超立方體抽樣能有效提高初始種群多樣性,有助于加快算法收斂速度。
2.2.1 非線性決策因子
是否能合理地平衡算法全局搜索和局部開(kāi)發(fā)能力將直接影響算法的尋優(yōu)能力。在COOT算法中,隨機(jī)運(yùn)動(dòng)將會(huì)在解空間生成一個(gè)隨機(jī)解,引導(dǎo)白骨頂雞位置更新。鏈?zhǔn)竭\(yùn)動(dòng)將兩個(gè)相鄰索引個(gè)體的平均位置作為更新位置。因此,鏈?zhǔn)竭\(yùn)動(dòng)幫助種群向同一方向匯聚,適合在算法前期加速算法收斂。而隨機(jī)運(yùn)動(dòng)在整個(gè)解空間生成一個(gè)隨機(jī)解,牽引算法跳出局部最優(yōu)。兩種位置更新的執(zhí)行機(jī)制如式(8)所示
(8)
因此,等于0.5的常量Rc,是控制算法全局搜索能力和局部開(kāi)發(fā)能力的決策因子。常量型決策因子并不能適用于解決復(fù)雜高維的實(shí)際工程問(wèn)題。因此,本文采用一種非線性決策因子,令算法在前期緩慢衰減,增大執(zhí)行鏈?zhǔn)竭\(yùn)動(dòng)的概率,幫助算法快速收斂。在算法后期迅速衰減,增大執(zhí)行隨機(jī)運(yùn)動(dòng)的概率,從而幫助算法跳出局部最優(yōu)。非線性決策因子的數(shù)學(xué)模型如式(9)所示
(9)
式中:Rv0為決策因子初值,本文取為1,t是模型控制因子,t的取值控制模型的衰減速度,t值越大,模型的衰減速度越慢。不同t值下非線性決策因子模型及常量0.5對(duì)比如圖2所示。
圖2 決策因子曲線
當(dāng)決策因子曲線在常量0.5上方時(shí),算法會(huì)以大概率執(zhí)行鏈?zhǔn)竭\(yùn)動(dòng)。反之,會(huì)以大概率執(zhí)行隨機(jī)運(yùn)動(dòng)。經(jīng)多次實(shí)驗(yàn)驗(yàn)證,當(dāng)t取10時(shí),算法效果最佳。
2.2.2 自適應(yīng)動(dòng)態(tài)邊界
COOT算法在執(zhí)行隨機(jī)運(yùn)動(dòng)時(shí),會(huì)在整個(gè)搜索空間中生成隨機(jī)解。如果該搜索空間不隨著迭代過(guò)程而相應(yīng)收斂,將會(huì)增大尋優(yōu)過(guò)程的盲目性和復(fù)雜度,造成算法收斂遲滯,迭代時(shí)間增加。因此,本文引入了自適應(yīng)動(dòng)態(tài)邊界機(jī)制,加快算法收斂速度。動(dòng)態(tài)邊界的上下界如式(10)所示
UB=α×max(X)
LB=α×min(X)
(10)
式中:X為整個(gè)種群的位置矩陣,α為自適應(yīng)映射系數(shù),如式(11)所示
α=1+0.2×(eL/Iter-1)
(11)
式中:L是當(dāng)前迭代次數(shù),Iter是最大迭代次數(shù)。隨機(jī)位置Q的生成如式(12)所示
Q=rand(1,d)×(UB-LB)+LB
(12)
從式(12)可以看出,邊界將隨著種群的移動(dòng)而動(dòng)態(tài)跟隨,隨著種群的收斂而相應(yīng)縮小。同時(shí),為了避免迭代后期,種群收斂陷入局部最優(yōu),將動(dòng)態(tài)邊界通過(guò)隨著迭代次數(shù)增大的映射系數(shù)放大,增加動(dòng)態(tài)牽引力度,從而增大跳出局部最優(yōu)的概率。相較于逐維更新的動(dòng)態(tài)邊界,利用種群確定邊界,可以避免不同維度間的相互干擾,提供一定裕量,提高尋優(yōu)能力。
領(lǐng)導(dǎo)者的迭代更新由最優(yōu)個(gè)體引導(dǎo),向著最優(yōu)位置靠近,導(dǎo)致算法后期種群多樣性降低,算法易陷入局部最優(yōu)。本文在原有算法中加入柯西變異算子,對(duì)最優(yōu)個(gè)體進(jìn)行柯西擾動(dòng),擴(kuò)大算法的局部搜索能力,增強(qiáng)種群的多樣性。
正態(tài)分布和柯西分布是兩種經(jīng)典的連續(xù)型概率分布,兩者的概率密度函數(shù)曲線如圖3所示,相較于正態(tài)分布,柯西分布原點(diǎn)處的峰值較小,從原點(diǎn)處的峰值到兩端的下降趨勢(shì)會(huì)更加平緩。因此,柯西變異擾動(dòng)能力更強(qiáng)。通過(guò)融入柯西變異對(duì)最優(yōu)個(gè)體產(chǎn)生擾動(dòng),能夠幫助算法跳出局部極值。
圖3 概率密度函數(shù)曲線
對(duì)最優(yōu)個(gè)體添加柯西變異的模型為
Xnbest=Xbest×(1+cauchy(0,1))
(13)
式中:Xbest為最優(yōu)個(gè)體,Xnbest為變異后的個(gè)體,cauchy(0,1) 是服從中心為0,尺度參數(shù)為1的柯西分布隨機(jī)數(shù)。為保證變異之后的解優(yōu)于原始解,算法引入貪婪策略,對(duì)比擾動(dòng)前后解的適應(yīng)度值,擇優(yōu)保留。貪婪策略的數(shù)學(xué)模型如式(14)所示
(14)
式中:f為適應(yīng)度函數(shù)。
綜合上述改進(jìn)策略,LHCOOT的算法流程如圖4所示。
圖4 算法流程
時(shí)間復(fù)雜度作為評(píng)價(jià)算法性能的指標(biāo)之一,可以間接反映算法的尋優(yōu)效率。設(shè)標(biāo)準(zhǔn)白骨頂雞算法種群數(shù)量為N,搜索空間維度為n,最大迭代次數(shù)為M,領(lǐng)導(dǎo)雞群比例為NL,求解目標(biāo)函數(shù)適應(yīng)度時(shí)間為f(n)。 假設(shè)初始化參數(shù)時(shí)間為λ1,每一維產(chǎn)生服從均勻分布隨機(jī)數(shù)的時(shí)間為λ2,找到并保存適應(yīng)度最佳個(gè)體位置的時(shí)間為λ3,則算法總體初始化階段的時(shí)間復(fù)雜度為
T1(n)=O(λ1+N(nλ2+f(n))+λ3)=O(n+f(n))
在迭代過(guò)程中,普通個(gè)體更新階段,普通個(gè)體個(gè)數(shù)為N(1-NL), 設(shè)隨機(jī)運(yùn)動(dòng)、鏈?zhǔn)竭\(yùn)動(dòng)、領(lǐng)導(dǎo)運(yùn)動(dòng)每一維更新位置時(shí)間都近似為λ4,式(7)的決策機(jī)制時(shí)間為λ5,計(jì)算位置更新后的適應(yīng)度并與最優(yōu)位置比較的時(shí)間為λ6,根據(jù)式(3)更新參數(shù)A的時(shí)間為λ7,則此階段時(shí)間復(fù)雜度為
T2(n)=O(N(1-NL)(nλ4+f(n)+λ5+λ6)+λ7)=
O(n+f(n))
在領(lǐng)導(dǎo)者更新階段,領(lǐng)導(dǎo)者個(gè)數(shù)為N×NL,設(shè)白骨頂雞領(lǐng)導(dǎo)者每一維位置更新所需的時(shí)間為λ8,計(jì)算位置更新后的適應(yīng)度并與最優(yōu)位置比較的時(shí)間也為λ6,根據(jù)式(9)更新參數(shù)B的時(shí)間為λ9,則這一階段的時(shí)間復(fù)雜度為
T3(n)=O((N×NL)(nλ8+f(n)+λ6)+λ9)=
O(n+f(n))
由此,COOT算法總時(shí)間復(fù)雜度為
T(n)=T1(n)+M(T2(n)+T3(n))=O(n+f(n))
在LHCOOT中,在初始化階段,引入了拉丁超立方體抽樣初始化種群,相較于均勻分布初始化種群,算法時(shí)間復(fù)雜度保持不變,即T′1=T1; 在普通個(gè)體更新階段,設(shè)引入非線性決策因子時(shí)間為t1,貪婪策略的時(shí)間為t2,自適應(yīng)動(dòng)態(tài)邊界包含在隨機(jī)運(yùn)動(dòng)更新位置時(shí)間仍然為λ4,因此LHCOOT算法這一階段的復(fù)雜度為
T′2(n)=O(N(1-NL)(n(λ4+t1)+f(n)+
λ5+λ6+t2)+λ7)=O(n+f(n))
在領(lǐng)導(dǎo)者更新階段,設(shè)柯西擾動(dòng)的時(shí)間為t3,貪婪策略的時(shí)間仍為t2,則該階段時(shí)間復(fù)雜度為
T′3(n)=O((N×NL)(nλ8+f(n)+λ6)+λ9+
t2+t3)=O(n+f(n))
因此,LHCOOT算法總時(shí)間復(fù)雜度為
T′(n)=T′1(n)+M(T′2(n)+T′3(n))=O(n+f(n))
綜上所述,與COOT算法相比,LHCOOT算法所引入的改進(jìn)策略并不會(huì)增加算法時(shí)間復(fù)雜度。
本文采用的仿真軟件為MATLAB 2015b,實(shí)驗(yàn)環(huán)境為i7-10750H CPU,2.69 GHz主頻,16 GB運(yùn)行內(nèi)存,操作系統(tǒng)為Windows 10(64位)。
選取粒子群算法(particle swarm optimization,PSO)、金豺優(yōu)化算法(golden jackal optimization,GJO)、樽海鞘群算法(salp swarm slgorithm,SSA)、白骨頂雞算法(COOT)、添加非線性決策因子的白骨頂雞算法(NDFCOOT)、融合Tent映射和萊維飛行的改進(jìn)白骨頂雞算法[18](COOTTLCR)與本文LHCOOT算法進(jìn)行對(duì)比實(shí)驗(yàn),上述算法統(tǒng)一最大迭代次數(shù)為500,種群規(guī)模為30,為降低算法結(jié)果偶然性,皆獨(dú)立運(yùn)行30次。各算法參數(shù)設(shè)置見(jiàn)表1。
表1 對(duì)比算法參數(shù)設(shè)置
為了檢驗(yàn)LHCOOT算法的尋優(yōu)能力,本文選取文獻(xiàn)[18]中的16個(gè)基準(zhǔn)測(cè)試函數(shù)進(jìn)行仿真驗(yàn)證,分別是單峰測(cè)試函數(shù)中的f1~f7,多峰測(cè)試函數(shù)中的f8~f13,固定維測(cè)試函數(shù)中具有代表性的f20、f22、f23,其中單峰與多峰測(cè)試函數(shù)維度為30。
表2中的平均值和標(biāo)準(zhǔn)差分別反映出算法的尋優(yōu)能力和穩(wěn)定性。對(duì)于單峰測(cè)試函數(shù),LHCOOT算法在f1~f4函數(shù)上遠(yuǎn)優(yōu)于其它算法,能夠100%尋到函數(shù)的理論最優(yōu)值。在測(cè)試函數(shù)f6上LHCOOT算法僅僅以微弱的差距次于SSA算法。在f5與f7測(cè)試函數(shù)上,LHCOOT算法也都優(yōu)于其余元啟發(fā)式算法。LHCOOT算法對(duì)單峰函數(shù)良好的尋優(yōu)效果體現(xiàn)了其有著出色的全局搜索能力。
表2 基準(zhǔn)測(cè)試函數(shù)尋優(yōu)結(jié)果對(duì)比
對(duì)于多峰測(cè)試函數(shù),LHCOOT算法在尋優(yōu)精度上均優(yōu)于其它算法。其中,在函數(shù)f9、f11上,LHCOOT算法達(dá)到了100%的尋優(yōu)率。在函數(shù)f12、f13上,LHCOOT算法的尋優(yōu)精度遠(yuǎn)遠(yuǎn)高于其它元啟發(fā)式算法,超過(guò)了2~3倍數(shù)量級(jí)的尋優(yōu)精度。在函數(shù)f8上,LHCOOT算法雖然標(biāo)準(zhǔn)差稍次于COOTTLCR算法,但尋優(yōu)精度仍然保持最優(yōu)。對(duì)于固定維度測(cè)試函數(shù),在函數(shù)f14上,LHCOOT算法僅次于COOTTLCR算法,且已較接近理論最優(yōu)值。在函數(shù)f15、f16上,LHCOOT算法也保持著最好的尋優(yōu)精度。
相較于COOT算法,NDFCOOT算法與LHCOOT算法在f1~f4以及f6函數(shù)上都取得了明顯得進(jìn)步,說(shuō)明引入非線性決策因子,可以提高算法的全局搜索能力,加快算法收斂。而在多峰函數(shù)上NDFCOOT算法表現(xiàn)不佳,說(shuō)明單一的非線性決策因子策略對(duì)后期跳出局部最優(yōu)幫助較低。而添加了柯西變異的LHCOOT算法,可以有效解決多峰函數(shù)上陷入局部極值點(diǎn)的問(wèn)題。
綜上,LHCOOT算法在選取的測(cè)試函數(shù)上的表現(xiàn)優(yōu)于其它6種算法,驗(yàn)證了算法良好的搜索能力和尋優(yōu)精度。
為了更清晰刻畫算法的動(dòng)態(tài)尋優(yōu)性能,圖5給出了PSO、SSA、GJO、NDFCOOT、COOTTLCR、COOT、LHCOOT這7種算法在上述基準(zhǔn)測(cè)試函數(shù)(部分)的收斂曲線。從選擇出的9個(gè)測(cè)試函數(shù)的收斂曲線上,可以看出LHCOOT算法比標(biāo)準(zhǔn)的COOT算法以及其余各個(gè)算法收斂速度更快,收斂精度更高。
圖5 對(duì)比算法收斂曲線
其中,函數(shù)f1和f2尋優(yōu)效果遠(yuǎn)遠(yuǎn)好于其它算法,分別迭代了150次和340次便成功找到理論最優(yōu)值。這歸功于拉丁超立方體抽樣的非重疊采樣和全覆蓋采樣,使得初始種群多樣性遠(yuǎn)高于其它算法的隨機(jī)初始化種群,有效加速算法收斂速度和收斂精度。在函數(shù)f7、f8、f9和f10上,雖然LHCOOT算法尋優(yōu)精度優(yōu)勢(shì)微弱,但收斂速度均為第一,收斂曲線在迭代前期便能迅速下降。在函數(shù)f6上,雖然收斂精度略次于SSA算法,但收斂速度在前期遠(yuǎn)遠(yuǎn)超過(guò)SSA算法。這表明自適應(yīng)動(dòng)態(tài)邊界機(jī)制,生成的邊界空間可以動(dòng)態(tài)跟隨種群的變化,大大加快算法收斂速度。同時(shí)依賴于非線性決策因子有效平衡了算法全局搜索和局部開(kāi)發(fā)過(guò)程,增強(qiáng)了算法的尋優(yōu)能力。
在多峰測(cè)試函數(shù)f12上,LHCOOT算法在500次迭代結(jié)束時(shí)仍然保持著收斂狀態(tài),尋優(yōu)精度仍會(huì)隨著迭代次數(shù)增加而增加。相較于GJO算法和COOT算法等過(guò)早陷入局部最優(yōu),收斂精度提升緩慢甚至停滯,LHCOOT算法由于對(duì)最優(yōu)解使用了柯西擾動(dòng)策略,逃離局部最優(yōu)能力顯著增加。
通過(guò)綜合對(duì)比分析,相較于其它6種元啟發(fā)式算法,LHCOOT算法的收斂速度和收斂精度占優(yōu),且有著較好逃離局部最優(yōu)能力。
為了檢驗(yàn)算法在高維度、大規(guī)模問(wèn)題下的尋優(yōu)能力,選擇LHCOOT算法與PSO、SSA、GJO、COOT算法對(duì)比。對(duì)表1中的單峰函數(shù)f1~f4和多峰函數(shù)f11~f13這7個(gè)基準(zhǔn)測(cè)試函數(shù)在維度D=50/100/300時(shí)進(jìn)行尋優(yōu)。得出的實(shí)驗(yàn)結(jié)果見(jiàn)表3。
表3 不同維度對(duì)比結(jié)果
從實(shí)驗(yàn)結(jié)果可以看出,在各種高維情況下的單峰測(cè)試函數(shù)和多峰測(cè)試函數(shù),LHCOOT算法的尋優(yōu)精度均高于PSO、SSA、GJO、COOT算法。
對(duì)于單峰測(cè)試函數(shù),LHCOOT算法在50/100/300維中,都能夠收斂到理論最優(yōu)值,且標(biāo)準(zhǔn)差皆為0,體現(xiàn)了算法良好的魯棒性和尋優(yōu)能力。而其它4種算法在一定程度上收斂精度會(huì)隨著維度的增加而降低。由此可見(jiàn),LHCOOT算法在求解單峰問(wèn)題上未陷入“維數(shù)災(zāi)難”。
對(duì)于多峰測(cè)試函數(shù),在函數(shù)f11上,LHCOOT算法取得了不錯(cuò)的收斂精度,且收斂精度與30維條件下一致,可見(jiàn)算法對(duì)高維度、大規(guī)模問(wèn)題具有不錯(cuò)的魯棒性。在函數(shù)f12、f13上,雖然LHCOOT算法的收斂精度和標(biāo)準(zhǔn)差未達(dá)到理想值,但收斂精度仍然高出其余各算法1~5個(gè)數(shù)量級(jí)不等。體現(xiàn)了LHCOOT算法具有良好的全局搜索和局部開(kāi)發(fā)能力。
綜上所述,LHCOOT算法在解決高維度、大規(guī)模問(wèn)題時(shí),對(duì)維度的變化不敏感,仍然保證了良好的尋優(yōu)精度。其算法魯棒性、尋優(yōu)能力均優(yōu)于其余4種算法。
秩和檢驗(yàn)又稱為維爾克松兩樣本檢驗(yàn),是一種非參數(shù)統(tǒng)計(jì)檢驗(yàn)??梢宰鳛樗惴ㄐ阅艿脑u(píng)價(jià)指標(biāo)之一,用于驗(yàn)證算法之間是否存在顯著差異。本文基于上文的16個(gè)基準(zhǔn)測(cè)試函數(shù),采用顯著水平p=5%情況下的秩和檢驗(yàn)對(duì)LHCOOT算法與6種原啟發(fā)式算法(PSO、SSA、GJO、NDFCOOT、COOTTLCR、COOT)進(jìn)行差異性檢驗(yàn)。當(dāng)p<5%時(shí),記為“+”,表示LHCOOT算法優(yōu)于對(duì)比算法;當(dāng)p>5%時(shí),記為“-”,表示LHCOOT算法劣于對(duì)比算法;當(dāng)p為“NaN”時(shí),表示不適應(yīng)于顯著性判斷,LHCOOT算法顯著性與對(duì)比算法相近。對(duì)比結(jié)果見(jiàn)表4,在各算法對(duì)比中,大多數(shù)的秩和檢驗(yàn)p值小于顯著水平5%,表示LHCOOT算法整體上與其它算法具有顯著性差異,即LHCOOT算法具有更好的尋優(yōu)性能。
表4 秩和檢驗(yàn)p值
為進(jìn)一步驗(yàn)證LHCOOT算法在處理實(shí)際工程優(yōu)化問(wèn)題的可行性和有效性。本節(jié)使用標(biāo)準(zhǔn)焊接梁設(shè)計(jì)問(wèn)題作為參考驗(yàn)證。
焊接梁設(shè)計(jì)問(wèn)題屬于典型的非線性規(guī)劃問(wèn)題。在滿足設(shè)計(jì)變量的邊界條件和剪切應(yīng)力τ、彎曲應(yīng)力σ、梁條屈曲載荷Pc、末端偏差δ這4個(gè)工程約束指標(biāo)下盡可能降低焊接梁設(shè)計(jì)的制造成本。本節(jié)采用死刑懲罰函數(shù)機(jī)制作為非線性約束[19]。4個(gè)設(shè)計(jì)變量分別是焊縫寬度h、橫梁長(zhǎng)度l、高度d和厚度b。
設(shè)計(jì)變量如式(15)所示
x=[x1,x2,x3,x4]=[h,l,d,b]
(15)
目標(biāo)函數(shù)如式(16)所示
(16)
約束條件如式(17)所示
(17)
式中:τmax=136000 psi,σmax=3000 psi,δmax=0.25 in,P、L、E、G為焊接梁?jiǎn)栴}工程常量,P=6000 lb,L=14 in,E=3×106psi,G=1.2×107psi。psi:磅平方英寸,lb:磅,in:英尺。
表5統(tǒng)計(jì)了LHCOOT算法與粒子群算法(PSO)、算數(shù)優(yōu)化算法(arithmetic optimization algorithm,AOA)[10]、海洋捕食者算法(marine predators algorithm,MPA)[20]、金豺優(yōu)化算法(GJO)[4]、斑點(diǎn)鬣狗優(yōu)化算法(spotted hyena optimizer,SHO)、變色龍群算法(chameleon swarm algorithm,CSA)[21]在求解焊接梁設(shè)計(jì)問(wèn)題的4個(gè)設(shè)計(jì)變量和制造成本。從表中可以看出,LHCOOT算法的焊接梁制造成本最低,說(shuō)明LHCOOT算法在求解此類工程問(wèn)題的尋優(yōu)精度較高,進(jìn)一步驗(yàn)證了算法在實(shí)際應(yīng)用中的優(yōu)越性。
表5 焊接梁設(shè)計(jì)問(wèn)題仿真結(jié)果
針對(duì)COOT算法的尋優(yōu)精度低,易陷入局部最優(yōu)等問(wèn)題,提出了基于拉丁超立方體的改進(jìn)白骨頂雞算法。利用拉丁超立方體抽樣使白骨頂雞初始種群更加均勻化;引入非線性決策因子和自適應(yīng)動(dòng)態(tài)邊界的混合位置更新策略以完善3種運(yùn)動(dòng)的執(zhí)行機(jī)制,權(quán)衡算法全局搜索和局部開(kāi)發(fā)過(guò)程;最后引入柯西變異和貪婪策略對(duì)最優(yōu)位置進(jìn)行擾動(dòng),避免算法過(guò)早收斂。通過(guò)對(duì)16個(gè)基準(zhǔn)測(cè)試函數(shù)、部分高維函數(shù)以及算法秩和檢驗(yàn)的實(shí)驗(yàn),表明LHCOOT算法在收斂速度、收斂精度以及逃離局部最優(yōu)的能力均有了不同程度的提升。通過(guò)實(shí)際工程優(yōu)化問(wèn)題驗(yàn)證算法在解決工程問(wèn)題上的可行性。在下一步工作中,將考慮把算法應(yīng)用到深度學(xué)習(xí)領(lǐng)域,結(jié)合神經(jīng)網(wǎng)絡(luò)進(jìn)行風(fēng)電功率的短期預(yù)測(cè)[22],拓展算法的實(shí)用價(jià)值。