【智能算法】跳蛛优化算法(AOA)原理及实现

在这里插入图片描述


1.背景

2021年,H Peraza-Vázquez等人受到跳蛛狩猎行为启发,提出了跳蛛优化算法(Jumping Spider Optimization Algorithm,JSOA)。

2.算法原理

2.1算法思想

JSOA模拟了跳蛛的捕猎行为,主要包括跳蛛捕猎时的迫害、跳向猎物、搜索行为,并通过信息素来优化位置不佳的跳蛛。
在这里插入图片描述

2.2算法过程

迫害

当跳蛛跳跃距离不够捕捉猎物时,它会通过一些隐蔽的移动靠近猎物:
x ⃗ i ( g + 1 ) = 1 2 ( x ⃗ i ( g ) − x ⃗ r ( g ) ) (1) \vec{x}_{i}(g+1)=\frac{1}{2}(\vec{x}_{i}(g)-\vec{x}_{r}(g))\tag{1} x i(g+1)=21(x i(g)x r(g))(1)
其中,xr为不等于xi的随机跳蛛。

跳向猎物

跳蛛扑向猎物的行为可以表示为初速度为V0,与水平夹角为φ 的 抛 物 线 运 动。该抛物线运动水平方向速度与竖直方向速度为:
x ⃗ i = V 0 cos ⁡ ( α ) t i ⃗ y ⃗ i = ( V 0 sin ⁡ ( α ) t − 1 2 g t 2 ) j ⃗ (2) \begin{aligned}&\vec{x}_{i}=V_{0}\cos(\alpha)t\vec{i}\\&\vec{y}_{i}=\left(V_{0}\sin(\alpha)t-\frac{1}{2}gt^{2}\right)\vec{j}\end{aligned}\tag{2} x i=V0cos(α)ti y i=(V0sin(α)t21gt2)j (2)
当时间间隔为1时,可以得到:
y = x tan ⁡ ( α ) − g x 2 2 V 0 2 cos ⁡ 2 ( α ) (3) y=x\tan(\alpha)-\frac{gx^2}{2V_0^2\cos^2(\alpha)}\tag{3} y=xtan(α)2V02cos2(α)gx2(3)
跳向猎物过程可以表述为:
x ⃗ i ( g + 1 ) = x ⃗ i ( g ) tan ⁡ ( α ) − g x ⃗ i 2 ( g ) 2 V 0 2 cos ⁡ 2 ( α ) α = ϕ π 180 (4) \begin{aligned}&\vec{x}_{i}(g+1)=\vec{x}_{i}(g)\tan(\alpha)-\frac{g\vec{x}_{i}^{2}(g)}{2V_{0}^{2}\cos^{2}(\alpha)}\\&\alpha=\frac{\phi\pi}{180}\end{aligned}\tag{4} x i(g+1)=x i(g)tan(α)2V02cos2(α)gx i2(g)α=180ϕπ(4)

搜索猎物:

跳蛛在周围环境进行随机搜索以找到猎物,算法提供了局部搜索和全局搜索。局部搜索表述为:
x ⃗ i ( g + 1 ) = x ⃗ b e s t ( g ) + W A L K ( 1 2 − ε ) (5) \vec{x}_i(g+1)=\vec{x}_{\mathrm{best}}(g)+WALK\left(\frac{1}{2}-\varepsilon\right)\tag{5} x i(g+1)=x best(g)+WALK(21ε)(5)
全局搜索表述为:
x ⃗ i ( g + 1 ) = x ⃗ b e s t ( g ) + ( x ⃗ b e s t ( g ) − x ⃗ w o r s t ( g ) ) λ (6) \vec{x}_i(g+1)=\vec{x}_{\mathrm{best}}(g)+(\vec{x}_{\mathrm{best}}(g)-\vec{x}_{\mathrm{worst}}(g))\lambda \tag{6} x i(g+1)=x best(g)+(x best(g)x worst(g))λ(6)
在这里插入图片描述

信息素:

第i只跳蛛信息素为:
p h e r o m o n e ( i ) = F i t n e s s max ⁡ − F i t n e s s ( i ) F i t n e s s max ⁡ − F i t n e s s min ⁡ (7) pheromone\left(i\right)=\frac{Fitness_{\max}-Fitness\left(i\right)}{Fitness_{\max}-Fitness_{\min}}\tag{7} pheromone(i)=FitnessmaxFitnessminFitnessmaxFitness(i)(7)
当信息素小于或等于0.3时:
x ⃗ i ( g ) = x ⃗ best ( g ) + 1 2 ( x ⃗ r 1 ( g ) − ( − 1 ) σ x ⃗ r 2 ( g ) ) \vec{x}_i(g)=\vec{x}_{\text{best}}(g)+\frac{1}{2}(\vec{x}_{r1}(g)-(-1)^{\sigma}\vec{x}_{r2}(g)) x i(g)=x best(g)+21(x r1(g)(1)σx r2(g))

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

3.结果展示

在这里插入图片描述

4.参考文献

[1] Peraza-Vázquez H, Peña-Delgado A, Ranjan P, et al. A bio-inspired method for mathematical optimization inspired by arachnida salticidade[J]. Mathematics, 2021, 10(1): 102.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值