基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
在这个阶段中, WOA 随机选取一头鲸鱼的位置作为指导信息进行寻优, 这种策略虽然可以有效地保 持种群的多样性, 但这种随机选择的不确定性导致
W
O
A
\mathrm{WOA}
WOA 的稳定性变差、寻优速度变慢以及寻优精度不高 的问题。因此, 将基于均值个体的反馈机制加入该阶段, 每个鲸鱼个体通过实时分享各自的位置来获取整 个种群位置的平均值, 然后所有鲸鱼都以这个平均位置作为新位置更新的指导信息。均值向量的引入可 以避免种群过早陷入局部最优, 以及出现种群大量趋同的情况; 且综合整个种群的有用信息进行寻优指 导,避免随机个体选择的过于盲目性。反馈数学模型如下:
X
⃗
t
+
1
=
X
⃗
t
+
r
⃗
⋅
(
X
⃗
−
X
⃗
t
)
(9)
\vec{X}_{t+1}=\vec{X}_{t}+\vec{r} \cdot\left(\vec{X}-\vec{X}_{t}\right) \tag{9}
Xt+1=Xt+r⋅(X−Xt)(9)
式中:
X
⃗
\vec{X}
X 为当前所有
X
⃗
t
\vec{X}_{t}
Xt 的平均向量。
在这个阶段中,WOA 选取一头位置最优的鲸鱼作为导航的目标,这样可以保证鲸鱼都往最优解靠拢,加快种群的收敛速度。但在进化的过程中,很有可能种群中的最优个体( 鲸鱼) 在连续的几代都得不到改进,从而减弱最优个体的引导作用,造成种群过早陷入局部最优,出现个体大量趋同的情况。因此,将基于标准差的反馈机制引入该阶段,通过计算最优个体和均值个体的标准差,再以基于该标准差和最优个体的正态分布来更新最优个体,从而避免连续多代最优个体无法改进的缺陷。基于标准差的反馈机制的数学模型如下:
s
t
d
→
=
∣
X
⃗
∗
−
X
⃗
∣
(10)
\overrightarrow{s t d}=\left|\vec{X}^{*}-\vec{X}\right| \tag{10}
std=∣
∣X∗−X∣
∣(10)
X
⃗
new
∗
=
randn
(
X
⃗
∗
,
s
t
d
→
)
(11)
式中:
X
⃗
∗
\vec{X}^{*}
X∗ 为最优位置向量;
randn
(
X
⃗
∗
,
s
t
d
→
)
\operatorname{randn}\left(\vec{X}^{*}, \overrightarrow{s t d}\right)
randn(X∗,std) 是以
X
⃗
∗
\vec{X}^{*}
X∗ 为均值,
s
t
d
→
\overrightarrow{s t d}
std 为标准差的正态分布, 通过逐维求正太 分布随机变量求得, 最终产生一个新的最优解
X
⃗
n
e
w
∗
\vec{X}_{\mathrm{new}}^{*}
Xnew∗, 若
X
⃗
new
∗
\vec{X}_{\text {new }}^{*}
Xnew ∗ 的适应度值( 函数值) 小于
X
⃗
\vec{X}
X, 则
X
⃗
∗
=
X
⃗
new
∗
\vec{X}^{*}=\vec{X}_{\text {new }}^{*}
X∗=Xnew ∗, 否 则
X
⃗
∗
\vec{X}^{*}
X∗ 保持不变。
[1]范家承,何杰光.基于反馈机制的鲸鱼优化算法[J].广东石油化工学院学报,2018,28(04):47-51.