灰雁优化算法:受自然启发的优化算法【免费获取Matlab代码】


1.背景

2024年,ESM El-Kenawy受到灰雁自然行为启发,提出了灰雁优化算法(Greylag Goose Optimization, GGO)。

在这里插入图片描述

在这里插入图片描述

2.算法原理

2.1算法思想

GGO灵感来源于灰雁。灰雁是优秀的飞行者,在季节性迁徙中,它们成群飞行,一次飞行可以覆盖数千公里。飞行时,一群雁会形成“V”字形配置。通过这种方式,前面的雁可以最小化后面雁的空气阻力,这使得整个群体飞行的距离比单独飞行时增加约70%。

在这里插入图片描述

2.2算法过程

探索阶段

灰雁探索者将在其当前位置附近寻找有前景的新位置进行探索:
X ( t + 1 ) = X ∗ ( t ) − A . ∣ C . X ∗ ( t ) − X ( t ) ∣ (1) \mathbf{X}(t+1)=\mathbf{X}^*(t)-\mathbf{A}.|\mathbf{C}.\mathbf{X}^*(t)-\mathbf{X}(t)|\tag{1} X(t+1)=X(t)A.∣C.X(t)X(t)(1)

基于选择三个随机搜索个体(游动群),命名为XPaddle1、XPaddle2和XPaddle3,以迫使个体不受一个领导者位置的影响,从而获得更大的探索范围。当前搜索代理的位置将根据 |𝐀| ≥ 1 进行以下更新:
X ( t + 1 ) = w 1 ∗ X P a d d l e 1 + z ∗ w 2 ∗ ( X P a d d l e 2 − X P a d d l e 3 ) + ( 1 − z ) ∗ w 3 ∗ ( X − X P a d d l e 1 ) (2) \mathbf{X}(t+1)=w_{1}*\mathbf{X}_{Paddle1}+\mathbf{z}*w_{2}*(\mathbf{X}_{Paddle2}-\mathbf{X}_{Paddle3})+\\(1-\mathbf{z})*w_{3}*(\mathbf{X}-\mathbf{X}_{Paddle1})\tag{2} X(t+1)=w1XPaddle1+zw2(XPaddle2XPaddle3)+(1z)w3(XXPaddle1)(2)
其中,参数w1,w2,w3为[0,2]随机数,参数z呈指数递减:
z = 1 − ( t t m a x ) 2 (3) \mathbf{z}=1-\left(\frac{t}{t_{max}}\right)^2\tag{3} z=1(tmaxt)2(3)

当r3≥0.5时,第二次更新:
X ( t + 1 ) = w 4 ∗ ∣ X ∗ ( t ) − X ( t ) ∣ . e b t . c o s ( 2 π l ) + [ 2 w 1 ( r 4 + r 5 ) ] ∗ X ∗ ( t ) (4) \mathbf{X}(t+1)=w_{4}*|\mathbf{X}^{*}(t)-\mathbf{X}(t)|.e^{bt}.cos(2\pi l)+[2w_{1}(r_{4}+r_{5})]*\mathbf{X}^{*}(t)\tag{4} X(t+1)=w4X(t)X(t)∣.ebt.cos(2πl)+[2w1(r4+r5)]X(t)(4)

开发阶段

GGO向最佳解决方案前进,其设置三个解决方案XSentry1,XSentry2,XSentry3指导其他个体XNonSentry改变其位置,朝向猎物位置:
X 1 = X S e n t r y 1 − A 1 . ∣ C 1 . X S e n t r y 1 − X ∣ X 2 = X S e n t r y 2 − A 2 . ∣ C 1 . X S e n t r y 2 − X ∣ X 3 = X S e n t r y 3 − A 3 . ∣ C 1 . X S e n t r y 3 − X ∣ (5) \begin{gathered} \mathbf{X}_{1} =\mathbf{X}_{Sentry1}-\mathbf{A}_{1}.|\mathbf{C}_{1}.\mathbf{X}_{Sentry1}-\mathbf{X}| \\ \mathbf{X}_{2} =\mathbf{X}_{Sentry2}-\mathbf{A}_{2}.|\mathbf{C}_{1}.\mathbf{X}_{Sentry2}-\mathbf{X}| \\ \mathbf{X}_{3} =\mathbf{X}_{Sentry3}-\mathbf{A}_{3}.|\mathbf{C}_{1}.\mathbf{X}_{Sentry3}-\mathbf{X}| \end{gathered}\tag{5} X1=XSentry1A1.∣C1.XSentry1XX2=XSentry2A2.∣C1.XSentry2XX3=XSentry3A3.∣C1.XSentry3X(5)

GGO在最佳解决方案周围搜索:
X ( t + 1 ) = X ( t ) + D ( 1 + z ) ∗ w ∗ ( X − X F l o c k 1 ) (6) \mathbf{X}(t+1)=\mathbf{X}(t)+\mathbf{D}(1+\mathbf{z})*w*(\mathbf{X}-\mathbf{X}_{Flock1})\tag{6} X(t+1)=X(t)+D(1+z)w(XXFlock1)(6)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] El-Kenawy E S M, Khodadadi N, Mirjalili S, et al. Greylag goose optimization: nature-inspired optimization algorithm[J]. Expert Systems with Applications, 2024, 238: 122147.

5.代码获取

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值