基于Levy飞行策略的改进樽海鞘群算法-附代码

基于Levy飞行策略的改进樽海鞘群算法


摘要:针对樽海鞘群算法(Salp Swarm Algorithm,SSA)在寻优过程中存在的收敛速度较慢、容易陷入局部最优的缺点,提出了一种改进的采用莱维飞行策略的条件化更新的樽海鞘群算法(Levy Flight-based Conditional Updating Salp Swarm Algorithm,LECUSSA),并将其运用于分类算法的特征子集选择过程。首先,利用莱维飞行策略的长短跳跃特点对领导者位置进行随机更新,以增强全局最优的搜索能力;其次,增加对追随者位置的更新条件,让追随者不再盲目地跟随,从而加快收敛速度。

1.樽海鞘群算法

基础樽海鞘群算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107767869

2.改进樽海鞘群算法

2.1 领导者位置更新改进策略

采用 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[(UbLb)L(λ)+Lb](11)
其中, F F F 是基础目标位置, L ( λ ) L(\lambda) L(λ) 是 Levy 飞行路径。低频长距 离探索可以使算法更好地跳出局部最优, 向全局最优搜索, 从 而可以适当地解决算法易陷入局部最优的问题。

2.2 追随者位置更新改进策略

追随者在原有的樽海鞘群算法中斍目地跟随前一个樽海 鞘, 这会使得它错过更好的适应度位置。在改进算法 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(Xdn1+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= \begin{cases}0.5 \times \operatorname{rand}(0,1), & f\left(X_{d}^{n-1}\right)<f\left(X_{d}^{n}\right) \\ 0.5, & f\left(X_{d}^{n-1}\right)=f\left(X_{d}^{n}\right) \\ 1-0.5 \times \operatorname{rand}(0,1), & f\left(X_{d}^{n-1}\right)>f\left(X_{d}^{n}\right)\end{cases}\tag{13} r= 0.5×rand(0,1),0.5,10.5×rand(0,1),f(Xdn1)<f(Xdn)f(Xdn1)=f(Xdn)f(Xdn1)>f(Xdn)(13)
其中, 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

3.实验结果

请添加图片描述

4.参考文献

[1]张严,秦亮曦.基于Levy飞行策略的改进樽海鞘群算法[J].计算机科学,2020,47(07):154-160.

5.Matlab代码

6.python代码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值