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

文章目录

  • 基于Levy飞行策略的改进樽海鞘群算法
    • 1.樽海鞘群算法
    • 2.改进樽海鞘群算法
      • 2.1 领导者位置更新改进策略
      • 2.2 追随者位置更新改进策略
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.python代码

摘要:针对樽海鞘群算法(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) 进行更新:
X1=F+c1[(Ub−Lb)⊕L(λ)+Lb](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)
其中, FFF 是基础目标位置, L(λ)L(\lambda)L(λ) 是 Levy 飞行路径。低频长距 离探索可以使算法更好地跳出局部最优, 向全局最优搜索, 从 而可以适当地解决算法易陷入局部最优的问题。

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

追随者在原有的樽海鞘群算法中斍目地跟随前一个樽海 鞘, 这会使得它错过更好的适应度位置。在改进算法 LECUSSA 中, 采用有条件的位置更新, 首先将前一个樽海鞘的 适应度与当前的适应度进行比较, 使得新位置更加地偏向适 应度较好的一侧。因此追随者的位置按照式 (12) 所示的改进 方式进行更新:
Xdn=r(Xdn−1+Xdn)(12)X_{d}^{n}=r\left(X_{d}^{n-1}+X_{d}^{n}\right)\tag{12} Xdn​=r(Xdn−1​+Xdn​)(12)
其中, rrr 是位置偏移的系数, 其计算式如下:
r={0.5×rand⁡(0,1),f(Xdn−1)<f(Xdn)0.5,f(Xdn−1)=f(Xdn)1−0.5×rand⁡(0,1),f(Xdn−1)>f(Xdn)(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,1−0.5×rand(0,1),​f(Xdn−1​)<f(Xdn​)f(Xdn−1​)=f(Xdn​)f(Xdn−1​)>f(Xdn​)​(13)
其中, fff 是适应度函数。

改进的算法 LECUSSA

步骤 1 初始化一个规模为 N 的樽海鞘种群,并在(lb,ub)内随机初始化种群的位置;
步骤 2 计算种群中每个樽海鞘的适应度 f\mathrm{f}f 值, 将适应度最小 (记为 fbest )\left.\mathrm{f}_{\text {best }}\right)fbest ​) 的樽海鞘的位置定义为目标位置 FFF;
步骤 3 按照式(11)更新领导者的位置;
步骤 4 对当前的樽海輎位置的适应度和前一个樽海鞘位置的适应 度进行比较, 根据式 (13) 得出偏移系数 r\mathrm{r}r, 再根据式 (12) 更新 跟随者的位置;
步骤 5 根据步棃 2 更新最小适应度 fbest \mathrm{f}_{\text {best }}fbest ​ 和目标位置 F\mathrm{F}F;
步骤 6 不停地迭代步骤 3-步骤 5 , 直到达到最大迭代次数后停止, 并输出当前的目标位置 FFF 和最佳适应度 fbestf_{b e s t}fbest​ 。

3.实验结果

4.参考文献

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

5.Matlab代码

6.python代码

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

  1. 基于觅食生境选择的改进粒子群算法-附代码

    基于觅食生境选择的改进粒子群算法 文章目录 基于觅食生境选择的改进粒子群算法 1.粒子群优化算法 2. 改进粒子群算法 3.实验结果 4.参考文献 5.Matlab代码 6.Python代码 摘要:在 ...

  2. 基于混沌映射的自适应樽海鞘群算法-附代码

    基于混沌映射的自适应樽海鞘群算法 文章目录 基于混沌映射的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 混沌映射 2.2 自适应权重变化 2.3 追随者机制变化 3.实验结果 4 ...

  3. 面向全局搜索的自适应领导者樽海鞘群算法-附代码

    面向全局搜索的自适应领导者樽海鞘群算法 文章目录 面向全局搜索的自适应领导者樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 改进领导者位置更新公式 2.2 引入领导者-跟随者自适应调整策 ...

  4. 混沌映射与动态学习的自适应樽海鞘群算法-附代码

    混沌映射与动态学习的自适应樽海鞘群算法 文章目录 混沌映射与动态学习的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 基于改进 Tent 映射的种群初始化 2.2 基于 Logis ...

  5. 全局优化的改进鸡群算法-附代码

    全局优化的改进鸡群算法 文章目录 全局优化的改进鸡群算法 1.鸡群优化算法 2.全局优化的改进鸡群算法 2.1自适应策略 2.2 偏好随机游动 2.3 定向变异策略 3.实验结果 4.参考文献 5.M ...

  6. 基于正交设计的折射反向学习樽海鞘群算法

    文章目录 一.理论基础 1.樽海鞘群算法 2.正交反向学习樽海鞘群算法OOSSA (1)正交反向学习策略 (2)惯性权重策略 (3)OOSSA算法 二.仿真实验与结果分析 三.参考文献 一.理论基础 ...

  7. 基于Cat混沌与高斯变异的改进灰狼优化算法-附代码

    基于Cat混沌与高斯变异的改进灰狼优化算法 文章目录 基于Cat混沌与高斯变异的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 混沌反向学习策略的种群初始化 2. 2 引入个体记忆 ...

  8. 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码

    基于 Iterative 映射和单纯形法的改进灰狼优化算法 文章目录 基于 Iterative 映射和单纯形法的改进灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(SMIGWO) 2.1 混沌 ...

  9. 具有自适应调整策略的混沌灰狼优化算法-附代码

    具有自适应调整策略的混沌灰狼优化算法 文章目录 具有自适应调整策略的混沌灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法 2.1 自适应调整策略 2. 2 混沌局部搜索策略 3.实验结果 4.参 ...

  10. 一种基于交叉选择的柯西反向鲸鱼优化算法 -附代码

    一种基于交叉选择的柯西反向鲸鱼优化算法 文章目录 一种基于交叉选择的柯西反向鲸鱼优化算法 1.鲸鱼优化算法 2. 改进鲸鱼优化算法 2.1 柯西反向学习 2.2 引入交叉与选择策略的鲸鱼优化算法 3. ...

最新文章

  1. ServiceLoader的使用
  2. Weex Flexbox弹性布局使用
  3. FreeModbus RTU传输
  4. 常用测试设计方法--其他
  5. 国内三巨头为什么那么成功
  6. ORACLE错误6650
  7. JAVA输入jdb,解决 JAVA 单步调试键盘输入被 JDB 占用的问题
  8. erlang中遍历取出某个位置的最大值
  9. java 读取配置文件的几种方法
  10. 新华三:竞奔不息,永立潮头
  11. .NET图表控件TeeChart Pro ActiveX使用教程:轴控制
  12. CrackMe —— 004
  13. 2019 CSP-S第二轮认证一等奖获奖名单
  14. 中文和英语中主语、谓语、宾语、定语、状语、补语的定义
  15. vscode 设置关键字高亮显示
  16. Rabbitmq—centos7安装rabbitmq教程 以及 PHP开启rabbitmq扩展!
  17. Android 百度人脸识别问题总结
  18. CAD如何快速查找图纸的存放位置?怎么实现快速看图?
  19. 测试必备的15个docker命令,你都掌握了吗
  20. SpringCloud入门 —— SSO 单点登录

热门文章

  1. 定时器之多层级时间轮
  2. 计算机与酒店管理大学论文,酒店管理系统的设计与实现
  3. IMM将软件测试成熟度分为5个,软件测试成熟度模型
  4. matlab状态反馈控制器设计,状态反馈控制器设计方案书.doc
  5. Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数模竞赛简介 相关书籍、文章推荐等详细攻略
  6. 【Linux】Ubuntu18.04深度学习环境配置+Google+TIM+搜狗输入法等安装方法
  7. 如何破解隔壁妹子的wifi密码,成功率高达90%
  8. IP地址是什么?它怎样分类?它和子网掩码的关系是什么?以太网和令牌环网分别是什么?
  9. 手写字体识别(1) 准备数据集
  10. 官方示例之地球模块五:ThingLayer