智能优化算法:黑寡妇算法 -附代码

智能优化算法:黑寡妇算法


摘要:黑寡妇算法(Black Widow Optimization Algorithm,BWO)是 2020 年由 Vahideh Hayyolalam 等人受黑寡妇蜘蛛独特的交配行为启发而提出的,该算法模拟了黑寡妇蜘蛛的生命周期。具有收敛速度快,精度高等特点。

1.算法原理

1.1 初始化种群

黑寡妇蜘蛛种群初始化与其他智能优化算法一致,在边界范围内随机初始化种群。

1.2 蜘蛛运动。

黑寡妇蜘蛛在网格内按照线性和螺旋的方式进行运动,位置更新可见公(1)。
X i ( t + 1 ) = { X b e s t − m X r 1 ( t ) , i f   r a n d ≤ 0.3 X b e s t − c o s ( 2 π β ) X i ( t ) , e l s e (1) X_i(t+1)=\begin{cases} X_{best}-mX_{r1}(t),if\,rand\leq0.3\\ X_{best}-cos(2\pi\beta)X_i(t),else \end{cases}\tag{1} Xi(t+1)={XbestmXr1(t),ifrand0.3Xbestcos(2πβ)Xi(t),else(1)
式中: X i ( t + 1 ) X_i(t+1) Xi(t+1)为更新后的黑寡妇位置。 X b e s t X_{best} Xbest为当前黑寡妇的最优位置, m m m为[0.4,0.9]之间的随机数, β \beta β为[-1,1]内的随机数, X r 1 ( t ) X_{r1}(t) Xr1(t)为随机选择的第 r 1 r1 r1个黑寡妇的位置。 X i ( t ) X_i(t) Xi(t)​为当前黑寡妇的位置。

1.3 信息素

信息素在蜘蛛的求偶过程中起着非常重要的作用。蜘蛛的饮食和影响蛛丝质量和数量的信息素信号的变化之间的联系被显示出来。 换句话说,吃得好的雌性蜘蛛比饥饿的雌性蜘蛛产的丝更多。雄性蜘蛛对营养充足的雌性蜘蛛分泌的性信息素更敏感,因为它们能提供更高的生育能力,但主要是为了避免与可能饥饿的雌性同类进行冒险交配的代价。 雄性黑寡妇蜘蛛宁愿避免同类相食,也不愿寻找生育能力更强的雌性蜘蛛。 仅性信息素就能洞察雌性的近期进食史,可能会降低雄性在田间表达选择的成本。 因此,雄性蜘蛛不喜欢信息素含量低的雌性蜘蛛。黑寡妇蜘蛛的信息素率值可按公式(2)计算:
P h e r o m o n e ( i ) = f i t n e s s m a x − f i t n e s s ( i ) f i t n e s s m a x − f i t n e s s m i n (2) Pheromone(i)=\frac{fitness_{max}-fitness(i)}{fitness_{max}-fitness_{min}} \tag{2} Pheromone(i)=fitnessmaxfitnessminfitnessmaxfitness(i)(2)
式中: f i t n e s s m a x fitness_{max} fitnessmax f i t n e s s m i n fitness_{min} fitnessmin为最差和最优的适应度函数值, f i n t e s s ( i ) fintess(i) fintess(i)为第 i i i​个黑寡妇获得的适应度值。

当低信息素率值等于或小于0.3时,雌性体内低信息素水平蜘蛛代表饥饿的食人蜘蛛。因此,如果它们在场时,上述雌性蜘蛛不会被选中,但将被另一个取代可按公式(3)更新黑寡妇位置:
X i ( t ) = X b e s t + 1 2 [ X r 1 − ( − 1 ) σ X r 2 ( t ) ] (3) X_i(t)=X_{best}+\frac{1}{2}[X_{r1}-(-1)^{\sigma}X_{r2}(t)]\tag{3} Xi(t)=Xbest+21[Xr1(1)σXr2(t)](3)
式中: X i ( t ) X_i(t) Xi(t)​为雌性体内低信息素水平的黑寡妇位置, r 1 r1 r1 r 2 r2 r2为种群数量在 [ 1 , N ] [1,N] [1,N]范围内的数, X r 1 X_{r1} Xr1 X r 2 X_{r2} Xr2​为第 r 1 r1 r1 r 2 r2 r2个黑寡妇的位置,r1≠r2。 σ \sigma σ为随机二进制数{0,1}。

算法流程

步骤1:初始化种群评估适应度函数值。

步骤2:随机生成参数m和β。

步骤3:生成随机数rand并更新黑寡妇位置由式(1)。

步骤4:计算信息素根据式(2).

步骤5:根据式(3)更新低信息数水平的黑寡妇位置。

步骤6:重新评估适应度函数值,并更新最优黑寡妇的位置及最优解。

步骤7:判断是否满足最大迭代次数,若满足,则输出最优黑寡妇位置和全局最优解,否则,返回步骤2重新迭代计算。

2.算法结果

请添加图片描述

3.参考文献

[1] Adrián F. Peña-Delgado et al. A Novel Bio-Inspired Algorithm Applied to Selective Harmonic Elimination in a Three-Phase Eleven-Level Inverter[J]. Mathematical Problems in Engineering, Vol. 2020, Article ID 8856040, 10 pages.

4.Matlab代码

  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值