一种新型智能优化算法-黏菌算法(SMA)附Matlab代码

  目录

一、SMA理论基础

二、SMA算法

2.1 接近食物

2.2 包围食物

2.3 震荡反应

 三、SMA流程图

 四、SMA伪代码

五、运行结果

 

       黏菌算法(SMA)是由Li等人通过模拟模拟黏菌觅食行为和形态变化,于2020年提出了一种新颖的黏菌优化算法。该算法的权重系数模拟了黏菌在遇到不同浓度的食物时其生物振荡器产生的正负反馈。

一、SMA理论基础

       黏菌算法中的黏菌一般是指多头绒泡菌,因其最初被归类为真菌,所以被命名为“黏菌”。黏菌是一种生活在寒冷潮湿地方的真核生物,黏菌的活跃动态阶段是黏菌算法研究的主要阶段。在这个阶段,黏菌使用体内的有机物寻找食物,包围它,并分泌酶来消化它。在黏菌迁移过程中,其前端会延伸成扇形,后端则连接着一个静脉网络,保证细胞质在其中流动,从而达到信息的沟通,并且根据搜寻到食物的质量和密度动态调整静脉直径的大小,最终将整个黏菌的位置调整至最优食物处。黏菌的觅食形态如下图所示:

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第1张图片

二、SMA算法

2.1 接近食物

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第2张图片

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第3张图片

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第4张图片

 将公式(1)可视化如下图:

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第5张图片

        从上图可知,randin公式可使个体在任意角度形成搜索向量,即在任意方向上搜索解空间,使算法具有找到最优解的可能性。公式 (1) 使搜索个体能够在最佳解附近的所有可能方向上搜索,从而模拟接近食物时黏菌的圆形扇形结构。

2.2 包围食物

       包围食物阶段模拟了黏菌静脉组织的收缩模式。静脉接触的食物浓度越高,生物振荡器产生的传播波越强,细胞质流动越快,静脉越厚。式  (5)  模拟了黏菌重量和食物浓度之间的正负反馈程,log用于减缓数值的变化率,稳定收缩频率的变化;condition模拟黏菌根据食物浓度调整位置的过程;食物浓度越高,区域附近的黏菌重量越大;如果食物浓度较低,黏菌会转向搜索其他区域,该区域黏菌重量较小。黏菌适应度值的可视化图如图  所示:

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第6张图片

 黏菌位置更新的数学公式如下:

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第7张图片

 其中,LB 和 UB 表示搜索范围的上下限;rand 和 r 表示[0,1]中的随机数;z 是用来权衡搜索与开发阶段的参数

2.3 震荡反应

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第8张图片

 三、SMA流程图

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第9张图片

 四、SMA伪代码

Initialize the parameters popsize, Max_iteraition;
Initialize the positions of slime mould X;(i = 1,2, ..n);
While (t ≤ Max_iteraition)
  Calculate the fitness of all slime mould;
  update bestFitness, X_b
  Calculate the W by Eq.(5);
    For each search portion
      update p, vb, vC;
      update positions by Eq. (7);
    End For
    t =t+ 1;
End While
Return bestFitness, X_b;

五、运行结果

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第10张图片

 

一种新型智能优化算法-黏菌算法(SMA)附Matlab代码_第11张图片

 

The best location of SMA is: -8.588e-163 2.5151e-264 2.6646e-237 -5.7506e-239  1.767e-213 1.7477e-241 -1.1709e-178 2.3819e-222 -1.8265e-249 9.7491e-186
The best fitness of SMA is: 0

测试多种函数后发现黏菌算法不但收敛快,而且求解精度非常高。

参考文献:[1]Li S, Chen H, Wang M, et al. Slime mould algorithm: A new method for stochastic optimization[J]. Future Generation Computer Systems, 2020, 111: 300-323.

 

 

你可能感兴趣的:(智能优化算法,数学建模)