智能优化算法:野狗优化算法 - 附代码

智能优化算法:野狗优化算法


摘要:野狗优化算法(Dingo Optimization Algorithm,DOA)是于2021年提出的一种新型智能优化算法,该算法是根据澳大利亚野狗的社交行为设计的,具有寻优能力强,收敛速度快等特点。

1.算法原理

DOA算法的灵感来源于野狗的狩猎策略,即迫害攻击、分组策略和清扫行为。

1.1 种群初始化

野狗种群在搜索边界内随机初始化:
x i ⃗ = l b i + r a n d i ( u b i − l b i ) (1) \vec{x_i}=lb_i+rand_i(ub_i-lb_i)\tag{1} xi =lbi+randi(ubilbi)(1)
其中, l b i lb_i lbi u b i ub_i ubi分别表示个体的上下边界, r a n d i rand_i randi是[0,1]之间的随机数。

1.2 策略一:群体攻击

捕食者通常使用高度智能的狩猎技术,野狗通常单独捕食小猎物,如兔子,但当捕食大猎物,如袋鼠时,它们会成群结队。野狗能找到猎物的位置并将其包围,其行为如式(2)所示:
x i ⃗ ( t + 1 ) = β i ∑ k = 1 n a [ φ k ( t ) − x i ( t ) ⃗ ⃗ ] n a − x ∗ ( t ) ⃗ (2) \vec{x_i}(t+1)=\beta_i\sum_{k=1}^{na}\frac{[\vec{\varphi_k(t)-\vec{x_i(t)}}]}{na}-\vec{x_*(t)}\tag{2} xi (t+1)=βik=1nana[φk(t)xi(t) ]x(t) (2)
其中, t t t代表当前的迭代次数, x i ⃗ ( t + 1 ) \vec{x_i}(t+1) xi (t+1)是野狗新位置; n a na na是在 [ 2 , S i z e P o p / 2 ] [2,SizePop/2] [2,SizePop/2]的逆序中生成的随机整数,其中 S i z e P o p SizePop SizePop是野狗种群的规模; φ k ( t ) ⃗ \vec{\varphi_k(t)} φk(t) 是将攻击的野狗的子集,其中 φ ∈ X \varphi\in X φX,是随机生成的野狗种群; x i ⃗ ( t ) \vec{x_i}(t) xi (t)是当前野狗的位置; x ∗ ⃗ ( t ) \vec{x_*}(t) x (t)是上一次迭代中发现的最佳野狗; β 1 \beta_1 β1是在[-2,2]内均匀生成的随机数,它是一个比例因子,可改变野狗轨迹的大小。

1.3 策略二:迫害攻击

野狗通常捕猎小猎物,直到单独捕获为止。式(3)模拟了这种行为:
x i ⃗ ( t + 1 ) = x ∗ ⃗ ( t ) + β 1 ∗ e β 2 ∗ ( x r 1 ⃗ ( t ) − x i ( t ) ⃗ ) (3) \vec{x_i}(t+1)=\vec{x_*}(t)+\beta_1*e^{\beta_2}*(\vec{x_{r1}}(t)-\vec{x_i(t)})\tag{3} xi (t+1)=x (t)+β1eβ2(xr1 (t)xi(t) )(3)
其中, x i ⃗ ( t + 1 ) \vec{x_i}(t+1) xi (t+1)是野狗新位置, x ∗ ⃗ ( t ) \vec{x_*}(t) x (t)是上一次迭代中发现的最佳野狗, β 1 \beta_1 β1的值与式(2)中的值相同, β 2 \beta_2 β2是在[-1,1]区间内均匀生成的随机数, r 1 r_1 r1是在从1到最大搜索代理(野狗)大小的区间内生成的随机数, x r 1 ⃗ ( t ) \vec{x_{r1}}(t) xr1 (t)是随机选择的第 r 1 r_1 r1个野狗,其中 i ≠ r 1 i\neq r_1 i=r1

1.4 策略三:清扫

清扫行为为被定义为当野狗在它们的栖息地随意行走时找到腐肉吃的行为。式(4)用于模拟这种行为:
x i ⃗ ( t + 1 ) = 1 2 [ e β 2 ∗ x r 1 ⃗ ( t ) − ( − 1 ) σ ∗ x i ⃗ ( t ) ] (4) \vec{x_i}(t+1)=\frac{1}{2}[e^{\beta_2}*\vec{x_{r_1}}(t)-(-1)^{\sigma}*\vec{x_i}(t)]\tag{4} xi (t+1)=21[eβ2xr1 (t)(1)σxi (t)](4)
其中, x i ⃗ ( t + 1 ) \vec{x_i}(t+1) xi (t+1)是野狗新位置, β 2 \beta_2 β2的值与式(3)中的值相同, r 1 r_1 r1是在从1到最大搜索代理(野狗)大小的区间内生成的随机数, x r 1 ⃗ ( t ) \vec{x_{r1}}(t) xr1 (t)是随机选择的第 r 1 r_1 r1个野狗,其中 i ≠ r 1 i\neq r_1 i=r1 σ \sigma σ是算法随机生成的二进制数, σ ∈ { 0 , 1 } \sigma \in\{0,1\} σ{0,1}

1.5 策略四:野狗的存活率

在DOA中,野狗的存活率值由式(5)给出:
s u r v i a l ( 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 (5) survial(i)=\frac{fitness_{max}-fitness(i)}{fitness_{max}-fitness_{min}}\tag{5} survial(i)=fitnessmaxfitnessminfitnessmaxfitness(i)(5)
其中, 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 t n e s s ( i ) fitness(i) fitness(i)是第 i i i个野狗的当前适应度值。式(5)中的生存向量包含[0,1]区间内的归一化适应度。式(6)通过策略三应用于低生存率,例如,生存率值等于或小于0.3。
x i ⃗ ( t + 1 ) = x ∗ ⃗ ( t ) + 1 2 [ x r 1 ⃗ ( t ) − ( − 1 ) σ ∗ x r 2 ⃗ ( t ) ] (6) \vec{x_i}(t+1)=\vec{x_*}(t)+\frac{1}{2}[{\vec{x_{r_1}}(t)-(-1)^{\sigma}*\vec{x_{r2}}(t)]}\tag{6} xi (t+1)=x (t)+21[xr1 (t)(1)σxr2 (t)](6)
其中, x i ⃗ ( t ) \vec{x_i}(t) xi (t)是将被更新的生存率较低的野狗, r 1 r_1 r1 r 2 r_2 r2是在从1到搜索代理(野狗种群)的最大大小的区间内生成的随机数, r 1 ≠ r 2 r_1\neq r_2 r1=r2, x r 1 ⃗ \vec{x_{r1}} xr1 x r 2 ⃗ \vec{x_{r2}} xr2 是随机选择的第 r 1 , r 2 r1,r2 r1,r2个野狗, x ∗ ⃗ ( t ) \vec{x_*}(t) x (t)是上一次迭代中发现的最佳野狗; σ \sigma σ是算法随机生成的二进制数, σ ∈ { 0 , 1 } \sigma \in\{0,1\} σ{0,1}

算法伪代码

procedure DOA
(2) Initialization of parameters
(3) P = 0.5, probability of hunting or scavenger strategy
(4) Q = 0.7, probability of Strategy 1 (group attack) or Strategy 2 (persecution attack)
(5) Generate the initial population
(6) while iteration < Max Number of Iterations do
(7) if random<P then
(8) if random<Q then
(9) Strategy 1: Group Attack Procedure, Algorithm 1, equation (2).
(10) else
(11) : Strategy 2: Persecution, (3).
(12) end if
(13) else
(14) Strategy 3: Scavenger, (4).
(15) end if
(16) Update search agents that have low survival value, Algorithm 3, equation (6)
(17) Calculate x new , the fitness value of the new search agents
(18) if x new <x ∗ then
(19) x ∗ = x new
(20) end if
(21) iteration = iteration + 1
(22) end while
(23) Display x ∗ , the best optimal solution

2.实验结果

请添加图片描述

3.参考文献

[1] Hernán Peraza-Vázquez, Adrián F. Peña-Delgado, Gustavo Echavarría-Castillo, et al. A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies[J]. Mathematical Problems in Engineering, vol. 2021, Article ID 9107547, 19 pages, 2021.

4.Matlab代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值