SCI三区|黑鹰优化算法(BEO)原理及实现【免费获取Matlab代码】


1.背景

2024年,H Zhang受到黑鹰生物规律行为启发,提出了黑鹰优化算法(Black Eagle Optimizer, BEO)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

BEO结合了黑鹰的生物规律和数学变换来指导个体的搜索行为。

2.2算法过程

围捕行为
X 1 t + 1 = X r t − α ⋅ r 1 ⋅ ( t 1 ⋅ X b e s t t − X k t ) X 2 t + 1 = u b + l b − X 1 t + 1 X t + 1 = Minimize fitness ( X 1 t + 1 , X 2 t + 1 , X t ) (1) \begin{aligned} &X_{1}^{t+1} =X_{r}^{t}-\alpha\cdot r_{1}\cdot\left(t_{1}\cdot X_{best}^{t}-X_{k}^{t}\right) \\ &X_{2}^{t+1} =ub+lb-X_{1}^{t+1} \\ &X^{t+1} =\text{Minimize fitness}(X_{1}^{t+1},X_{2}^{t+1},X^{t}) \end{aligned}\tag{1} X1t+1=Xrtαr1(t1XbesttXkt)X2t+1=ub+lbX1t+1Xt+1=Minimize fitness(X1t+1,X2t+1,Xt)(1)
其中,Xr为搜索空间中的随机位置,Xk为随机黑鹰的位置,Xbest为当前最佳位置,表示猎物的位置。参数 α \alpha α表述为:
α = e − ∥ X t − X b e s t t ∥ / D (2) \alpha=e^{-\left\|X^{t}-X_{best}^{t}\right\|/D}\tag{2} α=eXtXbestt/D(2)

靠近行为

X t + 1 = X b e s t t + m ( X t − X b e s t t ) (3) X^{t+1}=X_{best}^t+m(X^t-X_{best}^t)\tag{3} Xt+1=Xbestt+m(XtXbestt)(3)
其中,m是d维悬停矩阵表述为:
m = [ cos ⁡ a − sin ⁡ a 0 ⋯ 0 sin ⁡ a cos ⁡ a − sin ⁡ a ⋱ ⋮ 0 sin ⁡ a ⋱ ⋱ 0 ⋮ ⋱ ⋱ cos ⁡ a − sin ⁡ a 0 ⋯ 0 sin ⁡ a cos ⁡ a ] (4) \left.m=\left[\begin{array}{ccccc}\cos a&-\sin a&0&\cdots&0\\\sin a&\cos a&-\sin a&\ddots&\vdots\\0&\sin a&\ddots&\ddots&0\\\vdots&\ddots&\ddots&\cos a&-\sin a\\0&\cdots&0&\sin a&\cos a\end{array}\right.\right]\tag{4} m= cosasina00sinacosasina0sina0cosasina00sinacosa (4)

狩猎行为
X ∗ = 2 X t − X b e s t t + s 0 ⋅ D 1 X t + 1 = X ∗ + D 2 ⋅ ( X b e s t t − X ∗ ) (5) \begin{aligned} &X^{*}=2X^{t}-X_{best}^{t}+s_{0}\cdot D_{1} \\ &X^{t+1}=X^{*}+D_{2}\cdot(X_{best}^{t}-X^{*}) \end{aligned}\tag{5} X=2XtXbestt+s0D1Xt+1=X+D2(XbesttX)(5)
其中,D1,D2为位置调整因子,拟了黑鹰在捕捉猎物时不断调整姿态以确保捕获成功的情况。

抓取行为

X t + 1 = X b e s t t + e r 3 π ( X b e s t t − X t ) (6) X^{t+1}=X_{best}^t+e^{\frac{r_3}{\pi}}(X_{best}^t-X^t)\tag{6} Xt+1=Xbestt+eπr3(XbesttXt)(6)
黑鹰从一点到另一点曲线飞行时的抢夺行为,其利用点的跳跃运动来模拟黑鹰的抢夺行为。

警告行为

X P t + 1 ( i , j ) = X b e s t t ( i , j ) + ( X d t ( i , j ) − X b e s t t ( i , j ) ) ⋅ ( 1 + P ( j ) ) X t + 1 ( i ) = X P t + 1 ( i ) + β ( X b e s t t ( i ) − X P t + 1 ( i ) ) (7) \begin{aligned}X_P^{t+1}(i,j)&=X_{best}^t(i,j)+(X_d^t(i,j)-X_{best}^t(i,j))\cdot(1+P(j))\\\\X^{t+1}(i)&=X_P^{t+1}(i)+\beta(X_{best}^t(i)-X_P^{t+1}(i))\end{aligned}\tag{7} XPt+1(i,j)Xt+1(i)=Xbestt(i,j)+(Xdt(i,j)Xbestt(i,j))(1+P(j))=XPt+1(i)+β(Xbestt(i)XPt+1(i))(7)

迁移行为

X t + 1 = X b e s t t + z ⋅ s 1 ⋅ ( X t − t 2 ⋅ X b e s t t ) (8) X^{t+1}=X_{best}^t+z\cdot s_1\cdot(X^t-t_2\cdot X_{best}^t)\tag{8} Xt+1=Xbestt+zs1(Xtt2Xbestt)(8)
迁移机制旨在将适应度较低的个体从当前最优位置移开,以降低陷入局部最优的可能性。

求爱行为

X j t + 1 = { X j t + r 4 ⋅ k ⋅ ( X b e s t t − X j t ) + r 5 ⋅ cos ⁡ ( π j n ) ⋅ ( X b e s t t − X j t ) , j % 2 = 1 X j t + r 6 ⋅ k ⋅ ( X b e s t t − X j t ) + r 7 ⋅ sin ⁡ ( π j n ) ⋅ ( X b e s t t − X j t ) , j % 2 = 0 (9) X_j^{t+1}=\begin{cases} X_j^t+r_4\cdot k\cdot\left(X_{best}^t-X_j^t\right)+r_5\cdot\cos(\frac{\pi j}{n})\cdot\left(X_{best}^t-X_j^t\right), j\%2=1\\ X_j^t+r_6\cdot k\cdot\left(X_{best}^t-X_j^t\right)+r_7\cdot\sin(\frac{\pi j}{n})\cdot\left(X_{best}^t-X_j^t\right) , j\%2=0\end{cases}\tag{9} Xjt+1={Xjt+r4k(XbesttXjt)+r5cos(nπj)(XbesttXjt),j%2=1Xjt+r6k(XbesttXjt)+r7sin(nπj)(XbesttXjt),j%2=0(9)
这里类似正弦余弦函数的波动和奇数-偶数的交替模式,模拟了黑鹰求偶期间雌雄黑鹰的互动行为。

孵化行为

X t + 1 = X b e s t t + ( X d t − X b e s t t ) ⋅ ( 1 + 2 R ) (10) X^{t+1}=X_{best}^{t}+\left(X_{d}^{t}-X_{best}^{t}\right)\cdot(1+2R)\tag{10} Xt+1=Xbestt+(XdtXbestt)(1+2R)(10)

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

在这里插入图片描述

4.参考文献

[1] Zhang H, San H, Chen J, et al. Black eagle optimizer: a metaheuristic optimization method for solving engineering optimization problems[J]. Cluster Computing, 2024: 1-33.

5.代码获取

【资源清单】代码资源清单导航~

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 21:58:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 21:58:06       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 21:58:06       58 阅读
  4. Python语言-面向对象

    2024-07-12 21:58:06       69 阅读

热门阅读

  1. 使用 docker-compose 部署和使用 Yapi

    2024-07-12 21:58:06       21 阅读
  2. 力扣 202快乐数

    2024-07-12 21:58:06       23 阅读
  3. 跨越数据边界:域适应在目标检测中的革新作用

    2024-07-12 21:58:06       24 阅读
  4. 在linux x86服务器安装jdk

    2024-07-12 21:58:06       19 阅读
  5. 中国专利文献编号系统方案

    2024-07-12 21:58:06       20 阅读
  6. LanceDB:开源的向量搜索引擎

    2024-07-12 21:58:06       18 阅读
  7. numpy实现sigmoid函数

    2024-07-12 21:58:06       17 阅读
  8. 正则表达式中的 ?

    2024-07-12 21:58:06       24 阅读