張雙勤
(甘肅交通職業(yè)技術(shù)學(xué)院 信息工程系,甘肅 蘭州 730070)
元啟發(fā)式優(yōu)化算法在工程應(yīng)用中應(yīng)用廣泛,因其簡單的概念且易于實(shí)現(xiàn),可用于涵蓋不同學(xué)科的各種問題的優(yōu)勢(shì)[1]。 在自然界的啟發(fā)下,通過模擬生物或物理的一些現(xiàn)象進(jìn)行數(shù)學(xué)建模,解決優(yōu)化問題。 總體來說,有基于進(jìn)化的、基于物理的和基于群體的方法,基于進(jìn)化的方法受自然進(jìn)化規(guī)律的啟發(fā),搜索過程從隨機(jī)生成的種群開始。 這些方法的優(yōu)點(diǎn)是最好的個(gè)體總是組合在一起形成下一代個(gè)體,這可以讓種群歷經(jīng)繁衍而得到優(yōu)化。 應(yīng)用最廣泛的進(jìn)化啟發(fā)技術(shù)是模擬達(dá)爾文進(jìn)化的遺傳算法(GA)[2],還有進(jìn)化策略(ES)、概率增量學(xué)習(xí)算法(PBIL)、遺傳規(guī)劃(GP)和生物地理學(xué)優(yōu)化算法(BBO)等成熟的算法。 基于物理的方法是通過模仿物理規(guī)律建模為群體優(yōu)化算法,典型的有模擬退火算法(SA)[3]。
2016 年,Mirjalili 等[4]提出了鯨魚優(yōu)化算法(The Whale Optimization Algorithm,WOA),參數(shù)少、全局收斂性是WOA 算法顯著的特點(diǎn),但其缺點(diǎn)是算法收斂慢且精度低。 本文將混沌分散策略及小生境技術(shù)嵌入原有算法,采用4 個(gè)測試函數(shù)與DE 算法及WOA算法進(jìn)行比較,結(jié)果證明,改進(jìn)的算法能顯著提高基本W(wǎng)OA 算法的收斂精度與速度。
受座頭鯨捕食而得到啟發(fā)的Mirjalili 等[4]提出了狩獵行為的數(shù)學(xué)模型,該模型包括3 種行為:隨機(jī)搜索、包圍捕食和攻擊獵物[5]。
1.1.1 隨機(jī)搜索
搜索獵物采用隨機(jī)個(gè)體位置尋找食物,具體過程如下[6]:
其中,D 為個(gè)體位置與種群隨機(jī)個(gè)體間的距離,XRand表示從當(dāng)前群體位置隨機(jī)選擇的一個(gè)位置向量,X 為鯨魚個(gè)體所在的位置向量,t 表示當(dāng)前的迭代次數(shù),A,C 表示系數(shù)。 定義如下:
其中,a 表示在迭代過程中從2 線性下降到0 的向量;R 為0 與1 之間的隨機(jī)向量。
1.1.2 包圍捕食
座頭鯨在尋找獵物時(shí),其收縮包圍獵物采用如下模型:
其中,X?(t)為當(dāng)前最優(yōu)個(gè)體的位置向量,在迭代過程中,X?(t)會(huì)不斷地更新。
1.1.3 攻擊獵物
座頭鯨以螺旋運(yùn)動(dòng)不斷接近獵物,攻擊獵物的數(shù)學(xué)模型如下:
其中,Dp=|X?(t)-X(t)|表示第i 條鯨魚與獵物的距離(目前為止獲得的最佳解),b 是用于定義對(duì)數(shù)螺旋形狀的常數(shù),l 是[-1,1]中的隨機(jī)數(shù)。
WOA 算法如同其他群體智能優(yōu)化算法一樣,在迭代之前也是采用隨機(jī)方式初始化種群個(gè)體[7]。由于總是不確定最優(yōu)解的位置,隨機(jī)初始化會(huì)擴(kuò)大可行解的范圍,使搜索時(shí)間變長,速度較慢,甚至可能遇到無法找到最優(yōu)解等諸多問題。 因此,初始種群分布直接關(guān)系到可行解的范圍,對(duì)算法的收斂速度產(chǎn)生至關(guān)重要的影響[8-9]。 本文采用如下的混沌映射模型:
物種的生活習(xí)性相似度一般用適應(yīng)度值或距離進(jìn)行分辨[10]。 將小生境原理嵌入鯨魚優(yōu)化算法,鯨魚群生活習(xí)性的相似度是通過鯨魚個(gè)體間的距離來判斷的,最后將罰函數(shù)用于適應(yīng)度值較差的鯨魚個(gè)體[11],進(jìn)而實(shí)現(xiàn)整個(gè)尋優(yōu)過程。
Step1:初始化N,D,t,pently 等算法參數(shù),并運(yùn)用混沌分散策略初始化鯨魚群體X=(X1,X2…XN),每個(gè)鯨魚的位置Xm=(xm1,xm2…xmD)T,(m=1,2…N)。
Step2:計(jì)算每個(gè)鯨魚個(gè)體的適應(yīng)度值fi,則鯨魚最優(yōu)位置為適應(yīng)度值最佳的個(gè)體位置。
Step3:按照式(5)計(jì)算個(gè)體間的距離,并按(6)式更新鯨魚與獵物間的距離。
Step4:小生境淘汰。 鯨魚個(gè)體間的歐式距離可以折射個(gè)體間的疏散程度,對(duì)于D 維空間鯨魚m 的位置為Xm=(xm1,xm2…xmD)T,鯨魚n 的位置為Xn=(n1,xn2…xnD)T,則依據(jù)下列公式計(jì)算每兩個(gè)個(gè)體Xm與Xn之間的相似度。
給出指定參數(shù)r(r 為小生境半徑),當(dāng)lij< r 時(shí),比較鯨魚Xm和鯨魚Xn的適應(yīng)度大小,對(duì)其中適應(yīng)度比較小的個(gè)體施以罰函數(shù)。 即若lij< r,且fm Step5:按照式(5)和式(6)更新參數(shù)a,A,C 的值。 Step6:若滿足終止條件,則停止運(yùn)行并輸出當(dāng)前最優(yōu)解,反之轉(zhuǎn)至Step2。 本文在4 個(gè)基準(zhǔn)函數(shù)的基礎(chǔ)上測試CNWOA 的尋優(yōu)能力,并與標(biāo)準(zhǔn)WOA 算法進(jìn)行比較,證明CNWOA 算法的高效性。 試驗(yàn)中,每個(gè)函數(shù)的維數(shù)D=30,種群規(guī)模N=40,最大迭代次數(shù)t=500,小生境半徑r=0.5(所測試多峰函數(shù)各峰值的差來決定)。 在此參數(shù)設(shè)置下,每個(gè)基準(zhǔn)函數(shù)(如表1 所示)運(yùn)行30次,記錄平均值、最優(yōu)值以及標(biāo)準(zhǔn)差。 表1 基準(zhǔn)函數(shù) 從測試數(shù)據(jù)(如表2 所示)以及函數(shù)收斂的結(jié)果(如圖1—4 所示)看,CNWOA 算法明顯優(yōu)于WOA 算法,從而驗(yàn)證了CNWOA 算法的精確性及有效性。 圖1 Sphere 收斂曲線 圖2 Schwefel 收斂曲線 表2 測試結(jié)果 因?yàn)榛决L魚優(yōu)化算法如同大多智能優(yōu)化算法一樣存在收斂速度慢、易陷入局部最優(yōu)等缺點(diǎn),所以本文在鯨魚優(yōu)化算法中引入混沌分散策略的種群初始化及小生境技術(shù)。 采用混沌分散策略可以快速地找到較優(yōu)解,再運(yùn)用WOA 計(jì)算各鯨魚個(gè)體的適應(yīng)度值,從而對(duì)鯨魚個(gè)體的位置進(jìn)行更新。 鯨魚群的生活習(xí)性相似度使用兩者間的距離來判定,對(duì)比鯨魚的適應(yīng)度值,同時(shí)對(duì)適應(yīng)度較差的鯨魚個(gè)體施以罰函數(shù),以減少盲目搜索,進(jìn)而實(shí)現(xiàn)整個(gè)尋優(yōu)過程。 最后,本文通過對(duì)4 個(gè)基準(zhǔn)函數(shù)的測試,并將其與WOA 及DE算法進(jìn)行比較,結(jié)果表明,改進(jìn)后的鯨魚算法對(duì)基準(zhǔn)函數(shù)的求解精度有所提高,同時(shí)也有較好的全局收斂性。 圖4 Griewank 收斂曲線2 仿真與分析
3 結(jié)語