【智能算法】蚁狮优化算法(ALO)原理及实现

在这里插入图片描述


1.背景

2015年,S Mirjalili 等人受到自然界蚁狮捕食行为启发,提出了蚁狮优化算法(Ant lion optimizer,ALO)。

2.算法原理

2.1算法思想

ALO模拟自然界中蚁狮捕食蚂蚁的狩猎行为,包含蚂蚁、蚁狮和精英蚁狮3种角色,分别代表着问题的可行解、局部最优解和全局最优解。
在这里插入图片描述

2.2算法过程

蚂蚁随机游走

蚂蚁的随机游走规则:
X ( t ) = [ 0 , c u m s u m ( 2 r ( t 1 ) − 1 ) , c u m s u m ( 2 r ( t 2 ) − 1 ) , c u m s u m ( 2 r ( t n ) − 1 ) ] (1) X(t)=[0,cumsum(2r(t_1)-1),cumsum(2r(t_2)-1),cumsum(2r(t_n)-1)] \tag{1} X(t)=[0,cumsum(2r(t1)1),cumsum(2r(t2)1),cumsum(2r(tn)1)](1)
其中,cumsum 表示蚂蚁累计游走的步长,t 表示当前的迭代次数。
为了变量越界对随机游走进行归一化来进行位置更新:
X i ′ = ( X i ′ − a i ) × ( d i ′ − c i ′ ) b i − a i + c i ′ (2) X_{i}^{\prime}=\frac{(X_{i}^{\prime}-a_{i})\times(d_{i}^{\prime}-c_{i}^{\prime})}{b_{i}-a_{i}}+c_{i}^{\prime}\tag{2} Xi=biai(Xiai)×(dici)+ci(2)

蚂蚁进入陷阱
蚂蚁的随机游走受到蚁狮陷阱范围的影响:
{ c i t = A n t l i o n j t + c t d i t = A n t l i o n j t + d r (3) \left.\left\{\begin{array}{c}c_i^t=Antlion_j^t+c^t\\d_i^t=Antlion_j^t+d^r\end{array}\right.\right.\tag{3} {cit=Antlionjt+ctdit=Antlionjt+dr(3)

蚂蚁滑向蚁狮
自适应地减小陷阱范围来限制蚂蚁的随机游走:
{ c ′ = c ′ I d ′ = d ′ I (4) \left.\left\{\begin{array}{ll}c'=\dfrac{c'}{I}\\d'=\dfrac{d'}{I}\end{array}\right.\right.\tag{4} c=Icd=Id(4)

捕捉猎物并重铸陷阱
捕猎的最后阶段是蚁狮吃掉蚂蚁然后会移动到被捕猎蚂蚁的最新位置,以增加捕获新猎物的可能性,蚁狮的位置更新:
A n t l i o n j t = A n t i t , i f f ( A n t i t ) > f ( A n t l i o n j t ) (5) Antlion_{j}^{t}=Ant_{i}^{t},iff(Ant_{i}^{t})>f\left(Antlion_{j}^{t}\right)\tag{5} Antlionjt=Antit,iff(Antit)>f(Antlionjt)(5)

精英策略
精英蚁狮指的是算法每次迭代过程中所产生的最佳蚁狮,蚂蚁在游走过程中也会受到精英蚁狮的影响:
A n t i ′ = R A ′ + R E ′ 2 (6) Ant_{i}^{\prime}=\frac{R_{A}^{\prime}+R_{E}^{\prime}}{2}\tag{6} Anti=2RA+RE(6)

伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Mirjalili S. The ant lion optimizer[J]. Advances in engineering software, 2015, 83: 80-98.

  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值