黏菌优化算法SMA(学习笔记_07)

黏菌优化算法SMA

1. 定理

  • 根据黏菌个体的振荡捕食行为提出。

  • 黏菌(通过黏菌静脉)可以根据空气中食物气味的浓度来接近食物。

    • 高:生物振荡越强,黏菌静脉宽度增大,该区域聚集更多黏菌。

    • 低:黏菌转向探索其他区域。

2. 参数

  • vc :反馈因子,描述食物浓度与黏菌质量之间的反馈关系。

    • [-1,1]之间的随机数,随迭代次数的增加逐渐趋于0

    • vc ∈ [-b,b],b = 1−t/T

    • t:当前迭代次数,T:最大迭代次数

  • vb : [-a,a]之间的随机数,随迭代次数的增加逐渐趋于0

    • a = arctanh(−(t/T)+1)

  • p :控制参数,p = tanh∣S(i)−DF∣

    • S(i): 当前迭代第i个个体的适应度值

    • DF: 当前最佳适应度值

  • z : z = 0.03; %包裹食物时全局搜索的概率因子

3. 算法流程

  1. 初始化种群, 当前迭代次数it = 1

  2. while it <= iter_max

    1. 接近食物(气味指数)

    2. 包裹食物

    3. 获取食物

  3. end

  4. 输出结果

4. 详细流程

  1. 接近食物(气味指数)

    1. 计算每个黏菌的适应度值,S( )

    2. 对当前种群的适应度值进行排序(求最小值时升序,求最大值时降序),SmellIndex( )

    3. 记录黏菌个体的最佳适应度值DF及最佳位置

  2. 包裹食物

    1. 更新参数a,b

      1. a = arctanh(−(t/T)+1)

      2. b=1−t/T

    2. 计算每个黏菌个体的适应度权重

      黏菌个体适应度权重公式如下:黏菌优化算法SMA(学习笔记_07)黏菌优化算法SMA(学习笔记_07)

      bF :当前迭代最佳适应度值wF: 当前迭代最差适应度值,r :[0,1]随机数

    3. 更新黏菌个体的位置(产生下一代种群)

      黏菌个体位置更新公式如下:

      黏菌优化算法SMA(学习笔记_07)黏菌优化算法SMA(学习笔记_07)

      ub: 自变量上限,lb:自变量下限,vc = [-b,b]随机数,vb:[-a,a]随机数,A.B:随机选择的当前迭代中的两个个体的位置。

  3. 获取食物

    1. 记录最佳适应度值DF

    2. 迭代次数 it = it + 1;

5. 适应度函数

黏菌优化算法SMA(学习笔记_07)

6. 参考文献

[1] Shimin Li, Huiling Chen, Mingjing Wang, Ali Asghar Heidari, Seyedali Mirjalili. Slime mould algorithm: A new method for stochastic optimization[J]. Future Generation Computer Systems, 2020, 111: 300-323.

版权声明:本文为博主Cloud-Lii原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_49647278/article/details/122665626

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年1月24日
下一篇 2022年1月24日

相关推荐