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