首页 > 编程语言 >基于莱维飞行和随机游动策略的灰狼算法-附代码

基于莱维飞行和随机游动策略的灰狼算法-附代码

时间:2023-05-04 14:31:43浏览次数:37  
标签:游动 莱维 寻优 灰狼 算法 随机


基于莱维飞行和随机游动策略的灰狼算法


文章目录

  • 基于莱维飞行和随机游动策略的灰狼算法
  • 1.灰狼优化算法
  • 2. 改进灰狼优化算法
  • 2.1 分段可调节衰减因子
  • 2.2 莱维飞行和随机游动策略
  • 3.实验结果
  • 4.参考文献
  • 5.Matlab代码
  • 6.python代码



摘要: 在标准灰狼优化算法寻优的中后期,由于衰减因子减小,灰狼群体中的个体均向领导层灰狼所在区域靠近,导致算法的全局寻优能力差,降低了寻优精度。针对该问题,提出了一种改进灰狼优化算法(IGWO )。该算法首先分析了衰减因子对灰狼算法的影响,提出了一种分段可调节衰减因子,用于平衡算法的勘探能力与开发能力。其可以根据不同优化问题来寻找适当的参数,实现更高精度的寻优,并且保证了在寻优过程的中后期,算法也具有一定的全局搜索能力。数值仿真实验表明,提高勘探比例有利于提高算法的收敛精度。同时,在寻优过程中,根据概率选择对领导层灰狼分别进行莱维飞行操作或随机游动操作。利用莱维飞行短距离搜索与偶尔较长距离行走相间的搜索特点,提高算法的全局寻优能力;利用随机游动相对集中的搜索特性,提高局部寻优能力。

1.灰狼优化算法

2. 改进灰狼优化算法

2.1 分段可调节衰减因子

在GWO中,系数向量 A决定了灰狼的行为,当 |A|>1时,灰狼进行搜索猎物(全局寻优);当 |A|<1 时,灰狼进行捕捉猎物(局部寻优)。在优化前期,灰狼个体应该广泛分布于整个搜索空间;在优化后期,利用收集到的信息,灰狼个体收敛于全局最优值。衰减因子 a 影响系数向量 A,进而影响了GWO的勘探能力和开发能力之间的平衡。当 a>1 时(勘探阶段),灰狼会进行搜索运动和捕猎运动,并且根据式(3)可计算得出:灰狼以1-1/a 的概率进行搜索运动,以1/a 的概率进行捕猎运动。当 a<1 时(开发阶段),灰狼只进行捕猎运动。在标准GWO中,勘探阶段与开发阶段的迭代次数比例为50% :50%。但是针对不同的优化问题,固定的迭代次数比例很难适应搜索实际情况。因此,本文提出了一种分段可调节衰减因子:
基于莱维飞行和随机游动策略的灰狼算法-附代码_算法
其中,φ 为勘探阶段所占的迭代比例。当 φ =0.5时,本文改进的衰减因子与标准 GWO算法衰减因子一致。

系数向量C表示灰狼所在位置对猎物影响的随机权重,影响了灰狼群体靠近猎物的难易程度,从而影响算法的全局勘探能力。本文借鉴文献提出的修改控制参数 C策略来平衡全局勘探能力和局部开发能力,其具体表达式如下:
基于莱维飞行和随机游动策略的灰狼算法-附代码_人工智能_02
其中, 基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_03

2.2 莱维飞行和随机游动策略

为了提高寻优精度,本文利用莱维飞行和随机游动策略对灰狼算法的寻优过程进行优化。使用莱维飞行策略进行全局探测,使灰狼个体广泛分布于搜索空间中,以提高全局寻优能力;使用随机游动策略,使灰狼在相对集中的区域内寻优,以提高局部寻优的能力。莱维飞行 是服从莱维分布的随机搜索方法,是一种短距离的搜索与偶尔较长距离的行走相间的行走方式,从而促使莱维飞行具有良好的全局搜索能力。

莱维飞行的位置更新公式为:
基于莱维飞行和随机游动策略的灰狼算法-附代码_算法_04
其中, 基于莱维飞行和随机游动策略的灰狼算法-附代码_算法_05表示第基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_06代的第 基于莱维飞行和随机游动策略的灰狼算法-附代码_人工智能_07个解;⊕表示点对点乘法; 基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_08表示控制步长的权重,基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_09基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_10 为当前的最优解;基于莱维飞行和随机游动策略的灰狼算法-附代码_算法_11表示服从莱维分布的路径.

随机游动利用混合变异和交叉的方式产生新解,可以增强种群的多样性,一定程度上可以避免区域极值的吸引,进而提高算法的局部搜索能力,将其应用在智能优化算法中能够加快找到最优解的速度。随机游动的位置更新公式为:
基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_12
其中, 基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_13基于莱维飞行和随机游动策略的灰狼算法-附代码_人工智能_14为第基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_06代中的两个随机解; 基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_16 是缩放因子,基于莱维飞行和随机游动策略的灰狼算法-附代码_搜索_17

虽然莱维飞行和随机游动可以实现位置的更新,但是无法保证得到的新解的适应度优于原解,因此使用贪心机制来比较原解和新解的适应度,以保留适应度更好的解。
基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_18
对灰狼位置进行莱维飞行或随机游动虽然可优化算法的寻优过程,但是如果对每个迭代周期的每只灰狼都进行位置调整,将增加大量的时间消耗。因此,本文只对处于领导层的灰狼进行位置调整,而领导层的灰狼将指导其他灰狼进行位置更新,从而产生间接的影响。

算法伪代码如下:

基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_19

3.实验结果

基于莱维飞行和随机游动策略的灰狼算法-附代码_机器学习_20

4.参考文献

[1]李阳,李维刚,赵云涛,刘翱.基于莱维飞行和随机游动策略的灰狼算法[J].计算机科学,2020,47(08):291-296.

5.Matlab代码

6.python代码


标签:游动,莱维,寻优,灰狼,算法,随机
From: https://blog.51cto.com/u_16095618/6242765

相关文章