基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167
柯西分布在原点处峰值比较小, 而在两端的分 布比较长. 所以, 柯西变异可以在当前变异个体附近 生成更大的扰动, 使得柯西变异范围比较广, 因此, 采用柯西变异的两端分布更容易跳出局部极值, 所 以本文采用了柯西逆累积分布函数, 充分利用柯西 两端变异的效果.
当鲸群在进行全局搜索时, 需要随机选取一头 鲸鱼作为参考鲸鱼, 然后其它鲸鱼向参考鲸鱼随机 选取靠近. 参考鲸鱼的选择影响鲸鱼算法的全局搜 索, 原算法中参考鲸鱼是随机选择的, 因此不容易找 到全局最优解, 针对这个问题受文献
[
9
]
[9]
[9] 的启发, 本 文选取了柯西逆累积分布函数对鲸鱼进行变异, 通 过柯西分布
[
9
]
{ }^{[9]}
[9] 有很长的尾巴的特点, 让鲸鱼个体朝 更广的范围变异. 同时, 当鲸鱼进行柯西逆累积分布 函数变异时, 鲸鱼会采用螺旋行走进行局部寻优, 从 而避免了鲸鱼盲目变异的特点. 柯西逆累积分布函 数如公式 (9) 所示, 将公式 (7)、(8)改成公式 (10).
F
−
1
(
p
;
x
0
,
γ
)
=
x
0
+
γ
⋅
tan
(
π
⋅
(
p
−
1
2
)
)
(9)
F^{-1}\left(p ; x_{0}, \gamma\right)=x_{0}+\gamma \cdot \tan \left(\pi \cdot\left(p-\frac{1}{2}\right)\right) \tag{9}
F−1(p;x0,γ)=x0+γ⋅tan(π⋅(p−21))(9)
X
⃗
(
t
+
1
)
=
x
i
j
(
t
)
+
A
⃗
⋅
tan
(
π
⋅
(
r
−
1
2
)
)
(10)
式中,
F
−
1
F^{-1}
F−1 是柯西分布的逆累积分布函数,
x
i
j
x_{i j}
xij 是变异前的 第
i
i
i 头鲸鱼的
j
j
j 个位置点,
γ
=
A
⃗
,
r
∈
[
0
,
1
]
\gamma=\vec{A}, r \in[0,1]
γ=A,r∈[0,1] 的均匀分布.
惯性权重是粒子群中很重要的一个参数, 当惯 性权重较大时,算法搜索能力较强,可以搜索较大的 区域,当惯性权重较小时,算法后期搜索能力较强, 可以在最优解周围精细搜索.
鲸鱼进行局部寻优时, 是以公式 (2) 和公式 (5) 进行局部搜索的, 其中当鲸鱼以公式 (2) 向局部最 优解靠近时, 这时只能靠近局部最优解, 而不能进行 更好的局部寻优, 针对这个问题受文献 [10] 的启 发, 提出了新的自适应权重方法, 鲸鱼接近食物的时 候,采用较小的自适应权重改变此时最优的鲸鱼的 位置, 使得鲸鱼局部寻优能力得到提高. 自适应权值 公式如 (11) 所示, 改进式 (2) 的公式如 (12) 所示:
w
=
sin
(
π
⋅
t
2
⋅
i
t
max
+
π
)
+
1
(11)
w=\sin \left(\frac{\pi \cdot t}{2 \cdot i t_{\max }}+\pi\right)+1 \tag{11}
w=sin(2⋅itmaxπ⋅t+π)+1(11)
X
⃗
(
t
+
1
)
=
w
⋅
X
∗
→
(
t
)
−
A
⃗
⋅
D
⃗
(12)
式中,
t
t
t 为当前迭代次数,
i
t
max
i t_{\max }
itmax 是最大迭代次数.


[1]郭振洲,王平,马云峰,王琦,拱长青.基于自适应权重和柯西变异的鲸鱼优化算法[J].微电子学与计算机,2017,34(09):20-25.