基于自适应反向学习的黏菌算法

一、理论基础

1、黏菌算法

请参考这里

2、自适应反向学习黏菌算法

(1)反向学习

反向学习(Opposition-based learning, OBL)在搜索空间中使用了一个向量 X o i Xo_i Xoi,该向量与每个粘菌( i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n)的位置 X n i Xn_i Xni正好相反,并进行比较以更新下一次迭代的位置。这一步可提高避免陷入局部最优的机会,从而提高收敛性。因此,第 i i i个黏菌第 j j j维的 X o i Xo_i Xoi为: X o i j ( t ) = min ⁡ ( X n i ( t ) ) + max ⁡ ( X n i ( t ) ) − X n i j ( t ) (1) Xo_i^j(t)=\min(Xn_i(t))+\max(Xn_i(t))-Xn_i^j(t)\tag{1} Xoij(t)=min(Xni(t))+max(Xni(t))Xnij(t)(1)其中, i = 1 , 2 , ⋯   , n i=1,2,\cdots,n i=1,2,,n j = 1 , 2 , ⋯   , d j=1,2,\cdots,d j=1,2,,d
X s i Xs_i Xsi表示为第 i i i个黏菌位置,该位置用于最小化问题,如下所示: X s i ( t ) = { X o i ( t ) if    f ( X o i ( t ) ) < f ( X n i ( t ) ) X n i ( t ) if    f ( X o i ( t ) ) ≥ f ( X n i ( t ) ) (2) Xs_i(t)=\begin{dcases}Xo_i(t)\quad\text{if}\,\,f(Xo_i(t))<f(Xn_i(t))\\Xn_i(t)\quad\text{if}\,\,f(Xo_i(t))\geq f(Xn_i(t))\end{dcases}\tag{2} Xsi(t)={Xoi(t)iff(Xoi(t))<f(Xni(t))Xni(t)iff(Xoi(t))f(Xni(t))(2)

(2)自适应决策策略

当黏菌沿着死亡的营养路径前进时,将根据当前适应值 f ( X n i ( t ) ) f(Xn_i(t)) f(Xni(t))和旧适应值 f ( X i ( t ) ) f(X_i(t)) f(Xi(t))做出自适应决策。自适应决策有助于在需要时通过OBL补充额外的探索。最后,使用AOSMA的自适应决策策略更新下一次迭代的位置,其数学模型如下: X i ( t + 1 ) = { X n i ( t ) if    f ( X n i ( t ) ) ≤ f ( X i ( t ) ) X s i ( t )   if    f ( X n i ( t ) ) > f ( X i ( t ) ) (3) X_i(t+1)=\begin{dcases}Xn_i(t)\quad\text{if}\,\,f(Xn_i(t))\leq f(X_i(t))\\Xs_i(t)\quad\,\text{if}\,\,f(Xn_i(t))>f(X_i(t))\end{dcases}\tag{3} Xi(t+1)={Xni(t)iff(Xni(t))f(Xi(t))Xsi(t)iff(Xni(t))>f(Xi(t))(3)

(3)AOSMA算法伪代码

AOSMA算法伪代码如图1所示。
在这里插入图片描述

图1 AOSMA算法伪代码

二、仿真实验与结果分析

将AOSMA与SMA、EO、HHO、SSA和WOA进行对比,实验设置种群规模为30,最大迭代次数为500,函数维度为30,每个算法独立运行30次,以文献[1]中F1、F10、F11、F15、CEC14-F24、CEC14-F27为例,结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F1
AOSMA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SMA:最差值: 2.5777e-259, 最优值: 0, 平均值: 8.5923e-261, 标准差: 0, 秩和检验: 0.1608
EO:最差值: 1.9826e-39, 最优值: 1.78e-44, 平均值: 9.4141e-41, 标准差: 3.6115e-40, 秩和检验: 1.2118e-12
HHO:最差值: 6.6372e-96, 最优值: 6.6047e-111, 平均值: 4.0498e-97, 标准差: 1.3836e-96, 秩和检验: 1.2118e-12
SSA:最差值: 2.9221e-06, 最优值: 2.5514e-08, 平均值: 2.9016e-07, 标准差: 6.8012e-07, 秩和检验: 1.2118e-12
WOA:最差值: 7.1835e-72, 最优值: 2.1365e-87, 平均值: 2.5491e-73, 标准差: 1.3108e-72, 秩和检验: 1.2118e-12
函数:F10
AOSMA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
SMA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
EO:最差值: 1.5099e-14, 最优值: 7.9936e-15, 平均值: 8.4673e-15, 标准差: 1.5425e-15, 秩和检验: 6.1337e-14
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
SSA:最差值: 4.2979, 最优值: 0.10076, 平均值: 2.5012, 标准差: 0.88972, 秩和检验: 1.2118e-12
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.9146e-15, 标准差: 2.234e-15, 秩和检验: 8.966e-11
函数:F11
AOSMA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SMA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
EO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
HHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
SSA:最差值: 0.035528, 最优值: 0.00015927, 平均值: 0.011885, 标准差: 0.0102, 秩和检验: 1.2118e-12
WOA:最差值: 0.22726, 最优值: 0, 平均值: 0.01542, 标准差: 0.054324, 秩和检验: 0.081523
函数:F15
AOSMA:最差值: 0.0005019, 最优值: 0.00030807, 平均值: 0.00039631, 标准差: 6.4434e-05, 秩和检验: 1
SMA:最差值: 0.0012233, 最优值: 0.00031025, 平均值: 0.00050936, 标准差: 0.00020961, 秩和检验: 0.074827
EO:最差值: 0.020363, 最优值: 0.00030749, 平均值: 0.0017329, 标准差: 0.0050721, 秩和检验: 0.0015966
HHO:最差值: 0.00032371, 最优值: 0.00030752, 平均值: 0.00031077, 标准差: 4.3397e-06, 秩和检验: 7.1186e-09
SSA:最差值: 0.0015181, 最优值: 0.00049345, 平均值: 0.00092156, 标准差: 0.00026949, 秩和检验: 3.3384e-11
WOA:最差值: 0.0020576, 最优值: 0.0003081, 平均值: 0.00065769, 标准差: 0.00039688, 秩和检验: 0.0010035
函数:CEC14-F24
AOSMA:最差值: 2600, 最优值: 2600, 平均值: 2600, 标准差: 0, 秩和检验: NaN
SMA:最差值: 2600, 最优值: 2600, 平均值: 2600, 标准差: 0, 秩和检验: NaN
EO:最差值: 2600.0644, 最优值: 2600.0067, 平均值: 2600.0218, 标准差: 0.012102, 秩和检验: 1.2118e-12
HHO:最差值: 2600.004, 最优值: 2600, 平均值: 2600.0003, 标准差: 0.00089869, 秩和检验: 3.4526e-07
SSA:最差值: 2665.3212, 最优值: 2630.832, 平均值: 2645.1486, 标准差: 8.0232, 秩和检验: 1.2118e-12
WOA:最差值: 2630.6305, 最优值: 2602.4225, 平均值: 2609.6181, 标准差: 7.1977, 秩和检验: 1.2118e-12
函数:CEC14-F27
AOSMA:最差值: 2900, 最优值: 2900, 平均值: 2900, 标准差: 0, 秩和检验: NaN
SMA:最差值: 2900, 最优值: 2900, 平均值: 2900, 标准差: 0, 秩和检验: NaN
EO:最差值: 3479.0808, 最优值: 3121.2413, 平均值: 3296.8543, 标准差: 77.2282, 秩和检验: 1.2118e-12
HHO:最差值: 2900, 最优值: 2900, 平均值: 2900, 标准差: 0, 秩和检验: NaN
SSA:最差值: 3969.2372, 最优值: 3112.0542, 平均值: 3617.3727, 标准差: 220.4189, 秩和检验: 1.2118e-12
WOA:最差值: 4283.9885, 最优值: 3256.6892, 平均值: 3993.8558, 标准差: 248.1743, 秩和检验: 1.2118e-12

实验结果表明:AOSMA的性能优于其他优化算法。

三、参考文献

[1] Naik, M.K., Panda, R., Abraham, A. Adaptive opposition slime mould algorithm[J]. Soft Computing, 2021, 25: 14297-14313.

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值