莱维飞行和反馈策略的自适应被囊群算法

一、理论基础

1、被囊群优化算法

请参考这里

2、LSATSA算法

(1)融入反馈策略位置更新

本文在搜索种群空间中随机选出一只被囊动物,得到随机被囊动物的反馈信息,然后再结合最佳位置去更新个体位置。通过不断地迭代,最终找到食物。如果选择的随机被囊动物离食物近,那么它反馈给其他被囊动物的信息是有利于个体位置更新的,则在更新位置时加入反馈的信息;反之,如果随机被囊动物离食物远,那么反馈回来的信息对当前位置更新没有帮助。 建立的数学模型如下: γ = 1 1 + exp ⁡ ( − t ) (1) \gamma=\frac{1}{1+\exp(-t)}\tag{1} γ=1+exp(t)1(1) β = F max ⁡ + ( F max ⁡ − F min ⁡ ) ⋅ rand (2) \beta=\text{F}_{\max}+(\text{F}_{\max}-\text{F}_{\min})\cdot\text{rand}\tag{2} β=Fmax+(FmaxFmin)rand(2) P ( x ) = { P ( x ) + β ⋅ ( F best − P ( x ) ) + β ⋅ ( R ( x ) − P ( x ) ) + γ , F ( R ( x ) ) ≥ F ( P ( x ) ) P ( x ) + β ⋅ ( F best − P ( x ) ) + γ ,       F ( R ( x ) ) < F ( P ( x ) ) (3) P(x)=\begin{dcases}P(x)+\beta\cdot(\text F_{\text{best}}-P(x))+\beta\cdot(R(x)-P(x))+\gamma,\quad \text F(R(x))≥\text F(P(x))\\P(x)+\beta\cdot(\text F_{\text{best}}-P(x))+\gamma,\quad\quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\,\, \text F(R(x))<\text F(P(x))\end{dcases}\tag{3} P(x)={P(x)+β(FbestP(x))+β(R(x)P(x))+γ,F(R(x))F(P(x))P(x)+β(FbestP(x))+γ,F(R(x))<F(P(x))(3)其中, β \beta β是共享系数,平衡位置更新时反馈信息的大小; γ \gamma γ为反馈数,随着迭代次数的增加,呈现递增趋势,能够加快被囊动物之间的信息交流; R ( x ) R(x) R(x)为随机被囊动物个体; F \text F F为计算被囊个体适应度; t t t表示当前迭代次数。
反馈策略可以借助随机个体的信息帮助自身更快的完成最佳位置的探索,有效的避免了算法陷入局部最优的风险。而且在迭代的初期,这样的反馈策略,使得算法增强了探索开发能力,可以避免算法早熟现象。

(2)莱维飞行策略

由于莱维飞行机制,使得个体位置的变化更加灵动,所以可以避免算法陷入停滞状态。其使用引入莱维飞行的位置更新如下: P ( x ) = { P ( x ) + α ⋅ L ( β ) ⋅ ( F best − P ( x ) ) , t / T max ⁡ < rand F best + A ⋅ P D ,    t / T max ⁡ > rand    and    rand ≥ 0.5 F best − A ⋅ P D ,    t / T max ⁡ > rand    and    rand < 0.5 (4) P(x)=\begin{dcases}P(x)+\alpha\cdot\text L(\beta)\cdot(\text F_{\text{best}}-P(x)),\quad t/T_{\max}<\text{rand}\\\text{F}_{\text{best}}+A\cdot PD,\quad\,\, t/T_{\max}>\text{rand}\,\,\text{and}\,\,\text{rand}≥0.5\\\text{F}_{\text{best}}-A\cdot PD,\quad\,\, t/T_{\max}>\text{rand}\,\,\text{and}\,\,\text{rand}<0.5\end{dcases}\tag{4} P(x)=P(x)+αL(β)(FbestP(x)),t/Tmax<randFbest+APD,t/Tmax>randandrand0.5FbestAPD,t/Tmax>randandrand<0.5(4)其中, L ( β ) \text{L}(\beta) L(β)的表达式请参考这里

(3)自适应权重

针对标准被囊群算法的盲目性,本文在被囊群算法的群体行为中加入自适应权重值。在更新个体位置时,使用自适应权重代替原被囊群算法中的随机数。具体的数学表达如下式: c = { 2 e − ( 2 t / T max ⁡ ) ,     t < T max ⁡ / 2 2 e − ( T max ⁡ − t ) / T max ⁡ , t ≥ T m a x / 2 (5) c=\begin{dcases}2e^{-(2t/T_{\max})},\quad\quad\,\,\, t<T_{\max}/2\\2e^{-(T_{\max}-t)/T_{\max}},\quad t≥T_{max}/2\end{dcases}\tag{5} c={2e(2t/Tmax),t<Tmax/22e(Tmaxt)/Tmax,tTmax/2(5)在被囊群算法的群体行为中引入自适应权重值的个体位置更新公式为: P ( x + 1 ) = P ( x ) + P ( x + 1 ) 2 + c (6) P(x+1)=\frac{P(x)+P(x+1)}{2+c}\tag{6} P(x+1)=2+cP(x)+P(x+1)(6)算法迭代中前期,自适应权重值随时间逐渐减小,位置更新权重整体增大,更新步长增大,算法在前期具有较强的探索能力;算法迭代中后期,自适应权重值随时间逐渐增大,位置更新权重整体减小,更新步长减小,算法在后期具有较强的开发能力。

(4)LFATSA算法流程

本文将莱维飞行、反馈策略和自适应函数融入到标准的被囊群算法中,使得算法具有较强的全局搜索能力和局部开发能力,而且有效的降低了算法的盲目性。当陷入局部最优的时候,改进的算法还具有跳出局部最优的能力。较标准的被囊群算法来说,改进后的被囊群算法整体上效果更优。算法步骤如下:
Step1 初始化种群 P P P
Step2 初始化种群参数,边界条件;
Step3 计算每个个体的适应度值;
Step4 根据式(3)加入反馈策略更新个体位置;
Step5 根据式(5)计算自适应权重值 c c c
Step6 在原位置更新处融入式(4)莱维飞行机制和自适应权重共同更新个体位置;
Step7 根据群体行为更新每个个体位置;
Step8 调整超出给定搜索空间边界的个体位置;
Step9 计算更新后的群体每个个体的适应度值,如果适应度优于之前,则更新;
Step10 如果满足停止条件,则停止算法,否则重复步骤如果满足停止条件,则停止算法,否则重复步骤Step6~Step10
Step11 返回最优值。

二、仿真实验与分析

为了验证算法的有效性和鲁棒性,将本文算法与SCA、WOA和标准TSA做比较,实验中种群设置为30,空间维度为30,最大迭代次数为500,每个算法独立运行30次。以文献[1]中表1的6个测试函数为例。结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
SCA:最差值: 928.3378,最优值:0.0068383,平均值:41.9881,标准差:168.6353,秩和检验:1.2118e-12
WOA:最差值: 7.8791e-73,最优值:1.238e-87,平均值:4.7914e-74,标准差:1.5792e-73,秩和检验:1.2118e-12
TSA:最差值: 1.8883e-194,最优值:2.0134e-204,平均值:1.2405e-195,标准差:0,秩和检验:1.2118e-12
LFATSA:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F2
SCA:最差值: 0.10609,最优值:6.2247e-05,平均值:0.01643,标准差:0.023782,秩和检验:3.018e-11
WOA:最差值: 1.0166e-48,最优值:6.6973e-59,平均值:3.4129e-50,标准差:1.8555e-49,秩和检验:3.018e-11
TSA:最差值: 4.6928e-99,最优值:4.3806e-104,平均值:4.9106e-100,标准差:1.1851e-99,秩和检验:3.018e-11
LFATSA:最差值: 1.3241e-242,最优值:0,平均值:4.506e-244,标准差:0,秩和检验:1
函数:F3
SCA:最差值: 23647.2713,最优值:1164.7578,平均值:9011.4302,标准差:5782.3753,秩和检验:1.2118e-12
WOA:最差值: 74058.1662,最优值:21355.9667,平均值:42938.3251,标准差:12161.5342,秩和检验:1.2118e-12
TSA:最差值: 5.0436e-182,最优值:1.1919e-188,平均值:5.1879e-183,标准差:0,秩和检验:1.2118e-12
LFATSA:最差值: 0,最优值:0,平均值:0,标准差:0,秩和检验:NaN
函数:F4
SCA:最差值: 56.4123,最优值:14.946,平均值:35.9019,标准差:11.7196,秩和检验:3.0199e-11
WOA:最差值: 85.9274,最优值:0.23655,平均值:41.4208,标准差:29.1391,秩和检验:3.0199e-11
TSA:最差值: 5.0299e-90,最优值:5.0027e-96,平均值:1.9234e-91,标准差:9.1511e-91,秩和检验:3.0199e-11
LFATSA:最差值: 2.9321e-207,最优值:0,平均值:9.7738e-209,标准差:0,秩和检验:1
函数:F5
SCA:最差值: 20.3136,最优值:0.13047,平均值:12.5283,标准差:9.2009,秩和检验:1.2118e-12
WOA:最差值: 7.9936e-15,最优值:8.8818e-16,平均值:4.6777e-15,标准差:2.2726e-15,秩和检验:3.0358e-10
TSA:最差值: 4.4409e-15,最优值:4.4409e-15,平均值:4.4409e-15,标准差:0,秩和检验:1.6853e-14
LFATSA:最差值: 8.8818e-16,最优值:8.8818e-16,平均值:8.8818e-16,标准差:0,秩和检验:NaN
函数:F6
SCA:最差值: 1304340.6865,最优值:3.4219,平均值:123779.5734,标准差:298910.7992,秩和检验:3.0199e-11
WOA:最差值: 0.94253,最优值:0.183,平均值:0.49778,标准差:0.19571,秩和检验:3.0199e-11
TSA:最差值: 2.8949,最优值:2.1065,平均值:2.6352,标准差:0.21421,秩和检验:0.0086844
LFATSA:最差值: 2.8832,最优值:1.9814,平均值:2.7243,标准差:0.19161,秩和检验:1

实验结果表明:LFATSA算法具有很好的性能,收敛速度快和寻优精度高,探索能力和开发能力得到增强。

代码下载地址:https://download.csdn.net/download/weixin_43821559/85941303

三、参考文献

[1] 梁建明, 何庆. 莱维飞行和反馈策略的自适应被囊群算法[J/OL]. 小型微型计算机系统: 1-9 [2021-11-13].

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值