摘要:針對(duì)郊狼優(yōu)化算法隨著迭代運(yùn)行種群多樣性降低、收斂速度變慢、易陷入局部最優(yōu)及在求解約束優(yōu)化問(wèn)題時(shí)難以獲得可行解的問(wèn)題,提出動(dòng)態(tài)調(diào)整成長(zhǎng)方式的郊狼優(yōu)化算法。首先在狼群進(jìn)化中引入變異交叉策略,增強(qiáng)種群多樣性;然后在郊狼成長(zhǎng)策略中加入全局最優(yōu)個(gè)體指導(dǎo)搜索,使得每個(gè)子種群中的個(gè)體從不同的方向快速逼近最優(yōu)解位置,并根據(jù)種群中個(gè)體相似度對(duì)郊狼位置更新方式進(jìn)行調(diào)整,平衡算法的全局探索與局部開(kāi)發(fā)能力。在求解約束優(yōu)化問(wèn)題時(shí),利用一種自適應(yīng)約束處理方法構(gòu)建新的適應(yīng)度函數(shù),協(xié)調(diào)優(yōu)化目標(biāo)和約束違反度。對(duì) CEC2006 提出的 22 個(gè)測(cè)試函數(shù)和三個(gè)工程設(shè)計(jì)問(wèn)題進(jìn)行仿真。結(jié)果表明相比對(duì)比算法,其收斂精度和穩(wěn)定性都具有較高競(jìng)爭(zhēng)性,可有效求解復(fù)雜優(yōu)化問(wèn)題。
嚴(yán)逍亞; 王振雷; 王昕, 計(jì)算機(jī)工程 發(fā)表時(shí)間:2021-10-13
關(guān)鍵詞:郊狼優(yōu)化算法;變異交叉;約束處理;測(cè)試函數(shù);工程優(yōu)化
0 概述
在科學(xué)研究和工程應(yīng)用中,來(lái)自不同領(lǐng)域亟待解決的優(yōu)化問(wèn)題越來(lái)越多,它們大多為具有不確定性、多峰值、多模態(tài)特性的復(fù)雜優(yōu)化問(wèn)題。隨著優(yōu)化問(wèn)題的復(fù)雜性增加,傳統(tǒng)的數(shù)學(xué)方法很難有效地處理此類復(fù)雜優(yōu)化問(wèn)題。此外,很多實(shí)際應(yīng)用中的優(yōu)化問(wèn)題都需要在滿足不同類型的約束條件下,進(jìn)一步追求解的質(zhì)量,因?yàn)楦鞣N各樣約束條件的存在,縮減了問(wèn)題的可行區(qū)域,搜索過(guò)程變得復(fù)雜,這更增加了計(jì)算的復(fù)雜性和求解的難度。
對(duì)比經(jīng)典的數(shù)學(xué)優(yōu)化方法,智能算法具有結(jié)構(gòu)簡(jiǎn)單、適用性強(qiáng)、參數(shù)較少、魯棒性強(qiáng)等優(yōu)點(diǎn),這些進(jìn)化算法往往同合適的約束處理方法結(jié)合,從而更有效地處理約束,成為優(yōu)化領(lǐng)域研究發(fā)展的趨勢(shì)之一。如粒子群算法[1,2]、差分進(jìn)化算法[3]、教學(xué)優(yōu)化算法[4,5]、人工蜂群算法[6]、鯨魚(yú)優(yōu)化算法[7]和水波優(yōu)化算法[8]等。進(jìn)化算法與約束處理方法結(jié)合方式多樣,如文獻(xiàn)[4]針對(duì)算法尋優(yōu)時(shí)出現(xiàn)的不同情況分別調(diào)用合適的約束處理方法,從而提高了對(duì)約束條件處理的有效性。文獻(xiàn)[9]提出一種由學(xué)習(xí)和進(jìn)化兩個(gè)階段構(gòu)成的約束進(jìn)化算法。學(xué)習(xí)階段用于挖掘約束與目標(biāo)函數(shù)之間的相關(guān)性,進(jìn)化階段利用相關(guān)性通過(guò)加權(quán)更新方法和存檔替換機(jī)制進(jìn)行約束優(yōu)化。文獻(xiàn)[10]設(shè)計(jì)了一種兩階段約束進(jìn)化方法,通過(guò)當(dāng)前種群的狀態(tài)調(diào)整適應(yīng)度評(píng)價(jià)策略,使種群在一個(gè)階段中跨越不可行區(qū)到達(dá)可行域,在另一個(gè)階段沿著可行邊界擴(kuò)散,以自適應(yīng)地平衡目標(biāo)和約束條件。雖然許多群智能算法已在求解約束優(yōu)化領(lǐng)域取得了較好的表現(xiàn),但尋優(yōu)精度、穩(wěn)定性都有進(jìn)一步提升的空間。因此,設(shè)計(jì)尋優(yōu)精度更高、穩(wěn)定性更高的算法依然是研究的熱點(diǎn)。
郊狼優(yōu)化算法(Coyote Optimization Algorithm, COA)為 J.Pierezan[11]教授在 2018 年提出的一種模擬郊狼成長(zhǎng)、生死等現(xiàn)象的新型群智能算法,其獨(dú)特的算法結(jié)構(gòu)為優(yōu)化過(guò)程中探索與開(kāi)發(fā)的平衡提供了新的機(jī)制,故不少學(xué)者對(duì)其進(jìn)行研究,并應(yīng)用到電力系統(tǒng)和物聯(lián)網(wǎng)等領(lǐng)域[12-16]。文獻(xiàn)[17]對(duì)基礎(chǔ) COA 算法進(jìn)行了改進(jìn),利用全局最優(yōu)指導(dǎo)最差郊狼更新,同時(shí)加入了一種隨機(jī)擾動(dòng)操作,來(lái)增加種群的多樣性,使算法能更大范圍的進(jìn)行全局尋優(yōu)。文獻(xiàn)[18] 提出一種相互作用的文化趨勢(shì),使其值受到子種群個(gè)體彼此間作用的影響,從而增強(qiáng)了算法的全局搜索能力,將改進(jìn)后的郊狼優(yōu)化算法應(yīng)用到了醫(yī)學(xué)圖像增強(qiáng)問(wèn)題上,獲得了滿意的表現(xiàn)。文獻(xiàn)[19]用組外貪心策略取代原 COA 算法的組內(nèi)貪心策略,提高了算法的運(yùn)行速度,同時(shí)通過(guò)郊狼間信息共享的方式,增加了種群多樣性。Juliano Pierezan等人[20]將 COA 和文化算法聯(lián)系起來(lái),提出了文化郊狼算法,改善了 COA 算法在探測(cè)與開(kāi)發(fā)之間的平衡。
雖然 COA 算法貢獻(xiàn)了不同的算法結(jié)構(gòu)和機(jī)制來(lái)實(shí)現(xiàn)優(yōu)化過(guò)程中探索和開(kāi)發(fā)兩者之間的平衡[15]。但是在下列方面還有待提升:a)COA 通過(guò)子種群內(nèi)頭狼和組文化趨勢(shì)兩者來(lái)指導(dǎo)組內(nèi)郊狼社會(huì)位置更新,雖然增強(qiáng)了算法的開(kāi)發(fā)能力,但在求解具有多個(gè)局部極值的優(yōu)化問(wèn)題時(shí),子種群中頭狼處于局部最優(yōu)位置的概率大大增加,由于頭狼在搜索中的指導(dǎo)作用,子種群中其余郊狼很容易被頭狼引導(dǎo)至其處于的局部最優(yōu)位置,從而造成算法的早熟收斂。 b)在 COA 算法中,每次迭代時(shí),子種群內(nèi)郊狼在相同的頭狼和組文化趨勢(shì)指導(dǎo)下一直保持著恒定的成長(zhǎng)方式,隨著迭代的進(jìn)行,種群相似度變高,弱化了算法的搜索能力。c)子種群內(nèi)郊狼的信息共享程度不高,在求解復(fù)雜優(yōu)化問(wèn)題時(shí),全局搜索能力較弱。
本文提出一種動(dòng)態(tài)調(diào)整成長(zhǎng)方式的郊狼優(yōu)化算法(Coyote Optimization Algorithm with Dynamically Adjusting Growth Mode,DGCOA)。首先,引入變異交叉策略,增強(qiáng)了種群多樣性,然后,提出了一種新的郊狼成長(zhǎng)更新方法,該方法不僅加入了全局最優(yōu)個(gè)體來(lái)指導(dǎo)搜索,并且在新的成長(zhǎng)更新策略中,可以根據(jù)種群中個(gè)體相似度的變化及時(shí)對(duì)郊狼成長(zhǎng)方式進(jìn)行調(diào)整,彌補(bǔ)了基礎(chǔ) COA 不同個(gè)體間信息交互不足的問(wèn)題,平衡了算法全局探索和局部開(kāi)發(fā)能力。最后,為提高算法處理約束優(yōu)化問(wèn)題時(shí)的效率,將改進(jìn)后的 COA 算法與一種自適應(yīng)約束處理方法相結(jié)合,以協(xié)調(diào)優(yōu)化目標(biāo)和約束違反度。
1 郊狼優(yōu)化算法
1.1 種群初始化并隨機(jī)分組
在郊狼算法中,解個(gè)體被隨機(jī)分為 N p 個(gè)子種群,每個(gè)子種群中包含 Nc 只個(gè)體。第 p 個(gè)子種群里第 c 只郊狼個(gè)體在第 j 維的初始位置可表示為: ( ) , j j j j p c j soc ? lb ? r ? ub ? lb (1)其中, j lb 和 j ub 分別代表第 j 維搜索空間的下限和上限; j r 為[0,1]內(nèi)的一個(gè)隨機(jī)數(shù)。每只郊狼對(duì)環(huán)境的適應(yīng)度可用目標(biāo)函數(shù)值來(lái)表示為: ( ) p c p c fit ? f soc (2)
1.2 郊狼成長(zhǎng)
郊狼成長(zhǎng)受到所在子種群的頭狼 alpha 和文化趨勢(shì) p t j cult , 影響: { arg min ( )} , {1,2, , } , , p t c N c p t c p t alpha soc fit soc ? ? c ?(3)???????? ???其它是奇數(shù) 2 O O O p,t 1), j 2 N ( p,t ,j 2 N p,t ,j 2 (N 1) , c c c c p t j N cult (4)其中, p t O , 代表郊狼的社會(huì)位置排名。二者的影響因子? 1 和? 2 可按下式計(jì)算: p t cr p t alpha soc , , 1 1 ? ? ? (5) p t cr p t cult soc , , 2 2 ? ? ? (6)其中, 1 cr 和 2 cr 為在該子種群內(nèi)任意選擇的兩只郊狼。郊狼新的社會(huì)位置可按下式計(jì)算: 1 1 2 2 , , new_ soc ? soc ? r ?? ? r ?? p t c p t c (7) 其中, 1 r 和 2 r 為[0,1]內(nèi)的隨機(jī)數(shù)。 COA 算法擇優(yōu)選擇對(duì)環(huán)境適應(yīng)度更高的郊狼保存下來(lái),該過(guò)程可表示為:???????? p t c p t c p t c p t c p t c p t p t c c soc new fit fit new soc new fit fit soc , , , , 1 , , , 1 _ _ _ (8)
1.3 郊狼生死
COA 算法用 age N p t c ? , 來(lái)表示郊狼的年齡,結(jié)合郊狼位置信息和環(huán)境因素影響來(lái)產(chǎn)生新狼:?????? ? ?? ?? otherwise otherwise or or 2 , , 1 , , , 2 1 j j s a p t r j j s p t r j p t c R soc rand P P j j soc rand P j j pup (9)其中, 1 r 和 2 r 為在第 p 個(gè)群落里任意選擇的兩只郊狼; 1 j 和 2 j 為任意選擇的兩個(gè)自變量維度; Ps 為離散概率; Pa 為關(guān)聯(lián)概率; R j 為第 j 維自變量取值范圍內(nèi)的任意數(shù);?[0,1] j rand 是對(duì)應(yīng)第 j 維的隨機(jī)數(shù)。 Ps 和 Pa 可用公式表示為: PS ?1 D (10)Pa ? (1? Ps )/ 2 (11)其具體出生死亡選擇過(guò)程可用算法 1 描述。其中?代表第 p 個(gè)子種群內(nèi)比新出生的小狼適應(yīng)度低的郊狼;?代表這些郊狼的數(shù)目。算法 1 出生死亡選擇行為偽代碼 1.計(jì)算? 、 ? 2.if ? ?1 then 3. 新出生的小狼存活,?中唯一的一只郊狼死亡 4.else if ? ?1 then 5. 新出生的小狼存活,?中年齡最大的郊狼死亡 6.else 7. 新出生的小狼存活 8.end if
1.4 郊狼被驅(qū)離和接納
某些郊狼有時(shí)會(huì)離開(kāi)原子種群加入到另一個(gè)子種群里,此概率可用 Pe 來(lái)表示為: 2 Pe 0.005 Nc ? ? (12)
2 改進(jìn)的郊狼優(yōu)化算法
2.1 變異交叉策略
在 COA 算法中,各個(gè)子種群的頭狼和文化趨勢(shì)引導(dǎo)著群體向潛力區(qū)域前進(jìn)。但隨著搜索的迭代進(jìn)行,種群中的解個(gè)體會(huì)相互靠近,使得群體的多樣性逐步下降。當(dāng)所有解個(gè)體聚集到一起時(shí),整個(gè)種群多樣性不能得到更新,以致算法迭代有效性下降,搜索出現(xiàn)停滯。在這種情況下,可對(duì)解個(gè)體進(jìn)行變異操作,在其附近位置產(chǎn)生新解,以此來(lái)增加種群多樣性。因此,引入差分進(jìn)化算法中的變異交叉策略到 COA 算法中,用于提高種群多樣性,減小算法早熟收斂的可能,提高算法收斂精度。
首先選取第 c 只郊狼對(duì)應(yīng)的社會(huì)位置 p t c soc , 為父體向量,對(duì)應(yīng)的變異向量可用公式表示為: ( ) , , , , 1 2 p t r p t r p t c p t c V ? soc ? F ? soc ? soc (13)
其中, 1 r 和 2 r 為在第 p 個(gè)子群落里任意選擇的兩只郊狼; p t r p t r soc soc , , 1 2 ? 為差分向量; F 是變異因子,用其對(duì)差分向量進(jìn)行縮放,控制搜索步長(zhǎng),一般在 [0,2] 之內(nèi)選擇,通常取 0.5,其值的大小決定了種群的分布情況。通過(guò)設(shè)置 F 在進(jìn)化過(guò)程中的值,可以有效增加候選個(gè)體的數(shù)量,提高種群多樣性,使種群在全局范圍內(nèi)進(jìn)行搜索,增強(qiáng)算法的穩(wěn)定性。
利用父體向量和變異向量通過(guò)離散雜交產(chǎn)生實(shí)驗(yàn)向量:????? ? ?? otherwise or , , , , , , p t c j j rand p t p t c j c j soc V rand CR j j U (14)其中, j ?1,2,? , D ; rand j 是[1,D]之間的隨機(jī)整數(shù); CR?[0,1] 是交叉概率;?[0,1] j rand 是對(duì)應(yīng)于第 j 維的隨機(jī)數(shù)。
通過(guò)變異交叉策略產(chǎn)生 Nc 個(gè)實(shí)驗(yàn)向量構(gòu)成實(shí)驗(yàn)種群 p t U , 。合并父體種群 p t soc , 與實(shí)驗(yàn)種群 p t U , 獲得組合子種群 p t p t p t h soc U , , , ? ?,按照下文提出自適應(yīng)約束處理方法從中選擇 Nc 個(gè)較好個(gè)體形成更新的子種群 p t soc , 。
2.2 新的成長(zhǎng)更新策略
2.2.1 全局最優(yōu)影響因子
在求解約束優(yōu)化問(wèn)題時(shí),郊狼對(duì)環(huán)境的適應(yīng)度 p t c fit , 不但考慮目標(biāo)函數(shù)值 ( ) p,t c f soc ,還要考慮到約束違反度 ( ) p,t c G soc 。考慮到約束違反度,當(dāng)條件 a)或 b)滿足時(shí),說(shuō)明郊狼 X i 對(duì)環(huán)境的適應(yīng)度優(yōu)于郊狼 X j ,記為 ( ) ( ) i X j fit X ? fit 。 a) ( ) ( ) ( ) ( ) i j i X j G X ? G X ? f X ? f b) ( ) ( ) G Xi ? G X j 在所有郊狼中,對(duì)環(huán)境適應(yīng)度最高的郊狼即為在第 t 次迭代時(shí)整個(gè)種群的最優(yōu)個(gè)體 t Gbest 。故在第 t 次迭代時(shí),整個(gè)種群的最優(yōu)個(gè)體 t Gbest 可用公式表示為: { arg min } , {1,2, , } , p t p N c p t c t best G soc fit ? ? p ?(15)在 COA 算法中,每個(gè)子種群中的郊狼僅通過(guò)所在子種群的頭狼 p t alpha , ,以及該子種群的文化趨勢(shì) p t cult , 二者來(lái)指導(dǎo)其社會(huì)位置的更新,并沒(méi)有考慮到整個(gè)種群的最優(yōu)位置 t Gbest 對(duì)郊狼位置更新的影響。因此,加入整個(gè)種群的最優(yōu)個(gè)體 t Gbest 的方向信息來(lái)改進(jìn)各個(gè)子種群中郊狼的位置更新方式。 t Gbest 對(duì)第 p 個(gè)子種群內(nèi)的第 c 只郊狼在第 t 次迭代時(shí)位置更新的影響因子? 3 可按下式計(jì)算: p t c t Gbest soc , ? 3 ? ? (16)引入全局最優(yōu)引導(dǎo)搜索后,各個(gè)子種群中的郊狼各自以更快的收斂速度從不同的方向朝著可行區(qū)域進(jìn)行靠攏逼近,從而大大加快了 COA 的收斂速度。
2.2.2 動(dòng)態(tài)調(diào)整郊狼成長(zhǎng)方式
由公式(3)可知同一子種群內(nèi)郊狼在相同的頭狼和文化趨勢(shì)與兩頭隨機(jī)挑選的郊狼的差值共同指導(dǎo)下保持著恒定的成長(zhǎng)機(jī)制,而在每次迭代過(guò)程中,同一子種群內(nèi)頭狼和文化趨勢(shì)相同,且隨機(jī)挑選的郊狼個(gè)體相似度無(wú)法保證,因此容易使得產(chǎn)生的新解相似度過(guò)高,以致于弱化算法的搜索能力,不易實(shí)現(xiàn)全局搜索。此外,郊狼在迭代過(guò)程中一直朝著所在子種群內(nèi)頭狼和文化趨勢(shì)方向移動(dòng),增加了算法陷入局部最優(yōu)的可能。
為此,本文根據(jù)子種群內(nèi)郊狼個(gè)體的相似度動(dòng)態(tài)調(diào)整郊狼成長(zhǎng)更新方式,如公式(17)所示:???????????? ?? ? ?? ? ?? ? ?? r r p t cr p t cr p t c p t c p t c R P R P r soc soc soc r r r soc r new soc ( ) _ , 4 , 3 4 3 3 , 1 1 2 2 3 3 , , ?? ?? (17)其中, 1 r 、 2 r 、 3 r 和 4 r 為[0,1]內(nèi)的隨機(jī)數(shù); 3 cr 和 4 cr 分別為在該子種群內(nèi)任意選擇的兩只不同于 1 cr 和 2 cr 的郊狼;R 為子種群中郊狼相似度,計(jì)算方式如公式(18)和(19)所示;Pr 為一常數(shù)。 2 ( 1) max ? ?? NC NC Count (18) Countmax Count R ? (19)其中, Count 為相似解的對(duì)數(shù),通過(guò)算法 3 來(lái)確定; Countmax 為子種群內(nèi)解的最大對(duì)數(shù)。通過(guò)二者的比值來(lái)確定種群相似度。
新的成長(zhǎng)更新方式引入了全局最優(yōu)解來(lái)指導(dǎo)位置更新,加快了算法的收斂速度。當(dāng)相似度高時(shí),根據(jù)方式一對(duì)郊狼進(jìn)行位置更新,郊狼的進(jìn)化由 p t cult , 、 p t alpha , 以及 t Gbest 三者共同確定的方向信息來(lái)進(jìn)行指導(dǎo)。此時(shí),由于子種群內(nèi)郊狼相似度高,? 1 和? 2 的值較小,從而使得算法在全局最優(yōu)解附近展開(kāi)精細(xì)搜索,增強(qiáng)了算法的局部開(kāi)發(fā)能力;當(dāng)相似度低時(shí),根據(jù)方式二對(duì)郊狼進(jìn)行位置更新,郊狼的進(jìn)化由 t Gbest 以及 p t cr p t cr soc soc , , 3 4 ? 共同確定的方向信息來(lái)進(jìn)行指導(dǎo)。此時(shí)子種群內(nèi)郊狼相似度低,子種群內(nèi)郊狼的差值模型不僅使得子種群內(nèi)信息得到共享,實(shí)現(xiàn)了子種群內(nèi)郊狼的經(jīng)驗(yàn)交流,而且由于 p t cr p t cr soc soc , , 3 4 ? 值較大,從而加大了算法的搜索步長(zhǎng),增強(qiáng)了算法的全局搜索能力。
算法 2 新的成長(zhǎng)更新策略偽代碼 1.初始化 Count? 0 ,根據(jù)公式(18)計(jì)算 Countmax 2.for i ?1: Nc ?1 3. for Nc j ? i ?1: 4. if ( ) ( ) ( ) ( ) , p,t p,t p,t i p t j f soc ? f soc ? f cult ? f aphal 5. Count ? Count ?1 6. end if 7. end for 8.end for 7.根據(jù)公式(19)計(jì)算種群相似度 R 8.if R ? Pr 9. 根據(jù)方式一更新郊狼的社會(huì)位置 10.else 11. 根據(jù)方式二更新郊狼的社會(huì)位置 12.end if
在算法迭代前期進(jìn)行隨機(jī)全局搜索時(shí),種群相似度較低,方式二以更大的概率指導(dǎo)郊狼的進(jìn)化,全局搜索能力較強(qiáng),算法可以憑借更高的概率找到到全局最優(yōu)解;在迭代后期進(jìn)行局部開(kāi)發(fā)時(shí),種群相似度較高,方式一以更大的概率指導(dǎo)郊狼的進(jìn)化,局部開(kāi)發(fā)能力較強(qiáng),提高了算法的收斂精度。隨著迭代的進(jìn)行,在新的成長(zhǎng)更新策略指導(dǎo)下,算法根據(jù)種群的相似度選擇合適的位置更新方式,有效地平衡了算法的全局搜索能力與局部開(kāi)發(fā)能力,使得算法的優(yōu)化性能得到提升。
2.3 邊界處理方法
在算法尋優(yōu)過(guò)程中,當(dāng)新產(chǎn)生的解個(gè)體超出自變量上下限時(shí),通常將其設(shè)為上下限值,但是目標(biāo)函數(shù)的最優(yōu)解往往不在搜索邊界上,簡(jiǎn)單地將越界變量置于上下限上,會(huì)造成資源的浪費(fèi)。故將越界分量按下式進(jìn)行處理[21],增強(qiáng)種群多樣性,同時(shí)降低了下次迭代產(chǎn)生新位置越過(guò)尋優(yōu)邊界的幾率。?????? ? ? ? ?? ? ? ? ?? j j j j i j j j i j j j j j i j j j i i lb lb x ub lb r x lb ub x ub ub lb r x ub x , ,, , min( ) min( ) (20)其中,r 為 [0,1] 內(nèi)的隨機(jī)數(shù), ubj 、 j lb 分別為 i j x 的上限值和下限值。
2.4 約束處理方法
合理有效的對(duì)約束進(jìn)行處理,平衡可行解與不可行解的關(guān)系是獲得約束優(yōu)化問(wèn)題最優(yōu)解的關(guān)鍵。考慮到在求解約束優(yōu)化問(wèn)題時(shí),郊狼種群在尋優(yōu)迭代中必定會(huì)經(jīng)過(guò)不可行情形、半可行情形和可行情形三種狀態(tài),因此,本文在執(zhí)行完上述新的成長(zhǎng)更新策略之后,依據(jù)各個(gè)子種群在迭代過(guò)程中所處的情形,分別調(diào)用三種不同的約束處理技術(shù)來(lái)與改進(jìn)后的郊狼優(yōu)化算法相結(jié)合,實(shí)現(xiàn)目標(biāo)函數(shù)和約束違反度二者的平衡,使得改進(jìn)后的郊狼優(yōu)化算法可以充分發(fā)揮其新的成長(zhǎng)更新方式的搜索性能。
(1)在不可行情形下,利用文獻(xiàn)[22]提出約束處理技術(shù)把無(wú)約束優(yōu)化問(wèn)題構(gòu)造為多目標(biāo)優(yōu)化問(wèn)題,然后通過(guò) Pareto 支配方法找出子代種群中的所有非支配個(gè)體,并分別隨機(jī)替換一個(gè)父代種群中被它支配的個(gè)體(如果存在的話)。然后找出上述非支配個(gè)體中約束違反度最小的最優(yōu)個(gè)體,若其沒(méi)有替換父代種群中的個(gè)體,則使其隨機(jī)替換父代種群中的某個(gè)個(gè)體,已達(dá)到利用最優(yōu)個(gè)體持續(xù)地引導(dǎo)種群向可行區(qū)域靠近的目的。
(2)在半可行情形下,利用一種適應(yīng)值轉(zhuǎn)換機(jī)制[23]把約束優(yōu)化問(wèn)題構(gòu)造為無(wú)約束優(yōu)化問(wèn)題,依據(jù)新構(gòu)造的解適應(yīng)度函數(shù)對(duì)個(gè)體進(jìn)行選擇,將攜帶重要信息的不可行個(gè)體和優(yōu)秀的可行個(gè)體保留到下一代群體中。具體過(guò)程為:首先將種群分成可行集合 Z1 和不可行集合 Z2 ,對(duì)應(yīng)解 X i 的目標(biāo)函數(shù)值 ( ) Xi f 按公式(21)轉(zhuǎn)換為:?????????? ? ? ?? ? 2 1 ( ) ( )} max{ ( ) (1 ) ( ) ( ) i Z i Z f X f X f X f X f X worst i best i i ,? ? (21)其中,?為可行解比例, Xbest 和 X worst 分別為可行集合中最優(yōu)及最差解。
對(duì)轉(zhuǎn)換得到的目標(biāo)函數(shù)值和約束違反度按公式(22)和(23)進(jìn)行標(biāo)準(zhǔn)化: max ( ) min ( ) ( ) min ( ) ( ) 1 2 1 2 1 2 j j Z Z j j Z Z j j Z Z i nor i f X f X f X f X f X ? ? ?? ? ??? ? ? ?? ? (22)G X j j Z j j Z j j Z i nor i (23)最后構(gòu)造出的適應(yīng)度函數(shù)可表示為: ( ) ( ) ( ) i nor Xi Gnor Xi F X ? f ? (24)可以看出在這種方法下,可行解依據(jù)目標(biāo)函數(shù)值進(jìn)行評(píng)價(jià)選擇,不可行解同時(shí)考慮了目標(biāo)函數(shù)值和約束違反度后進(jìn)行評(píng)價(jià)選擇,實(shí)現(xiàn)了目標(biāo)函數(shù)和約束違反度之間的平衡。
(3)在可行情形下,種群中全部是可行解,約束優(yōu)化問(wèn)題能夠被當(dāng)作無(wú)約束優(yōu)化問(wèn)題求解,利用目標(biāo)函數(shù)對(duì)個(gè)體進(jìn)行評(píng)價(jià)即可。
改進(jìn)的郊狼優(yōu)化算法根據(jù)尋優(yōu)過(guò)程中種群在解空間的不同狀態(tài),自主選擇合適有效的約束處理方法,完成對(duì)約束優(yōu)化問(wèn)題求解。
2.5 算法實(shí)施步驟
將上述差分變異策略引入 COA 算法,并修改郊狼成長(zhǎng)方式形成改進(jìn)后的 COA 算法。結(jié)合自適應(yīng)約束處理方法,DGCOA 算法的實(shí)施步驟可歸納如算法 3 所示。DGCOA 算法流程圖如圖 1 所示。算法 3 DGCOA 算法偽代碼輸入 郊狼種群初始參數(shù) Nc、Np 等輸出 全局最優(yōu)解 Gbest
1.初始化種群參數(shù),由公式(1)獲得 Nc ? Np 個(gè)初始解并隨機(jī)分組 2.While(不滿足終止條件)do 3. 計(jì)算種群中每個(gè)郊狼的 ( ) p,t c f soc 和 ( ) p,t c G soc ,根據(jù)條件 a)和 b)及公式(15)找出整個(gè)種群的全局最優(yōu)解 t Gbest 4. for 每個(gè)子種群 p do 5. 執(zhí)行變異交叉策略 6. 根據(jù)條件 a)和 b)及公式(3)確定子種群 p 中的頭狼 p t alpha , 7. 按照公式(4)確定子種群 p 中的文化趨勢(shì) p t cult , 8. 按照算法 2 更新郊狼的社會(huì)位置 9. 按照公式(20)并行歸正郊狼成長(zhǎng)范圍,獲得對(duì)應(yīng)的子代子種群 t new p 10 并行計(jì)算更新后郊狼的目標(biāo)函數(shù)值 ( ) t pnew f 和約束違反度 ( ) t G pnew 11 合并 t p 和 t new p 獲得組合子種群 t z ,按照自適應(yīng)約束處理方法從 t z 中選擇 Nc 個(gè)較好的個(gè)體形成新的子種群 t?1 p ; 12. end for 13. 按照公式(9)和算法 1 模擬郊狼出生死亡選擇行為 14. end for 15. 根據(jù)公式(12)確定分散概率,進(jìn)行組間遷徙 16. 更新郊狼的年齡 1 , , ? ? p t c p t agec age 16. 更新迭代次數(shù) t ? t ?1 17.end while 18.選擇整個(gè)種群中表現(xiàn)最優(yōu)的郊狼,其社會(huì)位置即為全局最優(yōu)解 Gbest
改進(jìn)的郊狼優(yōu)化算法通過(guò)執(zhí)行變異交叉策略和邊界處理方法,增加了種群多樣性,降低了算法早熟收斂現(xiàn)象發(fā)生的概率,提高了算法的穩(wěn)定性;通過(guò)引入全局最優(yōu)引導(dǎo)搜索,大大加快了算法的收斂速度;通過(guò)種群中個(gè)體相似度來(lái)對(duì)郊狼成長(zhǎng)更新方式進(jìn)行動(dòng)態(tài)選擇,提高了算法的收斂精度。綜上所述,改進(jìn)后的郊狼優(yōu)化算法無(wú)論是在尋優(yōu)穩(wěn)定性,還是在收斂精度和收斂速度方面都做出了改進(jìn),尋優(yōu)能力具有很大競(jìng)爭(zhēng)性。
3 數(shù)值實(shí)驗(yàn)與分析
3.1 參數(shù)設(shè)置
將 DGCOA 的尋優(yōu)結(jié)果與 COA、ICTLBO[4]、 ODPSO[2]、IWWO[8]、E-BRM[24]和 MGABC[6]算法進(jìn)行對(duì)比。其中,ICTLBO 算法與本文所提 DGCOA 均是針對(duì)約束問(wèn)題的分種群算法。DGCOA 算法中的參數(shù)設(shè)置為:?10 ?14 N p ,Nc ;變異交叉策略中的 變 異 算 子 和 交 叉 算 子 分 別 設(shè) 置 為 : F ? 0.5,CR ? 0.8 ;相似度閾值根據(jù)實(shí)驗(yàn)結(jié)果對(duì)比取最優(yōu)值 Pr ? 0.3 ;等式約束容忍值? ? 0.0001 ;最大函數(shù)評(píng)價(jià)次數(shù)(Max_NFEs)設(shè)定為 240000。COA 中相關(guān)參數(shù)與 DGCOA 設(shè)置相同。
各算法獨(dú)立運(yùn)行 25 次,記錄各算法運(yùn)行結(jié)果的平均值 Mean 和標(biāo)準(zhǔn)差 Std 如表 1 所示。表中 ( ) * f X 為目前已知最優(yōu)解 * X 處的目標(biāo)函數(shù)值;‘NF’表示在全部運(yùn)行次數(shù)內(nèi)沒(méi)有找到可行解,將在全部對(duì)比算法中取得最優(yōu)的平均值和標(biāo)準(zhǔn)差加黑標(biāo)注。部分算法在部分測(cè)試函數(shù)上的收斂曲線對(duì)比如圖 2 所示。值得說(shuō)明的是選取的對(duì)比算法均為對(duì)應(yīng)參考文獻(xiàn)中表現(xiàn)最優(yōu)的約束進(jìn)化算法,其結(jié)果分別取自于對(duì)應(yīng)的參考文獻(xiàn)。圖 2 中 ICTLBO 的收斂曲線由其源代碼運(yùn)行所獲得。
3.2 測(cè)試函數(shù)結(jié)果及分析
本文采用平均值(Mean)和標(biāo)準(zhǔn)差(Std)作為評(píng)價(jià)各算法優(yōu)化性能的標(biāo)準(zhǔn),平均值越小,算法的收斂精度越高;標(biāo)準(zhǔn)差越小,算法的穩(wěn)定性越好。
由表 1 可以看出,在收斂精度方面,DGCOA 在函數(shù) g02、g13、g17、g21 和 g23 上獲得了較高的收斂精度,分別取得了第 4、第 3、第 3、第 3 和第 2 的排名。在其余 17 個(gè)函數(shù)上,DGCOA 在 7 種對(duì)比算法中獲得了最優(yōu)的平均值,即收斂精度最高。特別地,在函數(shù) g10、g19 上,僅有 DGCOA 算法能夠以較高精度收斂至其最優(yōu)值,獲得全局最優(yōu)解;在穩(wěn)定性方面,DGCOA 在函數(shù) g01、g04、g06、g10、 g12、g18 和 g19 上取得了最小的標(biāo)準(zhǔn)差,即穩(wěn)定性最高。相較 COA 算法僅在函數(shù) g06、g12 和 g24 上可以穩(wěn)定的獲得最優(yōu)解,對(duì)于函數(shù) g14、g17 和 g21 無(wú)法獲得可行解的情況,DGCOA 無(wú)論是在收斂精度還是穩(wěn)定性方面都獲得了很大的提高;相較其它 6 種算法,DGCOA 在大部分測(cè)試函數(shù)上的收斂精度和穩(wěn)定性也都能夠獲得具有高競(jìng)爭(zhēng)力的結(jié)果。
由圖 2 的算法收斂曲線可以看出,相較 COA 算法,在相同函數(shù)評(píng)估次數(shù)的前提下,對(duì)于圖中所有測(cè)試函數(shù),DGCOA 算法均能以更快的收斂速度收斂到其所能找到的最優(yōu)值附近,并具有更高的收斂精度。和同為分種群類智能優(yōu)化算法的 ICTLBO 相比,在測(cè)試函數(shù) g01 上,DGCOA 收斂速度和收斂精度都具有較高競(jìng)爭(zhēng)性;在函數(shù) g02 和 g05 上, DGCOA 在早期迭代階段收斂速度稍遜于 ICTLBO,但在后期 DGCOA 同樣表現(xiàn)出了較高競(jìng)爭(zhēng)性,與 ICTLBO 的收斂速度和收斂精度不相上下;在函數(shù) g11 和 g15 上,DGCOA 早期迭代階段收斂速度優(yōu)于 ICTLBO,且在迭代后期能以較高的收斂精度收斂于最優(yōu)解;在函數(shù) g17 上,DGCOA 在早期迭代階段收斂速度稍遜于 ICTLBO,沒(méi)有很快找到可行解,但在后期 DGCOA 的收斂速度超過(guò)了 ICTLBO。
綜上所述,圖 2 進(jìn)一步證明了改進(jìn)的 COA 算法無(wú)論是在收斂精度還是在收斂速度方面都得到了很大提升。
3.3 Wilcoxon 符號(hào)秩檢驗(yàn)
采用 Wilcoxon 符號(hào)秩和檢驗(yàn)統(tǒng)計(jì)方法[19]來(lái)評(píng)價(jià) DGCOA 與表 1 中其它算法兩兩之間差異的顯著性。R+表示正秩總和,R-表示負(fù)秩總和。對(duì)兩種算法之間的統(tǒng)計(jì)比較結(jié)果采用符號(hào)“+、-、≈”表示。 “+”和“-”分別說(shuō)明前一個(gè)算法明顯優(yōu)于或明顯差于后二個(gè)算法;“≈”說(shuō)明兩種算法沒(méi)有明顯差異。Wilcoxon 符號(hào)秩和檢驗(yàn)結(jié)果如表 2 所示。
可 以看 出 DGCOA 算法 明顯 優(yōu)于 COA、 ODPSO、E-BRM 和 MGABC 算法,與 ICTLBO 和 IWWO 算法之間無(wú)明顯差異。
4 工程優(yōu)化問(wèn)題結(jié)果及分析
為進(jìn)一步檢驗(yàn) DGCOA 解決實(shí)際工程問(wèn)題的有效性,選取三個(gè)較為經(jīng)典的約束工程設(shè)計(jì)問(wèn)題[5]對(duì) DGCOA 算法進(jìn)行測(cè)試。
(1)Welded beam problem
將 DGCOA 運(yùn)行結(jié)果和其他算法比較如表 3 所示。可以看出 ICTLBO、IFOA 和 DGCOA 在每次運(yùn)行中均能獲得最優(yōu)解,且 DGCOA 取得了最小的標(biāo)準(zhǔn)差,即 DGCOA 穩(wěn)定性更好。
(2)Tension string design problem
將 ICTLBO 運(yùn)行結(jié)果和其他算法比較如表 4 所示。可以看出 IFOA 和 DGCOA 在每次運(yùn)行中均能獲得最優(yōu)解,且 DGCOA 取得了最小的標(biāo)準(zhǔn)差,即 DGCOA 穩(wěn)定性更好。
(3) Pressure vessel problem
將 DGCOA 運(yùn)行結(jié)果和其他算法比較如表 5 所示。可以看出 ICTLBO、COMDE 和 DGCOA 在每次運(yùn)行中均能獲得最優(yōu)解,且 DGCOA 取得了最小的標(biāo)準(zhǔn)差,即 DGCOA 穩(wěn)定性更好。
5 結(jié)束語(yǔ)
本文提出了一種動(dòng)態(tài)調(diào)整成長(zhǎng)方式的郊狼優(yōu)化算法用于求解復(fù)雜優(yōu)化問(wèn)題。首先,引入變異交叉策略來(lái)增加種群多樣性,協(xié)助算法獲得全局最優(yōu)解。此外,提出了一種新的成長(zhǎng)更新策略,該策略中不但加入了全局最優(yōu)影響因子,加快了算法的收斂速度,還設(shè)計(jì)了兩種不同的成長(zhǎng)方式,通過(guò)各個(gè)子種群中郊狼個(gè)體的相似度來(lái)對(duì)郊狼成長(zhǎng)更新方式進(jìn)行動(dòng)態(tài)選擇,有效平衡了算法的全局探索與局部開(kāi)發(fā),同時(shí)也彌補(bǔ)了基礎(chǔ) COA 算法中子種群內(nèi)郊狼個(gè)體信息共享不足的問(wèn)題。最后,將改進(jìn)后的郊狼算法與一種自適應(yīng)約束處理技術(shù)結(jié)合,實(shí)現(xiàn)了對(duì)約束優(yōu)化問(wèn)題的有效求解。利用 CEC2006 提出的 22 個(gè)測(cè)試 函 數(shù) 和 三 個(gè) 廣 泛 被 使 用 的 工 程 設(shè) 計(jì) 問(wèn) 題 對(duì) DGCOA 算法和其他先進(jìn)算法的性能進(jìn)行了對(duì)比驗(yàn)證。
從實(shí)驗(yàn)結(jié)果可以看出,在求解高維復(fù)雜約束優(yōu)化問(wèn)題時(shí),盡管 DGCOA 能夠找到可行解,可是解的精度有待提高。 下一步將通過(guò)與其它先進(jìn)方法結(jié)合來(lái)繼續(xù)改進(jìn)郊狼算法的尋優(yōu)性能,提升其在求解高維優(yōu)化問(wèn)題時(shí)解的質(zhì)量。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見(jiàn)問(wèn)題 >
SCI常見(jiàn)問(wèn)題 >