羅仕杭,何 慶
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽550025)
現(xiàn)實(shí)世界優(yōu)化問題的復(fù)雜性和難度不斷增加,呈現(xiàn)出強(qiáng)約束、計(jì)算時(shí)間長、非凸性、搜索空間廣等特征[1],這使得優(yōu)化問題的解決更具挑戰(zhàn)性。 受自然界生物群體進(jìn)化機(jī)制、群體社會(huì)行為規(guī)律以及自然現(xiàn)象規(guī)律的啟發(fā),許多元啟發(fā)式優(yōu)化算法相繼被提出,如阿基米德優(yōu)化算法(Archimedes Optimization Algorithm,AOA)[2]、被囊群算法(Tunicate Swarm Algorithm, TSA)[3]、 天 鷹 座 優(yōu) 化 算 法( Aquila Optimization Algorithm,AO)[4]、哈里斯鷹算法(Harris Hawks Optimization,HHO)[5]。 由于元啟發(fā)式算法無梯度機(jī)制、控制參數(shù)少且具有較高的局部最優(yōu)規(guī)避能力,因此可以很好地求解這些復(fù)雜的優(yōu)化問題。
黑猩猩優(yōu)化算法(Chimp Optimization Algorithm)是Khishe 等人[6]于2020年提出的一種新型元啟發(fā)式優(yōu)化算法,其靈感來源于黑猩猩種群的等級制度和狩獵行為,用數(shù)學(xué)模型模擬黑猩猩種群通過驅(qū)趕、追逐、攻擊等過程達(dá)到最優(yōu)捕食的行為。 ChOA 具有原理簡單、需要調(diào)節(jié)參數(shù)少、易實(shí)現(xiàn)等優(yōu)點(diǎn)。 然而,與經(jīng)典粒子群算法等群智能算法相似,ChOA 也存在收斂速度慢、尋優(yōu)精度低和易陷入局部極值等不足,尤其對于復(fù)雜的多局部極值的高維優(yōu)化問題。
為此,國內(nèi)外學(xué)者對該算法進(jìn)行了改進(jìn):He等[7]利用高破壞性的多項(xiàng)式突變初始化種群,為算法全局搜索奠定基礎(chǔ);Mandeep 等[8]將正余弦函數(shù)應(yīng)用到黑猩猩種群的四個(gè)個(gè)體位置更新處,提高算法的收斂速度和尋優(yōu)精度;Dhiman 等[9]提出了一種混合正余弦算法和斑點(diǎn)鬣狗算法的改進(jìn)黑猩猩優(yōu)化算法,改善了黑猩猩優(yōu)化算法收斂速度慢和易陷入局部極值等缺陷;黃倩等[10]采用單純形法和群個(gè)體記憶機(jī)制對較差個(gè)體進(jìn)行改進(jìn),優(yōu)化種群的位置更新方式,使算法的尋優(yōu)性能得到提升。 上述文獻(xiàn)對黑猩猩優(yōu)化算法的改進(jìn)在一定程度上提高了算法的收斂精度,降低算法陷入局部極小值的概率,但算法的尋優(yōu)精度、穩(wěn)定性、平衡全局搜索和局部開發(fā)能力等方面仍有待提高。
針對黑猩猩優(yōu)化算法的局限性,本文提出融合折射學(xué)習(xí)和改進(jìn)天牛須搜索的黑猩猩優(yōu)化算法(BCRChOA)。 首先,由于天牛須搜索算法在無需確定函數(shù)具體形式和梯度信息等情況下具有高效尋優(yōu)的特點(diǎn),同時(shí)為了增強(qiáng)天牛須算法的搜索能力和搜索效率,本文利用Levy 飛行機(jī)制搜索方向和步長的不確定性將天牛須搜索的固定步長改為動(dòng)態(tài)步長,提高其在搜索空間內(nèi)進(jìn)行深度全局探索的能力,并將其應(yīng)用到黑猩猩優(yōu)化算法的全局搜索階段,有效地提升黑猩猩優(yōu)化算法的搜索性能;其次,根據(jù)種群平均適應(yīng)度將種群分為兩個(gè)組,分別引入不同權(quán)值策略。 當(dāng)個(gè)體的適應(yīng)度小于種群的平均適應(yīng)度,引入一個(gè)較小的慣性權(quán)值,加速算法收斂;反之,利用云模型的云滴具有隨機(jī)性和穩(wěn)定傾向性的特點(diǎn),將云模型引入動(dòng)態(tài)權(quán)值,形成云自適應(yīng)動(dòng)態(tài)權(quán)值,拓寬算法的搜索空間,引導(dǎo)種群向全局最優(yōu)區(qū)域靠攏,達(dá)到平衡算法全局搜索和局部開發(fā)的能力;最后,引入基于折射定律的反向?qū)W習(xí)策略,在保持種群多樣性的同時(shí)降低算法陷入局部最優(yōu)的概率。
通過三類共10 個(gè)基準(zhǔn)測試函數(shù)、部分CEC2014函數(shù)以及1 個(gè)工程優(yōu)化案例進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明BCRChOA 相比于標(biāo)準(zhǔn)ChOA 能在一定程度上有效地幫助算法跳出局部最優(yōu),并且提高了標(biāo)準(zhǔn)ChOA 的收斂速度、求解精度、魯棒性等性能,同時(shí)驗(yàn)證其在實(shí)際工程問題中的適用性和可行性。
ChOA 是根據(jù)自然界中黑猩猩的狩獵行為而衍生出的一種優(yōu)化算法,黑猩猩根據(jù)勞動(dòng)分工執(zhí)行不同的行動(dòng)尋找獵物。 標(biāo)準(zhǔn)的ChOA 將黑猩猩分為四種類型:攻擊者、障礙者、驅(qū)趕者和追逐者,其中攻擊者在狩獵過程中扮演引導(dǎo)種群的重要的角色,其他三類黑猩猩負(fù)責(zé)協(xié)助攻擊者捕獲獵物,其社會(huì)地位依次下降。
黑猩猩包圍獵物的數(shù)學(xué)模型如式(1)所示:
式中:Xprey為獵物的位置向量,Xchimp為當(dāng)前黑猩猩個(gè)體的位置向量,t表示當(dāng)前迭代次數(shù),A、m、C為系數(shù)向量,其數(shù)學(xué)模型如式(2)~式(4)所示:
式中:r1和r2分別為取值[0,1]的隨機(jī)向量;f為收斂因子,其值隨迭代次數(shù)增加從2.5 線性遞減到0,tmax表示最大迭代次數(shù);A是決定黑猩猩與獵物距離的隨機(jī)向量,其值為[-f,f]之間的隨機(jī)數(shù);m為混沌映射矢量,代表性動(dòng)機(jī)對黑猩猩個(gè)體位置影響;C控制著獵物位置對黑猩猩個(gè)體位置的影響,其值為[0,2]之間的隨機(jī)數(shù)。
黑猩猩攻擊獵物的數(shù)學(xué)模型如式(6)~式(9)所示:
式中:Xattacker、Xbarrier、Xchaser、Xdriver分別表示攻擊者、障礙者、追逐者和驅(qū)趕者的位置向量,X(t+1)表示黑猩猩更新后的位置向量。
天牛須搜索算法是Jiang 等人[11]通過模擬天牛的覓食行為而提出的一種元啟發(fā)式算法。 天牛使用它的兩根觸角感知食物氣味最強(qiáng)烈的區(qū)域以達(dá)到覓食的目的。 天牛須搜索算法中天牛在每次迭代中頭的朝向根據(jù)隨機(jī)方向進(jìn)行移動(dòng)。 類似于天牛須搜索算法,黑猩猩優(yōu)化算法中的領(lǐng)導(dǎo)者個(gè)體“攻擊者”可以根據(jù)它的雙耳聽覺確定與獵物的距離,利用左右耳不同位置的聲音判斷是否更新其相對于獵物的位置。 在這個(gè)策略中,“攻擊者”個(gè)體獲得聽覺能力,擴(kuò)大對獵物的搜索范圍,同時(shí)圍繞最優(yōu)解加強(qiáng)后續(xù)的種群迭代,從而提高了算法的全局搜索能力。 天牛須算法實(shí)現(xiàn)過程如下:
(1)對搜索方向進(jìn)行標(biāo)準(zhǔn)化處理,數(shù)學(xué)模型如式(11)所示:
式中:dir 表示方向向量,random(d,1)表示生成空間維度為d的隨機(jī)向量。
(2)基于“攻擊者”個(gè)體的聽力,探索左右區(qū)域的數(shù)學(xué)模型如式(12)所示:
式中:Xattacker(t)表示“攻擊者”個(gè)體在第t次迭代的原始位置向量表示“攻擊者”個(gè)體在第t次迭代向左區(qū)域搜索后的位置向量表示“攻擊者”個(gè)體在第t次迭代向右區(qū)域搜索后的位置向量;η(t)表示第t次迭代黑猩猩聽力感知直徑。
(3)基于搜索行為和聽力檢測,“攻擊者”個(gè)體的新位置如式(13)所示:
式中:s(t)是移動(dòng)步長;f(X)是計(jì)算目標(biāo)函數(shù)的適應(yīng)度值;sign 函數(shù)用來確定“攻擊者”個(gè)體移動(dòng)后的搜索方向,若向右區(qū)域搜索適應(yīng)度較大,則sign 函數(shù)取1,“攻擊者”繼續(xù)向右區(qū)域前進(jìn),反之,向左區(qū)域移動(dòng)。 在標(biāo)準(zhǔn)天牛須搜索算法中,搜索移動(dòng)s(t)一般取0.95 隨迭代次數(shù)線性遞減,在一次迭代過程中只搜索隨機(jī)方向的某一位置,同時(shí)由式(13)可知,“攻擊者”的位置和步長會(huì)隨每一次迭代目標(biāo)函數(shù)的變化而更新,固定步長會(huì)使得“攻擊者”探索范圍受到限制,不利于算法在更大范圍進(jìn)行探索,可能導(dǎo)致算法搜索能力減弱。
因此,為增強(qiáng)“攻擊者”的搜索效率和搜索能力,本文用Levy 飛行機(jī)制的隨機(jī)步長替換天牛須搜索算法中的固定步長,結(jié)合長距離跳躍和短距離游走的交替變化,不僅提高“攻擊者”在廣闊區(qū)域狩獵時(shí)搜索方向的多樣性,而且保證了“攻擊者”在最優(yōu)區(qū)域進(jìn)行精細(xì)搜索,極大程度地提高了算法的全局搜索能力。 圖1 是步長為1000 的Levy 飛行隨機(jī)游走軌跡圖,如圖1 所示,Levy 飛行因短距離游走和長距離跳躍相互穿梭,產(chǎn)生的隨機(jī)步長大小和方向是不確定的,實(shí)現(xiàn)了對求解域的充分搜索。 將Levy飛行機(jī)制引入式(13)后,“攻擊者”個(gè)體位置更新如式(14)所示:
圖1 1000 步長Levy 飛行隨機(jī)游走軌跡圖
式中:Levy 飛行的隨機(jī)步長Levy(λ)由式(15)計(jì)算:
云模型是一個(gè)服從正態(tài)分布規(guī)律、具有穩(wěn)定傾向性的隨機(jī)數(shù)集,由期望值Ex、熵En、超熵He三個(gè)數(shù)字特征表示。 期望值Ex表示云滴在論域空間分布的期望,反映云滴重心位置;熵En表示定性概念的不確定性度量,用來度量定性概念的模糊度和概率,揭示模糊性和隨機(jī)性的關(guān)聯(lián);超熵He是熵的不確定性度量,反映組成云模型的云滴離散程度[12]。 本文采用X-條件云生成器,輸入數(shù)學(xué)期望值Ex、熵En和超熵He,則一維X-條件云滴輸出如式(16)所示:
式中:E′n為服從正態(tài)分布的隨機(jī)數(shù),En為數(shù)學(xué)期望,He為標(biāo)準(zhǔn)差。
本文將云模型引入動(dòng)態(tài)權(quán)值,形成云自適應(yīng)動(dòng)態(tài)權(quán)值,具體實(shí)現(xiàn)過程如下:首先,計(jì)算出所有個(gè)體適應(yīng)度的平均值,然后根據(jù)每個(gè)個(gè)體的適應(yīng)度值將種群分為兩個(gè)子群,采用不同的權(quán)值策略分別優(yōu)化兩個(gè)子群。
(1)當(dāng)個(gè)體適應(yīng)度優(yōu)于平均適應(yīng)度時(shí),則該子群為種群中較優(yōu)的個(gè)體,接近當(dāng)前最優(yōu)解,采用較小的慣性權(quán)值ω1=0.4 加快算法的收斂速度。 將慣性權(quán)值引入“攻擊者”個(gè)體位置更新處,其數(shù)學(xué)模型如式(17)所示:
(2)當(dāng)個(gè)體適應(yīng)度劣于平均適應(yīng)度時(shí),則這個(gè)子群為種群中較差的個(gè)體,采用基于云模型的動(dòng)態(tài)權(quán)值對個(gè)體進(jìn)行非線性調(diào)整。 云自適應(yīng)動(dòng)態(tài)權(quán)值的數(shù)學(xué)模型如式(17)~式(18)所示:
式中:c1和c2為控制參數(shù),其值分別為3 和10;fi為種群的適應(yīng)度值。 將云自適應(yīng)動(dòng)態(tài)權(quán)值加入“攻擊者”個(gè)體位置更新處,其數(shù)學(xué)模型如式(20)所示:
在本文中,利用云模型具有隨機(jī)性和穩(wěn)定性傾向的特點(diǎn)生成云滴,然后計(jì)算云自適應(yīng)動(dòng)態(tài)權(quán)值。從式(20)可知,ω2的值隨適應(yīng)度的增加不斷增大。當(dāng)個(gè)體適應(yīng)度較差時(shí),不利于算法在解空間內(nèi)進(jìn)行覆蓋性搜索,較大的動(dòng)態(tài)權(quán)值具備較強(qiáng)的探索能力,引導(dǎo)算法在更廣闊的區(qū)域進(jìn)行搜索;反之,當(dāng)個(gè)體的適應(yīng)度值較好時(shí),較小的慣性權(quán)值有助于算法專注于在已探索的區(qū)域進(jìn)行精細(xì)搜索,實(shí)現(xiàn)算法全局勘探和局部開采能力的平衡。
由式(6)~式(9)可知,種群中其他黑猩猩個(gè)體位置由“攻擊者”“障礙者”“驅(qū)趕者”和“追逐者”四個(gè)決策個(gè)體共同決定,當(dāng)其他黑猩猩個(gè)體察覺到四個(gè)決策個(gè)體搜索到更好的獵物時(shí)會(huì)涌入到其周圍的搜索區(qū)域,導(dǎo)致種群的多樣性減少,從而使算法陷入局部最優(yōu)。 為解決這一問題,本文提出一種基于折射定律的反向?qū)W習(xí)策略,計(jì)算候選解的反向解,選擇較好的解繼續(xù)迭代計(jì)算,增強(qiáng)算法的多樣性,幫助算法跳出局部極值空間。
如圖2 可知,O是[a,b]的中心點(diǎn),全局最優(yōu)個(gè)體X以O(shè)為中心點(diǎn)找到其對應(yīng)的反向個(gè)體X′,則根據(jù)折射定律可以得出:
圖2 一維空間折射反向?qū)W習(xí)示意圖
設(shè)縮放因子φ=h/h′,對式(21)進(jìn)行推導(dǎo)得到反向個(gè)體X′的數(shù)學(xué)模型,如式(22)所示:
將式(22)擴(kuò)展到n維空間可得:
式中:ubj和lbj分別表示上界的第j維向量和下界的第j維向量;Xj和X′j分別表示X和X′的第j維向量。 通過對種群中最優(yōu)解進(jìn)行折射反向?qū)W習(xí),將各維度值映射到解空間得到反向解,不僅避免各維度之間的干擾,而且擴(kuò)大算法的搜索范圍。
雖然基于折射定律的反向?qū)W習(xí)策略能夠提高算法的求解精度,在很大程度上幫助算法跳出局部最優(yōu),但是無法直接判斷產(chǎn)生的新個(gè)體位置是否優(yōu)于原始個(gè)體位置。 因此,采用貪婪策略比較新舊個(gè)體適應(yīng)度值,再?zèng)Q定是否更新個(gè)體位置,通過這種方式不斷將更優(yōu)解加入迭代計(jì)算,從而提升算法的尋優(yōu)性能。 貪婪策略的數(shù)學(xué)模型如式(24)所示:
綜上改進(jìn)策略,BCRChOA 執(zhí)行步驟如下:
BCRChOA 的時(shí)間復(fù)雜度主要由Levy 飛行機(jī)制改進(jìn)的天牛須搜索算法、云自適應(yīng)動(dòng)態(tài)權(quán)值、基于折射定律的反向?qū)W習(xí)策略組成。 設(shè)BCRChOA 的種群規(guī)模為N,搜索空間維度為d,最大迭代次數(shù)為T,則標(biāo)準(zhǔn)BCRChOA 的時(shí)間復(fù)雜度為O(N×d×T)。
(1)Levy 飛行機(jī)制改進(jìn)的天牛須搜索算法:“攻擊者”個(gè)體向右區(qū)域搜索所需時(shí)間為t1,向左區(qū)域搜索所需時(shí)間為t2,產(chǎn)生Levy 飛行隨機(jī)步長所需時(shí)間為t3,每一次按照式(14)更新“攻擊者”位置所需時(shí)間為t4,所以Levy 飛行機(jī)制改進(jìn)的天牛須算法的時(shí)間復(fù)雜度為O[N×d×T×t4+(t1+t2+t3)]=O(N×d×T);
(2)云自適應(yīng)動(dòng)態(tài)權(quán)值:采用X-條件云生成器,輸入數(shù)學(xué)期望值Ex、熵En和超熵He所需時(shí)間為t5,則引入云自適應(yīng)動(dòng)態(tài)權(quán)值的時(shí)間復(fù)雜度為O(N×d×T+t5)=O(N×d×T);
(3)基于折射定律的反向?qū)W習(xí)策略:執(zhí)行折射定律的反向?qū)W習(xí)所需時(shí)間為t6,利用貪婪策略比較新舊個(gè)體適應(yīng)度所需時(shí)間為t7,保留最優(yōu)位置時(shí)間為t8,每一維按照式(22)更新個(gè)體位置所需時(shí)間為t9,則基于折射定律的反向?qū)W習(xí)策略所需時(shí)間為O[N×d×T×(t7+t9)+(t6+t8)]=O(N×d×T)。
因此,BCRChOA 的時(shí)間復(fù)雜度為O(N×d×T)+O(N×d×T)+O(N×d×T)=O(N×d×T)。
綜上所述,BCRChOA 的時(shí)間復(fù)雜度與ChOA 一致,本文針對標(biāo)準(zhǔn)ChOA 的缺陷所提出的改進(jìn)策略沒有增加算法時(shí)間復(fù)雜度。
仿真實(shí)驗(yàn)環(huán)境設(shè)置為64 位Windows 10 操作系統(tǒng),CPU 為Intel(R) Core(TM) i5-7500,主頻為3.4 GHz,內(nèi)存為8 GB,編程軟件為MATLAB R2021a。
本文挑選10 個(gè)具有不同特征的基準(zhǔn)測試函數(shù)進(jìn)行仿真實(shí)驗(yàn),選取的測試函數(shù)分為三類:第一類為單模態(tài)測試函數(shù)f1~f4,用來評價(jià)算法的尋優(yōu)精度和收斂速度,第二類為多模態(tài)測試函數(shù)f5~f8,用來測試算法的探索能力和跳出局部最優(yōu)的能力,第三類為固定多模態(tài)測試函數(shù)f9~f10,用來評價(jià)算法的綜合能力,具體信息如表1 所示。 本文選取最新的元啟發(fā)式算法—天鷹座優(yōu)化算法(AO)、被囊群算法(TSA)、阿基米德優(yōu)化算法(AOA)、哈里斯鷹算法(HHO)以及最新改進(jìn)的哈里斯鷹算法(EGHHO)[13]、黑猩猩優(yōu)化算法(EChOA、SChoA、EOSMICOA)進(jìn)行比較,它們的參數(shù)設(shè)置如表2 所示。
表1 基準(zhǔn)測試函數(shù)
表2 算法參數(shù)設(shè)置
為充分驗(yàn)證本文所提改進(jìn)策略的優(yōu)化效果,將標(biāo)準(zhǔn)ChOA 與本文加入Levy 飛行機(jī)制改進(jìn)的天牛須搜索算法(BChOA)、添加云自適應(yīng)動(dòng)態(tài)權(quán)值算法(CChOA)、引入基于折射定律的反向?qū)W習(xí)策略算法(RChOA)、融合三種改進(jìn)策略的改進(jìn)黑猩猩優(yōu)化算法(BCRChOA),在10 個(gè)具有不同尋優(yōu)特征的基準(zhǔn)測試函數(shù)上進(jìn)行30 次獨(dú)立尋優(yōu),并記錄30 次獨(dú)立尋優(yōu)的最優(yōu)值、最差值、平均值和標(biāo)準(zhǔn)差。 其中,最優(yōu)值和最差值反映算法單次的尋優(yōu)能力,平均值體現(xiàn)算法運(yùn)行30 次所能達(dá)到的收斂精度,標(biāo)準(zhǔn)差則體現(xiàn)算法的穩(wěn)定性和魯棒性。 算法參數(shù)統(tǒng)一設(shè)置為:種群規(guī)模N=30,搜索空間維度dim=30,最大迭代次數(shù)tmax=500。 尋優(yōu)結(jié)果如表3、表4 和5 所示:
表3 的實(shí)驗(yàn)結(jié)果表明:對于單模態(tài)測試函數(shù)f1~f4,BCRChOA 均能尋到理論最優(yōu)值,且穩(wěn)定性極強(qiáng)。 同時(shí)BChOA 與RChOA 也能達(dá)到理論最優(yōu)值,說明Levy 飛行機(jī)制改進(jìn)的天牛須搜索算法可以幫助種群深度挖掘全局最優(yōu)值,極大程度地提高了算法的全局搜索能力;基于折射定律的反向?qū)W習(xí)策略增強(qiáng)算法具有跳出局部最優(yōu)的能力,提高算法的收斂精度。 僅采用云自適應(yīng)動(dòng)態(tài)權(quán)值策略對算法的改進(jìn)有限,但是相較于標(biāo)準(zhǔn)ChOA 的尋優(yōu)精度和穩(wěn)定性仍然提高10 多個(gè)數(shù)量級。
表4 的實(shí)驗(yàn)結(jié)果表明:對于多模態(tài)測試函數(shù)f5~f8,大量局部極小值分布在其解空間中,算法進(jìn)行全局尋優(yōu)存在一定難度。 BCRChOA 同其他對比算法在求解函數(shù)f6時(shí),均陷入局部極值空間,出現(xiàn)尋優(yōu)停滯現(xiàn)象,但是BCRChOA 具有更高的收斂精度和穩(wěn)定性。 BCRChOA 在求解其他多模態(tài)測試函數(shù)時(shí),均可以達(dá)到理論最優(yōu)值,且求解結(jié)果標(biāo)準(zhǔn)差穩(wěn)定。
表5 的實(shí)驗(yàn)結(jié)果表明:對于固定多模態(tài)函數(shù)f9~f10,全局最優(yōu)值被大量的局部最優(yōu)值所包圍,導(dǎo)致算法很難找到全局最優(yōu)值。 BCRChOA 求解函數(shù)f9時(shí),雖未尋到理論最優(yōu)值,但其平均值和標(biāo)準(zhǔn)差均優(yōu)于其他對比算法。 在函數(shù)f10上,BCRChOA 收斂到理論最優(yōu)值,且標(biāo)準(zhǔn)差低于BChOA、CChOA 和RChOA,說明BCRChOA 具有更強(qiáng)的穩(wěn)定性和魯棒性。
由表3、表4 和表5 中的平均耗時(shí)可知,在函數(shù)f1~f10上,BCRChOA 的平均耗時(shí)相較于標(biāo)準(zhǔn)ChOA的算法耗時(shí)有略微降低,說明融合三種改進(jìn)策略的BCRChOA 在綜合尋優(yōu)能力上有顯著提高。 在求解函數(shù)f1~f10時(shí),BCRChOA 的平均耗時(shí)分別要比RChOA 稍長,這是因?yàn)锽CRChOA 在尋優(yōu)時(shí)引入更多參數(shù),使其在解空間中搜索到更多解,導(dǎo)致耗時(shí)變長,但與其他RChOA 相比差異不大,在可接受的范圍內(nèi)。 從綜合平均耗時(shí)可以看出,本文改進(jìn)算法的平均耗時(shí)比標(biāo)準(zhǔn)ChOA 短,證明本文所提三個(gè)改進(jìn)策略沒有增加算法的時(shí)間復(fù)雜度。
表3 不同改進(jìn)策略對單模態(tài)測試函數(shù)(f1 ~f4)的優(yōu)化結(jié)果對比
表4 不同改進(jìn)策略對多模態(tài)測試函數(shù)(f5 ~f8)的優(yōu)化結(jié)果對比
表5 不同改進(jìn)策略對固定多模態(tài)測試函數(shù)(f9 ~f10)的優(yōu)化結(jié)果對比
為了反映BCRChOA 的動(dòng)態(tài)收斂特性,在搜索維度為30,獨(dú)立運(yùn)行30 次的條件下,縱坐標(biāo)取以10為底的對數(shù),采用平均收斂曲線圖描述算法的收斂性。 圖3(a)~(j)給出了10 個(gè)基準(zhǔn)測試函數(shù)的平均收斂曲線圖。
由圖3 可知,在單模態(tài)測試函數(shù)和多模態(tài)測試函數(shù)上,BCRChOA 在相同的迭代次數(shù)下具有更高的尋優(yōu)精度、求解效率和更快的收斂速度,表明BCRChOA在保證開拓能力的同時(shí)也能充分保證探索能力,不失種群多樣性和尋優(yōu)穩(wěn)定性。 對于函數(shù)f6,雖然BCRChOA 與其他對比算法一樣,陷入局部最優(yōu)難以跳出,但是通過融合三種策略,尤其是基于折射定律的反向?qū)W習(xí)策略,可以協(xié)助算法有效地跳出局部最優(yōu),獲得較高的求解精度。 總體來看,BCRChOA 的平均收斂曲線均位于4 種對比算法平均收斂曲線下方,且達(dá)到理論最優(yōu)值所需的最少迭代次數(shù)。
綜合表3、表4 和表5 的仿真實(shí)驗(yàn)結(jié)果和圖3 的平均收斂曲線圖,可以看出,BCRChOA 相較于對比算法具有更高的尋優(yōu)精度和更快的收斂速度以及更強(qiáng)的穩(wěn)定性,且實(shí)時(shí)性表現(xiàn)良好,驗(yàn)證了本文所提算法的有效性,達(dá)到了對標(biāo)準(zhǔn)ChOA 進(jìn)行改進(jìn)的目的。
圖3 5 種算法的平均收斂曲線圖
為進(jìn)一步驗(yàn)證BCRChOA 的有效性和優(yōu)越性,本文將BCRChOA 與天鷹座優(yōu)化算法(AO)、被囊群算法(TSA)、阿基米德優(yōu)化算法(AOA)、哈里斯鷹算法(HHO)以及最新改進(jìn)的哈里斯鷹算法(EGHHO)、三種改進(jìn)黑猩猩優(yōu)化算法(EOSMICOA、SChoA、EChOA)進(jìn)行對比,其中EChOA、SChoA、EOSMICOA、EGHHO的數(shù)據(jù)分別來源于文獻(xiàn)[7,8,10,13],采用與所選文獻(xiàn)相同的實(shí)驗(yàn)參數(shù)設(shè)置(種群規(guī)模N=30,最大迭代次數(shù)tmax=500),對于每個(gè)基準(zhǔn)測試函數(shù)的搜索維度分別設(shè)置為30/500/1000,各算法獨(dú)立運(yùn)行30 次,將平均值和標(biāo)準(zhǔn)差作為評價(jià)指標(biāo),結(jié)果如表6、表7 和8所示(“—”為缺失數(shù)據(jù))。
由表6 和表7 可知,無論是求解單模態(tài)測試函數(shù)還是多模態(tài)測試函數(shù)函數(shù),BCRChOA 的尋優(yōu)精度和魯棒性是9 種算法中最好的,尤其是對于函數(shù)f2、f4和f8,8 種對比算法求解精度低或無法求解時(shí),BCRChOA 求解效果達(dá)到100%,可以尋到理論最優(yōu)值。
表6 9 種算法對單模態(tài)測試函數(shù)優(yōu)化結(jié)果比較
表7 9 種算法對多模態(tài)測試函數(shù)優(yōu)化結(jié)果比較
由表8 可知,對于固定多模態(tài)測試函數(shù)f9~f10,BCRChOA 的求解結(jié)果非常接近或等于理論最優(yōu)值。 當(dāng)搜索空間維度從30 維上升到500 維再上升到1000 維時(shí),尋優(yōu)過程需要更多計(jì)算,導(dǎo)致算法的搜索精度和穩(wěn)定性均有不同程度下降,但是相較于8 種對比算法,BCRChOA 仍具有最高尋優(yōu)精度。 因此,BCRChOA 在求解低維和高維問題時(shí),尋優(yōu)性能和穩(wěn)定性相對更好,進(jìn)一步佐證了BCRChOA 在解決高維復(fù)雜的優(yōu)化問題時(shí)具有顯著的競爭優(yōu)勢。
表8 9 種算法對固定多模態(tài)測試函數(shù)優(yōu)化結(jié)果比較
為了更進(jìn)一步驗(yàn)證BCRChOA 解決具有復(fù)雜特征的問題時(shí)的有效性和魯棒性,本文將BCRChOA應(yīng)用于優(yōu)化部分CEC2014 測試函數(shù),所選取的函數(shù)類型包括單峰函數(shù)、多峰函數(shù)、混合和復(fù)雜的合成函數(shù),其詳細(xì)信息如表9 所示。 本文選用BCRChOA與ChOA、HHO 算法、AO 算法、TSA、AOA 算法優(yōu)化9 個(gè)CEC2014 測試函數(shù)。 實(shí)驗(yàn)參數(shù)設(shè)置空間維度為30,最大迭代次數(shù)為1000,每個(gè)算法分別獨(dú)立運(yùn)行30 次,優(yōu)化結(jié)果如表10 所示。
表9 部分CEC2014 函數(shù)介紹
表10 不同算法對CEC2014 測試函數(shù)優(yōu)化結(jié)果比較
由表10 可知,在單峰函數(shù)CEC03 上,AOA 表現(xiàn)最好,而BCRChOA 求解精度低于標(biāo)準(zhǔn)AOA,這是因?yàn)長evy 飛行機(jī)制改進(jìn)的天牛搜索算法需要進(jìn)行更多的參數(shù)計(jì)算,造成尋優(yōu)精度有所下降。 對于多峰函數(shù)CEC06、CEC12,BCRChOA 尋優(yōu)性能排名第一,同時(shí)在CEC16 上,BCRChOA 與HHO 算法、AO 算法、TSA、AOA 求解精度并列第一,但是BCRChOA具有更小的標(biāo)準(zhǔn)差,說明其穩(wěn)定性更好。 對于混合函數(shù)CEC19,BCRChOA 尋優(yōu)精度更加接近理論最優(yōu)值。 在復(fù)雜的合成函數(shù)CEC23、CEC24 和CEC25上,BCRChOA 的標(biāo)準(zhǔn)差為0,說明其求解復(fù)合特征函數(shù)時(shí)具有極強(qiáng)的穩(wěn)定性和魯棒性。 綜上尋優(yōu)結(jié)果分析表明,BCRChOA 在解決具有復(fù)雜特征的問題時(shí)具有明顯競爭優(yōu)勢。
工程優(yōu)化問題是在科學(xué)和工程應(yīng)用領(lǐng)域中常見的約束優(yōu)化問題。 本文將所提的新型元啟發(fā)式優(yōu)化算法BCRChOA 用于優(yōu)化工程設(shè)計(jì)問題,進(jìn)一步驗(yàn)證所提算法的可行性和適用性。 約束優(yōu)化問題的數(shù)學(xué)模型描述如式(25)所示[14]:
式中:f(x)為目標(biāo)函數(shù),x為決策變量,x=(x1,x2,x3…xn)∈Rn,g1,g2,…,gm和hm+1,hm+2,…,hn是域中的實(shí)值函數(shù)。
約束條件的處理是求解約束優(yōu)化問題的關(guān)鍵。在實(shí)際工程優(yōu)化問題中,最常見的方法是在目標(biāo)函數(shù)上添加一個(gè)“懲罰項(xiàng)”,將約束定義為一個(gè)整體,其滿足約束而不影響解,從而將約束問題轉(zhuǎn)換為無約束的優(yōu)化問題[15]。 懲罰函數(shù)的數(shù)學(xué)模型如式(26)所示:
式中:f(x)為目標(biāo)函數(shù),不等式懲罰系數(shù)為k1,等式懲罰系數(shù)為k2,gi(x)是不等式約束,hi(x)是等式約束,b1和b2的定義如式(27)所示:
本文利用BCRChOA 優(yōu)化減速器設(shè)計(jì)。 仿真實(shí)驗(yàn)將BCRChOA 與ChOA、引力搜索算法(Gravitational Search Algorithm,GSA)[16]、正余弦算法(Sine Cosine Algorithm,SCA)[17]、HHO 算法、AO 算法、TSA、粒子群算法(Particle Swarm Optimization,PSO)[18]、樽海鞘群算法(Salp Swarm Algorithm,SSA)[19]、鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)[20]、灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)[21]、帝王企鵝優(yōu)化算法(Emperor Penguin Optimizer,EPO)[22]、多元宇宙優(yōu)化算法(Multi-Verse Optimizer,MVO)[23]、斑鬣狗優(yōu)化算法(Spotted Hyena Optimizer,SHO)[24]、混合螢火蟲粒子群算法(Hybrid Firefly and Particle Swarm Optimization Algorithm,HFPSO)[25]、改進(jìn)的黑猩猩優(yōu)化算法(Enhanced Chimp Optimization Algorithm,EChOA)、AOA、均衡優(yōu)化算法(Equilibrium Optimizer,EO)[26]進(jìn)行實(shí)驗(yàn)對比。 為了保證實(shí)驗(yàn)的公平性,選取與文獻(xiàn)測試參數(shù)一致,設(shè)置種群大小為50,最大迭代次數(shù)為1000,每個(gè)算法獨(dú)立運(yùn)行30 次后取平均值。
減速器設(shè)計(jì)是在7 個(gè)決策變量和11 個(gè)約束條件下,以找到減速器的最小重量為優(yōu)化目標(biāo)。 決策變量分別為面寬(b)、齒輪模數(shù)(m)、小齒輪上的齒數(shù)(p)、軸承之間第一軸的長度(l1)、軸承之間第二軸的長度(l2)、第一軸直徑(d1)、第二軸的直徑(d2),其結(jié)構(gòu)設(shè)計(jì)示意如圖4 所示。
圖4 減速器設(shè)計(jì)示意圖
減速器設(shè)計(jì)的數(shù)學(xué)模型如下:
根據(jù)表11 給出的BCRChOA 與其他算法優(yōu)化減速器設(shè)計(jì)的結(jié)果,BCRChOA 獲得的最優(yōu)解為[b,m,p,l1,l2,d1,d2] =[3.192,0.700,17.000,7.300,7.666,3.538,5.317],最優(yōu)值f(z)= 2982.921,表明BCRChOA 能在最小化減速器重量上獲得最佳解決方案,其有效性優(yōu)于其他對比算法。 通過減速器設(shè)計(jì)實(shí)例進(jìn)一步佐證BCRChOA 在實(shí)際工程問題中的可行性和適用性。
表11 不同算法求解減速器設(shè)計(jì)問題的優(yōu)化結(jié)果對比
為改善標(biāo)準(zhǔn)ChOA 存在全局搜索能力弱、收斂精度低、易陷入局部最優(yōu)等不足,本文在黑猩猩優(yōu)化算法的全局搜索階段采用Levy 飛機(jī)機(jī)制改進(jìn)的天牛須搜索算法,利用天牛須搜索算法具有較強(qiáng)的搜索能力和Levy 飛行機(jī)制隨機(jī)步長搜索大小和方向的不確定性來增強(qiáng)黑猩猩種群搜索的多元性,進(jìn)而提高算法的全局探索能力;其次,采用云自適應(yīng)動(dòng)態(tài)權(quán)值平衡算法全局探索和局部開發(fā)能力;最后,將基于折射定律的反向?qū)W習(xí)策略生成的反向解應(yīng)用到當(dāng)前最優(yōu)解,對種群在局部階段聚集程度進(jìn)行分析,生成的動(dòng)態(tài)解不僅增強(qiáng)算法的多樣性,而且協(xié)助算法跳出局部最優(yōu)。 通過10 個(gè)基準(zhǔn)測試函數(shù)、部分CEC2014 測試函數(shù)驗(yàn)證了BCRChOA 的尋優(yōu)精度、收斂速度和魯棒性均較對比算法有顯著提升,同時(shí)通過減速器設(shè)計(jì)工程案例優(yōu)化問題進(jìn)一步驗(yàn)證BCRChOA 在實(shí)際應(yīng)用中的可行性和適用性,為解決復(fù)雜約束問題提供一條有效途徑。 下一步研究工作是將BCRChOA 用于求解多目標(biāo)優(yōu)化問題。