• 基于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=

    {0.5×rand(0,1),f(Xdn1)<f(Xdn)0.5,f(Xdn1)=f(Xdn)10.5×rand(0,1),f(Xdn1)>f(Xdn)" role="presentation" style="position: relative;">{0.5×rand(0,1),f(Xdn1)<f(Xdn)0.5,f(Xdn1)=f(Xdn)10.5×rand(0,1),f(Xdn1)>f(Xdn)
    \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代码

  • 相关阅读:
    C++ 性能优化指南 KurtGuntheroth 第2章 影响优化的计算机行为
    Trusted Applications介绍
    支持向量机(SVM)—— 详细推导及案例应用可视化
    前端框架Vue学习 ——(四)Axios
    unity-模块卸载重新安装
    C/C++数据结构——关键活动(拓扑排序、AOE网、前向星)
    关于城市旅游的HTML网页设计——中国旅游HTML+CSS+JavaScript 出游旅游主题度假酒店 计划出行网站设计
    什么是面向对象编程?
    【第十四篇】- Maven 自动化构建
    xss过滤绕过笔记
  • 原文地址:https://blog.csdn.net/u011835903/article/details/126802205