智能優(yōu)化算法:白鯨優(yōu)化算法
摘要:白鯨優(yōu)化算法([Beluga whale optimization,BWO)是由是由 Changting Zhong 等于2022 年提出的一種群體智能優(yōu)化算法。其靈感來源于白鯨的群體覓食行為。
1.白鯨優(yōu)化算法
BWO建立了探索、開發(fā)和鯨魚墜落的三個階段,分別對應于成對游泳、捕食和鯨落的行為。BWO中的平衡因子和鯨落概率是自適應的,對控制探索和開發(fā)能力起著重要作用。此外,還引入了萊維飛行來增強開發(fā)階段的全局收斂性。
BWO算法可以從探索逐漸轉(zhuǎn)換到開發(fā),這取決于平衡因子
?
B
f
\mathrm{~B}_{\mathrm{f}}
?Bf? ,其定義為:
B
f
=
B
0
(
1
?
T
/
(
2
?
T
max
?
)
)
\mathrm{B}_{\mathrm{f}}=\mathrm{B}_0\left(1-\mathrm{T} /\left(2 \mathrm{~T}_{\max }\right)\right)
Bf?=B0?(1?T/(2?Tmax?))
其中,
T
\mathrm{T}
T 是當前迭代次,
T
max
?
\mathrm{T}_{\max }
Tmax? 是最大迭代次數(shù),
B
0
\mathrm{B}_0
B0? 在每次迭代中在
(
0
,
1
)
(0,1)
(0,1) 之間隨機變化。探索階段發(fā)生在平衡因子
B
f
>
0.5
\mathrm{B}_{\mathrm{f}}>0.5
Bf?>0.5 時,而開發(fā) 階段發(fā)生在
B
f
≤
0.5
\mathrm{B}_{\mathrm{f}} \leq 0.5
Bf?≤0.5 。隨著迭代次數(shù)
T
\mathrm{T}
T 的增加,
B
f
\mathrm{B}_{\mathrm{f}}
Bf? 的波動范圍從
(
0
,
1
)
(0,1)
(0,1) 減小到
(
0
,
0.5
)
(0,0.5)
(0,0.5) ,說明開發(fā)和探索階段的概率發(fā)生了顯著變化,而 開發(fā)階段的概率隨著迭代次數(shù)
T
\mathrm{T}
T 的不斷增加而增加。
1.1 探索階段
BWO的探索階段是白鯨的游泳行為建立的。搜索代理的位置由白鯨的配對游泳決定,白鯨的位置更新如下:
{
X
i
,
j
T
+
1
=
X
i
,
p
j
T
+
(
X
r
,
p
1
T
?
X
i
,
p
j
T
)
(
1
+
r
1
)
sin
?
(
2
π
r
2
)
,
j
=
?even?
X
i
,
j
T
+
1
=
X
i
,
p
j
T
+
(
X
r
,
p
1
T
?
X
i
,
p
j
T
)
(
1
+
r
1
)
cos
?
(
2
π
r
2
)
,
j
=
o
d
d
\begin{cases}\mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T+1}}=\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}+\left(\mathrm{X}_{\mathrm{r}, \mathrm{p}_1}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}\right)\left(1+\mathrm{r}_1\right) \sin \left(2 \pi \mathrm{r}_2\right), \mathrm{j}=\text { even } \\ \mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T}+1}=\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}+\left(\mathrm{X}_{\mathrm{r}, \mathrm{p}_1}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}\right)\left(1+\mathrm{r}_1\right) \cos \left(2 \pi \mathrm{r}_2\right), \quad \mathrm{j}=\mathrm{odd}\end{cases}
?
?
??Xi,jT+1?=Xi,pj?T?+(Xr,p1?T??Xi,pj?T?)(1+r1?)sin(2πr2?),j=?even?Xi,jT+1?=Xi,pj?T?+(Xr,p1?T??Xi,pj?T?)(1+r1?)cos(2πr2?),j=odd?
其中,
T
\mathrm{T}
T 是當前迭代次數(shù),
X
i
,
j
T
+
1
\mathrm{X}_{\mathrm{i}, \mathrm{j}}^{\mathrm{T+1}}
Xi,jT+1? 是第i只白鯨在第
j
j
j維上的新位置,
p
j
(
j
=
1
,
2
,
?
?
,
d
)
\mathrm{p}_{\mathrm{j}}(\mathrm{j}=1,2, \cdots, \mathrmn5n3t3z)
pj?(j=1,2,?,d) 是從
d
\mathrmn5n3t3z
d 維中選擇的隨機整數(shù),
X
i
,
p
j
T
\mathrm{X}_{\mathrm{i}, \mathrm{p} \mathrm{j}}^{\mathrm{T}}
Xi,pjT? 是第i條白鯨 在
p
j
\mathrm{p}_{\mathrm{j}}
pj? 維度上的位置,
X
i
,
p
j
T
\mathrm{X}_{\mathrm{i}, \mathrm{p}_{\mathrm{j}}}^{\mathrm{T}}
Xi,pj?T? 和
X
r
,
p
1
T
\mathrm{X}_{\mathrm{r}, \mathrm{p} 1}^{\mathrm{T}}
Xr,p1T? 分別是第1條和第
r
\mathrm{r}
r 條白鯨的當前位置
(
r
\left(\mathrm{r}\right.
(r 是隨機選擇的白鯨),隨機數(shù)
r
1
r_1
r1? 和
r
2
r_2
r2? 用于增強探索階段的隨機算子 ,
r
1
\mathrm{r}_1
r1? 和
r
2
\mathrm{r}_2
r2? 是
(
0
,
1
)
(0,1)
(0,1) 的隨機數(shù),
sin
?
(
2
π
r
2
)
\sin \left(2 \pi \mathrm{r}_2\right)
sin(2πr2?) 和
sin
?
(
2
π
r
2
)
\sin \left(2 \pi \mathrm{r}_2\right)
sin(2πr2?) 表示鏡像白鯨的鲌朝向水面。根據(jù)奇偶數(shù)選擇的維數(shù),更新后的位置反映了白鯨在游泳或跳水時的同步或鏡像行為。
1.2 開發(fā)階段
BWO的開發(fā)階段受到白鯨捕食行為的啟發(fā)。白鯨可以根據(jù)附近白鯨的位置合作覓食和移動。因此,白鯨通過共享彼此的位置信息來捕 食,同時考慮最佳候選者和其他候選者。在BWO的開發(fā)階段引入了萊維飛行策略,以增強收斂性。假設它們可以使用萊維飛行策略捕捉 獵物,數(shù)學模型表示為:
X
i
T
+
1
=
r
3
X
best?
T
?
r
4
X
i
T
+
C
1
?
L
F
?
(
X
r
T
?
X
i
T
)
\mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}=\mathrm{r}_3 \mathrm{X}_{\text {best }}^{\mathrm{T}}-\mathrm{r}_4 \mathrm{X}_{\mathrm{i}}^{\mathrm{T}}+\mathrm{C}_1 \cdot \mathrm{L}_{\mathrm{F}} \cdot\left(\mathrm{X}_{\mathrm{r}}^{\mathrm{T}}-\mathrm{X}_{\mathrm{i}}^{\mathrm{T}}\right)
XiT+1?=r3?Xbest?T??r4?XiT?+C1??LF??(XrT??XiT?)
其中,
T
\mathrm{T}
T 是當前迭代次數(shù),
X
i
T
\mathrm{X}_{\mathrm{i}}^{\mathrm{T}}
XiT? 和
X
r
T
\mathrm{X}_{\mathrm{r}}^{\mathrm{T}}
XrT? 分別是第
i
\mathrm{i}
i 條白鯨和隨機白鯨的當前位置,
X
i
T
+
1
\mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}
XiT+1? 是第
i
\mathrm{i}
i 條白鯨的新位置,
X
b
e
s
t
T
\mathrm{X}_{\mathrm{best}}^{\mathrm{T}}
XbestT? 是白鯨種群中的最佳位置,
r
3
\mathrm{r}_3
r3? 和
r
4
\mathrm{r}_4
r4? 是
(
0
,
1
)
(0,1)
(0,1) 之間的隨機數(shù),
C
1
=
2
r
4
(
1
?
T
/
T
max
?
)
\mathrm{C}_1=2 \mathrm{r}_4\left(1-\mathrm{T} / \mathrm{T}_{\max }\right)
C1?=2r4?(1?T/Tmax?) 是衡量萊維飛行強度的隨機跳躍強度。
L
F
\mathrm{L}_{\mathrm{F}}
LF? 是萊維飛行函數(shù),計算如下:
L
F
=
0.05
×
u
×
σ
∣
v
∣
1
/
β
σ
=
(
Γ
(
1
+
β
)
×
sin
?
(
π
β
/
2
)
Γ
(
(
1
+
β
)
/
2
)
×
β
×
2
(
β
?
1
)
/
2
)
1
/
β
\begin{gathered} \mathrm{L}_{\mathrm{F}}=0.05 \times \frac{\mathrm{u} \times \sigma}{|\mathrm{v}|^{1 / \beta}} \\ \sigma=\left(\frac{\Gamma(1+\beta) \times \sin (\pi \beta / 2)}{\Gamma((1+\beta) / 2) \times \beta \times 2^{(\beta-1) / 2}}\right)^{1 / \beta} \end{gathered}
LF?=0.05×∣v∣1/βu×σ?σ=(Γ((1+β)/2)×β×2(β?1)/2Γ(1+β)×sin(πβ/2)?)1/β?
其中,
u
u
u 和
v
v
v 為正態(tài)分布隨機數(shù),
β
\beta
β 為默認常數(shù),等于1.5。
1.3 鯨魚墜落
為了在每次迭代中模擬鯨魚墜落的行為,從種群中的個體中選擇鯨魚墜落概率作為主觀假設,以模擬群體中的小變化。假設這些白鯨要 么移到別處,要么被擊落并墜入深海。為了確保種群大小的數(shù)量恒定,使用白鯨的位置和鯨魚落體的步長來建立更新的位置。數(shù)學模型表 示為:
X
i
T
+
1
=
r
5
X
i
T
?
r
6
X
r
T
+
r
7
X
step?
\mathrm{X}_{\mathrm{i}}^{\mathrm{T}+1}=\mathrm{r}_5 \mathrm{X}_{\mathrm{i}}^{\mathrm{T}}-\mathrm{r}_6 \mathrm{X}_{\mathrm{r}}^{\mathrm{T}}+\mathrm{r}_7 \mathrm{X}_{\text {step }}
XiT+1?=r5?XiT??r6?XrT?+r7?Xstep??
其中,
r
5
、
r
6
\mathrm{r}_5 、 \mathrm{r}_6
r5?、r6? 和
r
7
\mathrm{r}_7
r7? 是
(
0
,
1
)
(0,1)
(0,1) 之間的隨機數(shù),
X
s
t
e
p
\mathrm{X}_{\mathrm{step}}
Xstep? 是鯨魚墜落的步長,定義為:
X
step?
=
(
u
b
?
l
b
)
exp
?
(
?
C
2
?
T
/
T
max
?
)
\mathrm{X}_{\text {step }}=\left(\mathrm{u}_{\mathrm}-\mathrm{l}_{\mathrm}\right) \exp \left(-\mathrm{C}_2 \mathrm{~T} / \mathrm{T}_{\max }\right)
Xstep??=(ub??lb?)exp(?C2??T/Tmax?)
其中,
C
2
\mathrm{C}_2
C2? 是與鯨魚下降概率和種群規(guī)模相關(guān)的階躍因子
(
C
2
=
2
?
W
f
×
n
)
\left(\mathrm{C}_2=2 \mathrm{~W}_{\mathrm{f}} \times \mathrm{n}\right)
(C2?=2?Wf?×n) ,
u
b
\mathrm{u}_{\mathrm}
ub? 和
l
b
\mathrm{l}_{\mathrm}
lb? 分別是變量的上下限??梢钥闯?,步長受問題變量邊 界、當前迭代次數(shù)和最大迭代次數(shù)的影響。
在該模型中,鯨魚墜落概率
(
W
f
)
\left(\mathrm{W}_{\mathrm{f}}\right)
(Wf?) 作為線性函數(shù)計算:
W
f
=
0.1
?
0.05
?
T
/
T
max
?
\mathrm{W}_{\mathrm{f}}=0.1-0.05 \mathrm{~T} / \mathrm{T}_{\max }
Wf?=0.1?0.05?T/Tmax?
鯨魚隊落的概率從初始迭代的0.1降低到最后一次迭代的
0.05
0.05
0.05 ,表明在優(yōu)化過程中,當白鯨更接近食物源時,白鯨的危險性降低。
3.實驗結(jié)果
文章來源:http://www.zghlxwxcb.cn/news/detail-402178.html
4.參考文獻
[1] Changting Zhong, Gang Li, Zeng Meng. Beluga whale optimization: A novel nature-inspired metaheuristic algorithm[J]. Knowledge-Based Systems, 2022, 251: 109215.文章來源地址http://www.zghlxwxcb.cn/news/detail-402178.html
5.Matlab代碼
6.python代碼
到了這里,關(guān)于智能優(yōu)化算法:白鯨優(yōu)化算法-附代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!