基础樽海鞘群算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107767869
采用 Levy 飞行随机步长对领导者的位置更新进行改进。 Levy 飞行策略使得算法能够在长短距离之间随机变化, 利用 其中的少数长距离跳跃来避免算法陷入局部最优, 增强了全 局最优搜索能力。领导者的位置依据式(11) 进行更新:
X
1
=
F
+
c
1
[
(
U
b
−
L
b
)
⊕
L
(
λ
)
+
L
b
]
(11)
X^{1}=F+c_{1}[(U b-L b) \oplus L(\lambda)+L b] \tag{11}
X1=F+c1[(Ub−Lb)⊕L(λ)+Lb](11)
其中,
F
F
F 是基础目标位置,
L
(
λ
)
L(\lambda)
L(λ) 是 Levy 飞行路径。低频长距 离探索可以使算法更好地跳出局部最优, 向全局最优搜索, 从 而可以适当地解决算法易陷入局部最优的问题。
追随者在原有的樽海鞘群算法中斍目地跟随前一个樽海 鞘, 这会使得它错过更好的适应度位置。在改进算法 LECUSSA 中, 采用有条件的位置更新, 首先将前一个樽海鞘的 适应度与当前的适应度进行比较, 使得新位置更加地偏向适 应度较好的一侧。因此追随者的位置按照式 (12) 所示的改进 方式进行更新:
X
d
n
=
r
(
X
d
n
−
1
+
X
d
n
)
(12)
X_{d}^{n}=r\left(X_{d}^{n-1}+X_{d}^{n}\right)\tag{12}
Xdn=r(Xdn−1+Xdn)(12)
其中,
r
r
r 是位置偏移的系数, 其计算式如下:
r
=
{
0.5
×
rand
(
0
,
1
)
,
f
(
X
d
n
−
1
)
<
f
(
X
d
n
)
0.5
,
f
(
X
d
n
−
1
)
=
f
(
X
d
n
)
1
−
0.5
×
rand
(
0
,
1
)
,
f
(
X
d
n
−
1
)
>
f
(
X
d
n
)
(13)
r=
其中,
f
f
f 是适应度函数。
改进的算法 LECUSSA
步骤 1 初始化一个规模为 N 的樽海鞘种群,并在(lb,ub)内随机初始化种群的位置;
步骤 2 计算种群中每个樽海鞘的适应度
f
\mathrm{f}
f 值, 将适应度最小 (记为
f
best
)
\left.\mathrm{f}_{\text {best }}\right)
fbest ) 的樽海鞘的位置定义为目标位置
F
F
F;
步骤 3 按照式(11)更新领导者的位置;
步骤 4 对当前的樽海輎位置的适应度和前一个樽海鞘位置的适应 度进行比较, 根据式 (13) 得出偏移系数
r
\mathrm{r}
r, 再根据式 (12) 更新 跟随者的位置;
步骤 5 根据步棃 2 更新最小适应度
f
best
\mathrm{f}_{\text {best }}
fbest 和目标位置
F
\mathrm{F}
F;
步骤 6 不停地迭代步骤 3-步骤 5 , 直到达到最大迭代次数后停止, 并输出当前的目标位置
F
F
F 和最佳适应度
f
b
e
s
t
f_{b e s t}
fbest 。
[1]张严,秦亮曦.基于Levy飞行策略的改进樽海鞘群算法[J].计算机科学,2020,47(07):154-160.