【智能算法】袋獾优化算法(TDO)原理及实现

在这里插入图片描述


1.背景

2022年,M Dehghani等人受到袋獾觅食行为启发,提出了袋獾优化算法(Tasmanian Devil Optimization,TDO)。

2.算法原理

2.1算法思想

TDO中袋獾任意选择吃腐肉或者打猎作为自己的进食方式。每次迭代时,袋獾选择这两
种方式中的一种进行更新,假设选择其中一种方法的概率为 50%。
在这里插入图片描述

2.2算法过程

食腐

每个袋獾所对应的腐肉位置,是以种群中其他袋獾在空间中的位置来假定的。第 i 个袋獾的腐肉位置为第 m 个袋獾的位置:
a i = X m , i = 1 , 2 , ⋯   , N , m ∈ { 1 , 2 , ⋯   , N , ∣ m ≠ i } (1) a_i=X_m,i=1,2,\cdots,N,m\in\{1,2,\cdots,N,|m\neq i\}\tag{1} ai=Xm,i=1,2,,N,m{1,2,,N,m=i}(1)
其中,ai 是第 i 个袋獾所选的腐肉。
在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离。在计算出袋獾的新位置后,比较适应度值判断新位置是否取代旧位置:
x i , j n e w , E 1 = { x i , j + r ∗ ( a i , j − C ∗ x i , j ) F a i < F i x i , j + r ∗ ( x i , j − a i , j ) otherwis X i = { X i n e w , E 1 F i n e w , E 1 < F i X i otherwise (2) \begin{aligned}x_{i,j}^{\mathrm{new},E1}&=\begin{cases}x_{i,j}+r^*&( a_{i,j}-C^* x_{i,j})&F_{a_i}<F_i\\\\x_{i,j}+r^*&( x_{i,j}-a_{i,j})&\text{otherwis}\end{cases}\\&X_{i}=\begin{cases}X_i^{\mathrm{new},E1}&F_i^{\mathrm{new},E1}<F_i\\\\X_i&\text{otherwise}\end{cases}\end{aligned}\tag{2} xi,jnew,E1= xi,j+rxi,j+r(ai,jCxi,j)(xi,jai,j)Fai<FiotherwisXi= Xinew,E1XiFinew,E1<Fiotherwise(2)

狩猎

袋獾的狩猎行为可分为两阶段:搜索与攻击,以及接近、跟踪与捕食。在第一阶段中,袋獾搜索空间,找到猎物并发起攻击。而第二阶段则包括接近猎物、跟踪并捕食。
b i = X m , i = 1 , 2 , ⋯   , N , m ∈ { 1 , 2 , ⋯   , N , ∣ m ≠ i } (3) b_i=X_m,i=1,2,\cdots,N,m\in\{1,2,\cdots,N,|m\neq i\}\tag{3} bi=Xm,i=1,2,,N,m{1,2,,N,m=i}(3)
在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离。在
x i , j n e w , E 2 = { x i , j + r ∗ ( b i , j − C ∗ x i , j ) F b i < F i x i , j + r ∗ ( x i , j − b i , j ) o t h e r w i s e X i = { X i n e w , E 2 F i n e w , E 2 < F i X i o t h e r w i s e (4) \begin{gathered}x_{i,j}^{\mathrm{new},E2}=\begin{cases}x_{i,j}+r^{*} ( b_{i,j}-C^{*} x_{i,j})&\quad F_{b_{i}}<F_{i}\\[2ex]x_{i,j}+r^{*} ( x_{i,j}-b_{i,j})&\quad\mathrm{otherwise}\end{cases}\\X_{i}=\begin{cases}X_i^{\mathrm{new},E2}&\quad F_i^{\mathrm{new},E2}<F_i\\[2ex]X_i&\quad\mathrm{otherwise}\end{cases}\end{gathered}\tag{4} xi,jnew,E2= xi,j+r(bi,jCxi,j)xi,j+r(xi,jbi,j)Fbi<FiotherwiseXi= Xinew,E2XiFinew,E2<Fiotherwise(4)
第二阶段,以袋獾的位置为中心,领域的半径就是袋獾跟踪猎物的范围:
R = 0.01 ( 1 − t T ) X i , j n e w = x i , j + ( 2 r − 1 ) ∗ R ∗ x i , j X i = { X i new F i new < F i X i otherwise (5) \begin{gathered} R=0.01\left(\begin{array}{c}{1-\frac{t}{T}}\\\end{array}\right) \\ X_{i,j}^{\mathrm{new}}=x_{i,j}+(\begin{array}{c}2r-1)\end{array}* R^{*} x_{i,j} \\ X_i=\begin{cases}X_i^\text{new}&F_i^\text{new}<F_i\\[2ex]X_i&\text{otherwise}\end{cases} \end{gathered}\tag{5} R=0.01(1Tt)Xi,jnew=xi,j+(2r1)Rxi,jXi= XinewXiFinew<Fiotherwise(5)

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

3.结果展示

在这里插入图片描述

4.参考文献

[1] Dehghani M, Hubálovský Š, Trojovský P. Tasmanian devil optimization: a new bio-inspired optimization algorithm for solving optimization algorithm[J]. IEEE Access, 2022, 10: 19599-19620.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值