智能优化算法:爬行动物搜索算法-附代码

智能优化算法:爬行动物搜索算法


摘要:爬行动物搜索算法(Reptile search algorithm, RSA)是于2021年提出的一种新型智能优化算法。该算法主要模拟鳄鱼的捕食行为,来实现寻优求解,具有收敛速度快,寻优能力强的特点。

1.算法原理

1.1 初始化

与其他优化算法一样,种群在搜索空间内随机初始化:
x i , j = rand ⁡ × ( U B − L B ) + L B , j = 1 , 2 , ⋯   , n (1) x_{i, j}=\operatorname{rand} \times(U B-L B)+L B, j=1,2, \cdots, n \tag{1} xi,j=rand×(UBLB)+LB,j=1,2,,n(1)
x i , j x_{i,j} xi,j表示第 i i i个候选解第 j j j维的位置; N N N为候选解的数量; n n n为给定问题的维度。 r a n d rand rand是[0,1]之间的随机数, L B LB LB U B UB UB分别表示给定问题的下界和上界。

1.2 包围阶段(探索)

这个搜索阶段取决于两个条件。高空行走策略取决于 t ≤ T / 4 t\leq T/4 tT/4,腹部行走策略取决于 T / 4 < t ≤ T / 2 T/4<t \leq T/2 T/4<tT/2。这意味着:这一条件将满足几乎一半的探索迭代次数(高空行走)和另一半的腹部行走。这是两种探索搜索方法。注意,对元素的随机比例系数进行检查,以生成更多不同的解决方案并探索不同的区域。探索阶段的位置更新方程,如式(2)所示。
x ( i , j ) ( t + 1 ) = {  Best  j ( t ) − η ( i , j ) ( t ) × β − R ( i , j ) ( t ) ×  rand  , t ≤ T 4  Best  j × x ( r 1 , j ) × E S ( t ) ×  rand  , t ≤ T 2  and  t > T 4 (2) x_{(i, j)}(t+1)=\left\{\begin{array}{l} \text { Best }_{j}(t)-\eta_{(i, j)}(t) \times \beta-R_{(i, j)}(t) \times \text { rand }, \quad t \leq \frac{T}{4} \\ \text { Best }_{j} \times x_{(r 1, j)} \times E S(t) \times \text { rand }, \quad t \leq \frac{T}{2} \text { and } t>\frac{T}{4} \end{array}\right.\tag{2} x(i,j)(t+1)={ Best j(t)η(i,j)(t)×βR(i,j)(t)× rand ,t4T Best j×x(r1,j)×ES(t)× rand ,t2T and t>4T(2)
其中, B e s t j Best_j Bestj 是当前最优解的第 j j j 维位置; r a n d rand rand 为 (0,1) 之间的随机数; t t t 为当前迭代次数; T T T为最大迭代次数; η ( i , j ) \eta_{(i, j)} η(i,j) 表示第 i i i 个候选解第 j j j维的狩猎算子,计算如式(3)所示; β \beta β 是一个敏感参数,控制迭代过程中包围阶段的探索精度(即高空行走),固定为0.1;缩减函数 R ( i , j ) ( t ) R_{(i, j)} (t) R(i,j)(t) 是一个用于减少搜索区域的值,使用式(4)计算; r 1 r_{1} r1 [ 1 , N ] [1, N] [1,N]之间的随机整数, x ( r 1 , j ) x_{(r 1, j)} x(r1,j) 表示第 r 1 r_{1} r1个随机候选解的第 j j j维位置; N N N是候选解数 量;进化因子 E S ( t ) ES(t) ES(t) 是一个概率比,在整个迭代过程中,取值在2和-2之间随机递减,使用式(5)计算。
η ( i , j ) = Best ⁡ j ( t ) × P ( i , j ) (3) \eta_{(i, j)}=\operatorname{Best}_{j}(t) \times P_{(i, j)} \tag{3} η(i,j)=Bestj(t)×P(i,j)(3)

R ( i , j ) = Best ⁡ j ( t ) − x ( r 2 , j ) Best ⁡ j ( t ) + ε (4) R_{(i, j)}=\frac{\operatorname{Best}_{j}(t)-x_{(r_2, j)}}{\operatorname{Best}_{j}(t)+\varepsilon}\tag{4} R(i,j)=Bestj(t)+εBestj(t)x(r2,j)(4)

E S ( t ) = 2 × r 3 × ( 1 − t T ) (5) E S(t)=2 \times r_{3} \times\left(1-\frac{t}{T}\right) \tag{5} ES(t)=2×r3×(1Tt)(5)

其中, ε \varepsilon ε 是一个很小的正数; r 2 r_{2} r2 是 $[1, N] $的随机整数; r 3 r_{3} r3 表示 [ − 1 , 1 ] [-1,1] [1,1] 之间的随机整数; $P_{(i, j)} 表示最佳解和当前解第 表示最佳解和当前解第 表示最佳解和当前解第 j $维位置的百分比差异,计算如式(6)所示。
P ( i , j ) = α + x ( i , j ) − M ( x i ) Best ⁡ j ( t ) × ( U B ( j ) − L B ( j ) ) + ε (6) P_{(i, j)}=\alpha+\frac{x_{(i, j)}-M\left(x_{i}\right)}{\operatorname{Best}_{j}(t) \times\left(U B_{(j)}-L B_{(j)}\right)+\varepsilon}\tag{6} P(i,j)=α+Bestj(t)×(UB(j)LB(j))+εx(i,j)M(xi)(6)
其中, $M\left(x_{i}\right) 表示第 表示第 表示第i$个候选解的平均位置,其计算如式(7)所示; U B ( j ) U B_{(j)} UB(j) L B ( j ) L B_{(j)} LB(j)分别表示第 j j j维位置的上界和下界; α \alpha α是一个敏感参数,用于控制迭代过程中狩猎合作的搜索精度(候选解之间的差异),本文将其固定为 0.1 。
M ( x i ) = 1 n ∑ j = 1 n x ( i , j ) (7) M\left(x_{i}\right)=\frac{1}{n} \sum_{j=1}^{n} x_{(i, j)} \tag{7} M(xi)=n1j=1nx(i,j)(7)

1.3 狩猎阶段(开发)

RSA的开发机制利用了搜索空间,并基于两种主要的搜索策略(狩猎协调和狩猎合作)找到了最优解,模型如式(8)所示。狩猎协调操作取决于 t ≤ 3 T 4 t \leq 3 \frac{T}{4} t34T t > 2 T 4 t>2 \frac{T}{4} t>24T,狩猎合作操作取决于 t ≤ T t \leq T tT t > 3 T 4 t>3 \frac{T}{4} t>34T
x ( i , j ) ( t + 1 ) = { B e s t j ( t ) × P ( i , j ) ( t ) × r a n d , w T 4 < t ≤ 3 T 4 B e s t j ( t ) − η ( i , j ) ( t ) × ε − R ( i , j ) ( t ) × r a n d , 3 T 4 < t < T (8) x(i,j)(t+1)=\begin{cases} Best_j(t)\times P(i,j)(t)\times rand,\quad w\frac{T}{4}<t\leq \frac{3T}{4}\\ Best_j(t)-\eta_{(i, j)}(t)\times\varepsilon-R(i,j)(t)\times rand,\quad 3\frac{T}{4}<t<T \end{cases}\tag{8} x(i,j)(t+1)={Bestj(t)×P(i,j)(t)×rand,w4T<t43TBestj(t)η(i,j)(t)×εR(i,j)(t)×rand,34T<t<T(8)
其中 B e s t j ( t ) Best_j(t) Bestj(t)表示当前第 j j j维的最佳位置; η ( i , j ) \eta_{(i,j)} η(i,j)表示第 i i i个候选解第 j j j维的狩猎算子,计算如式(3)所示; P ( i , j ) P_{(i,j)} P(i,j)表示最佳解和当前解第 j j j维位置的百分比差异,计算如式(6)所示; ε \varepsilon ε是一个很小的正数;缩减函数 R ( i , j ) R_{(i,j)} R(i,j)是一个用于减少搜索区域的值,使用式(4)计算。

算法流程图如下:

请添加图片描述

2.实验结果

请添加图片描述

3.参考文献

[1] Abualiga H L , Elaziz M A , Sumari P , et al. Reptile Search Algorithm (RSA): A nature-inspired meta-heuristic optimizer[J]. Expert Systems with Applications, 2021, 191(11):116158.

4.Matlab

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值