白鯨算法
? 白鯨算法(BWO)是一種新的元啟發(fā)式算法,是一種基于群體的算法,其靈感來自于白鯨的行為,包括游泳,獵物和鯨落。在BWO的數(shù)學(xué)模型中構(gòu)建了勘探,開發(fā)和鯨落階段,并在開發(fā)階段利用Levy飛行函數(shù)來提高BWO的收斂能力。
勘探階段
? 由于BWO基于種群的機制,將白鯨作為搜索代理,每條白鯨都是一個候選解,在優(yōu)化過程中不斷個更新。搜索代理位置的矩陣建模為:
n代表白鯨種群大小,d是變量的維度。對于所有的白鯨,它們的適應(yīng)度如下:
? BWO算法可以根據(jù)平衡因子Bf從勘探過渡到開采,其建模為:
T代表當(dāng)前迭代次數(shù),Tmax是最大迭代次數(shù),而B0是每一代(0,1)的隨機數(shù)。當(dāng)Bf>0.5時,白鯨進(jìn)入勘探階段,否則白鯨進(jìn)入開發(fā)階段。隨著迭代次數(shù)的增加,Bf的波動幅度逐漸顯著,從(0,1)到(0,0.5)。
? BWO的勘探階段是從白鯨游泳行為獲得的靈感。白鯨可以在不同的姿勢下進(jìn)行社會性行為,如兩只白鯨以同步或鏡像的方式緊密地游在一起。因此,搜索代理的位置由白鯨的配對游動決定,白鯨的位置更新如下:
Xi,j(T+1)是第 i 個白鯨在第 j 維度的新位置,pj是d維度的一個隨機數(shù),Xi,PjT是第i個白鯨在 pj 維度上的位置,Xi,PjT 和 Xr,P1T是第i個和第r個白鯨的當(dāng)前位置,r 是隨機選擇的一個白鯨,r1 和 r2 分別是(0,1)的兩個隨機數(shù),sin(2πr2)和cos(2πr2)表示鏡像白鯨的鰭朝向水面。
開發(fā)階段
? 開發(fā)階段是模范白鯨捕獵行為,白鯨可以根據(jù)附近白鯨的位置合作覓食和移動。因此,白鯨可以根據(jù)彼此共享的信息進(jìn)行捕獵,Levy飛行函數(shù)可以提高BWO的收斂性,建模如下:
XbestT是白鯨當(dāng)前最好最好的位置,C1 = 2r4(1 - T /Tmax)是隨機跳躍強度,測試Levy飛行函數(shù)的強度,LF是Levy飛行函數(shù),計算公式如下:
u和v是正態(tài)分布的隨機數(shù),beta是一個默認(rèn)的常數(shù)1.5。
鯨落階段
? 一鯨落,萬物生。為了在每一代中模仿鯨落,隨機在種群中選擇一個個體進(jìn)行鯨落行為。這個數(shù)學(xué)模型為:
Xstep是鯨落的步長,建模為:
C2是步長系數(shù),與鯨落的概率和種群大小有關(guān),C2=2Wf * n,ub 和 lb分別是上下邊界變量。
Wf = 0.1 - 0.05T / Tmax當(dāng)鯨落的概率從最初迭代的0.1下降到最后迭代的0.05,說明在優(yōu)化過程中,當(dāng)白鯨離食物源越近,白鯨的危險就越小。
BWO流程
- 初始化:初始化種群大小和最大迭代書
- 更新勘探和開發(fā)階段:當(dāng)Bf > 0.5 時,白鯨進(jìn)入勘探階段,反之,白鯨進(jìn)入開發(fā)階段,然后計算白鯨的新的位置適應(yīng)度值并且進(jìn)行排序找到優(yōu)化結(jié)果。
- 更新鯨落階段:根據(jù)Wf的值來選擇個體
- 終止條件:達(dá)到最大迭代數(shù)
BWO和WOA的區(qū)別
- WOA的捕獵行為是模仿座頭鯨螺旋運動,而BWO是模仿白鯨,沒有螺旋運動的情況下,根據(jù)自己的位置,食物解和其他白鯨更新位置。
- WOA沒有鯨落階段,BWO有鯨落階段避免局部最優(yōu)。
- WOA沒有Levy飛行函數(shù)機制,而在BWO中引入了Levy飛行函數(shù)。
BWO的偽代碼如下,完整代碼可聯(lián)系我(免費):文章來源:http://www.zghlxwxcb.cn/news/detail-843277.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-843277.html
到了這里,關(guān)于BWO白鯨優(yōu)化算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!