xiangtingsl 发表于 2022-3-17 20:52

灰狼优化算法(GWO)

代码:基于cs改进的灰狼优化算法对比实验
1.原理
      灰狼优化算法(GWO),灵感来自于灰狼.GWO算法模拟了自然界灰狼的领导层级和狩猎机制.四种类型的灰狼,如 https://www.zhihu.com/equation?tex=%5Calpha%2C%5Cbeta%2C%5Cdelta%2Cw 被用来模拟领导阶层。此外,还实现了狩猎的三个主要步骤:寻找猎物、包围猎物和攻击猎物。



图1 灰狼的等级制度(从上到下的优势递减)

2.GWO算法数学模型
      为了在设计GWO算法时对灰狼的社会等级进行数学建模,我们将最适解作为 .因此,第二和第三个最佳解决方案分别被命名为和.剩下的候选解被假定为.在GWO算法中,狩猎过程由 https://www.zhihu.com/equation?tex=%5Calpha%EF%BC%8C%5Cbeta 和引导.狼跟随这三只狼。
2.1 包围猎物
         在狩猎过程中,将灰狼围捕猎物的行为定义如下:

https://www.zhihu.com/equation?tex=D%3D%7CC%5Ccdot+X_%7Bp%7D%28t%29-X%28t%29%7C         (1)

https://www.zhihu.com/equation?tex=X%28t%2B1%29%3DX_%7Bp%7D%28t%29-A%5Ccdot+D   (2)      
         式(1)表示个体与猎物间的距离,式(2)是灰狼的位置更新公式.其中, https://www.zhihu.com/equation?tex=t 是目前的迭代代数,和是系数向量, https://www.zhihu.com/equation?tex=X_%7Bp%7D 和分别是猎物的位置向量和灰狼的位置向量.和的 计 算 公式如下:

https://www.zhihu.com/equation?tex=A%3D2a%5Ccdot+r_%7B1%7D-a                      (3)

https://www.zhihu.com/equation?tex=C%3D2%5Ccdot+r_%7B2%7D                              (4)
         其中,是收敛因子,随着迭代次数从2线性减小到0, https://www.zhihu.com/equation?tex=r_%7B1%7D 和 https://www.zhihu.com/equation?tex=r_%7B2%7D 的模取之间的随机数.
2.2 狩猎
      灰狼能够识别猎物的位置并包围它们.当灰狼识别出猎物的位置后,和在的带领下指导狼群包围猎物.灰狼个体跟踪猎物位置的数学模型描述如下:

https://www.zhihu.com/equation?tex=+D_%7B%5Calpha%7D%3D%7CC_%7B1%7D%5Ccdot+X_%7B%5Calpha%7D-X%7C+++

https://www.zhihu.com/equation?tex=D_%7B%5Cbeta%7D%3D%7CC_%7B2%7D%5Ccdot+X_%7B%5Cbeta%7D-X%7C++                  (5)

https://www.zhihu.com/equation?tex=D_%7B%5Cdelta%7D%3D%7CC_%7B3%7D%5Ccdot+X_%7B%5Cdelta%7D-X%7C++
      其中, https://www.zhihu.com/equation?tex=D_%7B%5Calpha%7D , https://www.zhihu.com/equation?tex=D_%7B%5Cbeta%7D和 https://www.zhihu.com/equation?tex=D_%7B%5Cdelta%7D 分别表示和与其他个体间的距离; https://www.zhihu.com/equation?tex=X_%7B%5Calpha%7D%2CX_%7B%5Cbeta%7D 和 https://www.zhihu.com/equation?tex=X_%7B%5Cdelta%7D 分别代表和当前位置; https://www.zhihu.com/equation?tex=C_%7B1%7D%2CC_%7B2%7D%2CC_%7B3%7D 是随机向量,是当前灰狼的位置。

https://www.zhihu.com/equation?tex=X_%7B1%7D%3DX_%7B%5Calpha%7D-A_%7B1%7D%5Ccdot+%28D_%7B%5Calpha%7D%29

https://www.zhihu.com/equation?tex=X_%7B2%7D%3DX_%7B%5Cbeta%7D-A_%7B2%7D%5Ccdot+%28D_%7B%5Cbeta%7D%29                (6)

https://www.zhihu.com/equation?tex=X_%7B3%7D%3DX_%7B%5Cdelta%7D-A_%7B3%7D%5Ccdot+%28D_%7B%5Cdelta%7D%29

https://www.zhihu.com/equation?tex=X%28t%2B1%29%3D%5Cfrac%7BX_%7B1%7D%2BX_%7B2%7D%2BX_%7B3%7D%7D%7B3%7D   (7)
      式(6)分别定义了狼群中个体朝向和前进的步长和方向,式(7)定义了ω的最终位置。
2.3 攻击猎物
      当猎物停止移动时,灰狼通过攻击来完成狩猎过程.为了模拟逼近猎物,的值被逐渐减小,因此的波动范围也随之减小.换句话说,在迭代过程中,当的值从2线性下降到0时,其对应的的值也在区间 https://www.zhihu.com/equation?tex=%5B-a%2Ca%5D 内变化.如图3所 示,当的值位于区间内时,灰狼的下一位置可以位于其当前位置和猎物位置之间的任意位置.当 https://www.zhihu.com/equation?tex=%7CA%7C%3C1 时,狼群向猎物发起攻击(陷入局部最优).当 https://www.zhihu.com/equation?tex=%7CA%7C%3E1 时,灰狼与猎物分离,希望找到更合适的猎物(全局最优).



图3 攻击猎物和寻找猎物

      GWO算法还有另一个组件来帮助发现新的解决方案.由式(4)可知,是之 间 的随机值.表示狼所在的位置对猎物影响的随机权重, https://www.zhihu.com/equation?tex=C%3E1 表示影响权重大,反之,表示影响权重小.这有助于GWO算法更随机地表现并支持探索,同时可在优化过程中避免陷入局部最优.另外,与不同, https://www.zhihu.com/equation?tex=C+ 是非线性减小的.这样,从最初的迭代到最终的迭代中,它都提供了决策空间中的全局搜索.在算法陷入了局部最优并且不易跳出时,的随机性在避免局部最优方面发挥了非常重要的作用,尤其是在最后需要获得全局最优解的迭代中.
3.算法流程



图4 灰狼优化算法流程图

4.结果图



图5 PSO与GWO对比试验结果

参考文献:
张晓凤, 王秀英. 灰狼优化算法研究综述. 计算机科学, 2019, 046(003):30-38.

c0d3n4m 发表于 2022-3-17 20:54

您好,您有尝试使用灰狼优化算法进行非线性系统辨识研究嘛?

pc8888888 发表于 2022-3-17 20:56

Doris232 发表于 2022-3-17 21:00

您好,最初的三头带头狼需要自己给出吗

RecursiveFrog 发表于 2022-3-17 21:00

每次迭代之后,把前三优解定义为三只带头狼

ainatipen 发表于 2022-3-17 21:01

您好,请问这个猎物的位置是怎么得到的?

ChuanXin 发表于 2022-3-17 21:09

你好,这个能做黑盒优化吗,比如调参

JoshWindsor 发表于 2022-3-17 21:18

这个当前迭代的前三解需要和上一次迭代的前三解进行比较,选取最终的前三解吗?还是仅考虑当前迭代次数?

ainatipen 发表于 2022-3-17 21:23

你好请问我想优化共振稀疏分解的参数   怎么调整优化参数的精度呀

kirin77 发表于 2022-3-17 21:29

我也想问最开始的猎物位置是已知的吗
页: [1]
查看完整版本: 灰狼优化算法(GWO)