APP下载

基于Levy 飞行策略的灰狼优化算法*

2022-06-16靳其兵

计算机与数字工程 2022年5期
关键词:适应度灰狼种群

崔 鸣 靳其兵

(北京化工大学信息科学与技术学院 北京 100029)

1 引言

实际生产中存在许多优化问题,传统优化方法主要有牛顿法、梯度法等,但其中大部分是基于梯度的算法,但是这些方法均存在多种缺陷。近年来,不依赖梯度的元启发式算法备受关注,引起了研究人员的极大兴趣,这种算法不依赖梯度且能在复杂数值优化问题方面表现出较好的效果。群智能优化算法是元启发算法的一种,群智能优化算法主要是受到自然界中生物种群的运动规律启发而提出的算法[1],常见的群智能优化算法有粒子群优化算法(PSO)[2]、蚁群优化算法(ACO)[3]、布谷鸟算法(CS)[4]、蝙蝠算法(BA)[5]等。

灰狼优化算法(GWO)是一种2014 年由Seyedali Mirjalili 等受自然界中灰狼捕食规律启发而提出的一种新型群智能优化算法[6]。近期关于灰狼优化算法的改进与应用要有:裴虎等提出了二进制灰狼算法应用于特征选择中[7];袁岩等提出了基于对立搜索策略的灰狼算法应用于加氢裂化数据建模问题中[8];瞿诚智等提出了基于强化学习的灰狼算法应用于无人飞行器路径规划中[9];Rahul Kumar Vijay 等提出了量子灰狼优化算法应用于地震研究中[10];Mohamed Abdel Basset 等提出了两段突变的灰狼优化算法应用于特征提取中[11];龙文等提出了基于布谷鸟算法改进的灰狼算法应用于太阳能光伏发电优化中[12]。但目前对于新型改进算法的研究并不完善,灰狼优化算法在精度和收敛速度等方面仍存在改进空间,因此对灰狼优化算法(GWO)的深入研究是极其必要的。

2 原始灰狼优化算法

2.1 灰狼种群

灰狼是一种群居动物,狼群一般由5~12 头灰狼组成,在灰狼种群中有着非常严格的等级制度,等级制度表现为金字塔结构,如图1所示。Seyedali Mirjalili 模拟狼群中等级制度,将灰狼种群划分为α狼、β狼、δ狼和ω狼四个等级[6],其中α狼为整个狼群的领导者,其命令等级最高;β狼是α狼的从属狼,在整个狼群中起到加强化α狼的领导并提供低等级灰狼命令执行情况反馈的作用;δ对的等级更低狼服从于β、α狼的命令;ω狼是狼群中等级最低的灰狼,在狼群中是狩猎活动的主要实施者。

2.2 灰狼算法描述

灰狼算法对狼群中的等级制度进行模拟,将解集中的最优解记为α,其中的次优和第三优解分别记为β、δ,其他解记为ω。在算法中,搜索由α狼、β狼、δ狼指挥,ω狼服从。算法可分为接近猎物;包围、骚扰猎物,直到猎物停止移动;攻击猎物三个阶段。

综上所述,对包围过程进行建模如式(1)、式(2):

其中t为迭代数,A、C分别为A=2a·r1-a、C=2·r2的系数向量,系数向量中a在迭代过程中从2 线性减小到0,r1和r2为[0 ,1] 中随机数。Xp为猎物位置向量,X为灰狼个体的位置向量。

在包围完成、猎物停止移动后狼群就会进行狩猎活动,狩猎过程由α、β、δ狼共同做出决策,其数学表达式如式(3):

其中Dα、Dβ、Dδ分别为α狼、β狼、δ狼与猎物之间的距离向量,Xα、Xβ、Xδ分别为α狼、β狼、δ狼的当前位置向量,C1、C2、C3为参数向量。

在随机初始化后,计算每一只灰狼(候选解)的适应度值并排序,将最优、次优和第三优解的值分别赋值给α狼、β狼、δ狼。候选解ω的位置相对于α狼、β狼、δ狼的位置更新公式如式(4~5),其中A1、A2、A3为系数向量:

若候选解ω的适应度值比α狼、β狼、δ狼的适应度值更好,就更新领导灰狼的位置,不停迭代直到满足中止条件找到全局最优解。

3 基于Levy飞行策略的灰狼算法

3.1 自适应位置更新策略

灰狼种群具有严格的等级制度,α、β、δ狼的领导权重依次递减,但在原始GWO 算法中,ω狼的位置更新公式只是简单地把α、β、δ狼的位置进行加和取平均,这并不能反映出种群中的等级制度。α狼处于领导层的顶端,适应度值最优,β狼处于第二领导层,适应度值次优,ω狼在进行位置更新时应当向更优的位置靠拢,更多地参考α狼、β狼的位置,因此本文为ω狼引入自适应位置更新公式如式(6)所示。

其中Jα、Jβ、Jδ分别为α狼、β狼、δ狼的适应度值。

3.2 非线性收敛因子

a是GWO 算法中的核心参数,在原始GWO 算法中,a的初始值为2,随着不断迭代线性减小直至0,但是这种线性减小的策略并不符合实际情况,在算法运行的前期阶段中,参数较大算法进行全局搜索,随着参数的不断减小算法进行局部搜索,较为优秀的算法的全局搜索应长于局部搜索,这样更能协助算法找到全局最优解。但原始GWO算法中参数a线性减小会使得算法的全局搜索和局部搜索的时间一致,这会导致算法还没有很好地对整个空间进行搜索就转为局部搜索,很容易到造成算法精度下降。

因此本文将参数a改进为非线性收敛,原始参数与非线性收敛参数对比图如图2 所示,公式分别为式(7)、式(8)所示,其中l为当前迭代次数,Maxinter为最大迭代数。

图2 改进前和改进后的参数对比图

3.3 引入Levy飞行策略

许多优化算法都会不同程度地陷入局部最优,影响算法对于多峰函数的性能,为了改善这一问题,我们将Levy 飞行策略引入LGWO 算法。Levy分布最早由法国数学家保罗。莱维于1937 年提出,但是由于这种他提出的积分形式没有确定的解析解,产生一个服从于莱维分布的随机数较为困难,随着研究人员不断深入研究发现,当(s→∞)时,,其 中Γ(z) 为Gamma 函数一般β=1.5,这个近似分布呈现重尾分布。Levy 飞行的方差随着时间呈现指数关系,即σ2(t)~t3-β,1 ≤β≤3,因此Levy飞行对比随即游走更加出色[13]。在实际应用中我们常用Mantegna 方法来生成服从萊维分布的随机步长,Mantegna 于1994 年提出了一种用正太分布求解随机数的生成服从萊维分布的方法[14],生成服从Levy分布的公式如式(9)、式(10):

在LGWO 算法中,当适应度值连续limit 次没有显著变化(即变化值<0.0001)时,我们就判定算法陷入了局部最优,从而引入Levy 飞行策略来帮助算法跳出局部最优。对于当前时刻使用式(11)产生下一时刻的候选解:

其中⊕为元素相乘,θ为[0 ,1] 间随机数,β=1.5。

3.4 LGWO算法执行步骤

Step1:初始化上下边界、最大迭代次数等参数,初始化灰狼种群,计算个体的适应度值。

Step2:对个体适应度值排序,将最优、次优、第三优的适应度值分别赋值给α、β、δ狼。

Step3:使用式(3)、(4)、(6)更新灰狼种群位置,更新系数向量A、C。

Step4:判断算法是否陷入局部最优,若连续五次迭代适应度值没有明显变化,对灰狼种群引入Levy飞行策略。

Step5:判断算法是否达到停止条件,若达到停止条件,输出α狼位置,否则跳转Step2。

4 实验仿真与分析

由于智能优化算法与传统优化方法不同,需使用测试函数来验证优化算法的性能。我们使用IEEE CEC-2017 中的9 个测试函数进行算法性能验证。测试函数可分为单峰函数(f1-f4)、多峰函数(f5-f7)和固定维多峰函数(f8-f9),测试函数的表达式如表1。仿真实验环境为64 位Win10 台式机、英特尔酷睿i7-4700MQ 8G RAM 环境中的Matlab R2019a 我们使用平均值(AVE)与统计标准差(STD)两个评价指标来评估算法性能。

表1 标准测试函数

4.1 limit值对LGWO性能影响

在LGWO 算法中,limit 值为算法的重要参数,当算法连续limit次的适应度值没有发生明显变化,我们就判定算法出现了陷入了局部最优的情况,从而引入Levy飞行策略帮助算法跳出局部最优[15]。

为了确定LGWO 算法的最优limit 值,我们选取表1 中的测试函数F7,分别将limit 设置为3、5、10、15 来研究limit 值对LGWO 算法的影响,算法重复运行50次,计算50次的平均值与统计标准差,并求取重复运行50 次的总时间。实验结果如表2 所示。

表2 limit值对LGWO算法的性能影响

由表2 可以看出当limit 取值为3 时,所用的总时间最长,limit取值过低导致算法频繁判定陷入了局部最优,重复引入Levy 飞行策略,导致运行时间增加。当limit取值为5、10、15 时,程序运行时间相差不大,其中limit 取值为5 时,算法的平均值与标准差是三种情况最小的,收敛到了真值0。当limit取值为10、15 时,在算法的后半阶段不足以进行足够次数的Levy 飞行映射,也会导致算法性能下降。综合考虑我们选取limit值为5。

4.2 LGWO算法性能测试

通过4.1 节的研究我们确定limit 的值为5,在本节中我们将测试LGWO算法的性能,并与原始灰狼算法(GWO)[6]、布谷鸟灰狼算法(GWOCS)[12]、粒子群优化算法(PSO)[2]进行性能对比,GWOCS算法是龙文等提出的一种基于布谷鸟算法改进的灰狼算法。在实验中,算法的种群数量设置为30,将迭代次数设置为500。在实验中,我们使用了相关参考文献中的算法建议参数设置,每个实验重复50次以避免偶然性,计算50 次重复试验的获得的平均值与统计标准差。

实验结果如表3 所示,表3 中的Best 表示相对于其他对比算法,均值和标准差更好的情况个数。不同算法的收敛曲线如图3所示。

表3 测试函数结果

从表3中可以看出,对于单峰函数(f1-f4),本文提出的LGWO 算法由于引入自适应位置更新策略、非线性收敛因子,算法具有了更强的开发能力,LGWO 算法的精度有了较大提升且算法最为稳定。对比其他算法更为优秀,显着提高了算法处理单峰函数的性能(PSO(0/4)、GWO(0/4)、GWOCS(0/4)、LGWO(4/4))。

对于多峰测试函数(f5-f7),本文提出的LGWO 算法由于引入了Levy 飞行策略,能够在算法陷入局部最优时效帮助算法及时跳出,大幅度提高了算法的探索能力,LGWO 算法性能明显优于其他对比算法(PSO(0/3)、GWO(0/3)、GWOCS(0/3)、LGWO(0/3)),特别是函数f5、函数f7,LGWO 算法均搜索到真实值0 且标准差也为0,精度与稳定性均表现最优。

对于固定维多峰测试函数(f8-f9),LGWO 算法对比其他算法依然较为优秀(PSO(1/2)、GWO(0/2)、GWOCS(0/2)、LGWO(1/2)),对于函数f8,LGWO 算法的精度虽然相对PSO 算法稍差,但对比原始GWO算法、改进的GWOCS算法也有一定提高。

由图3 可知,LGWO 算法的收敛速度是四种算法中最快的。例如,在单峰函数f6中,LGWO 算法在第200 次迭代时就收敛到了最优值,而其他对比算法在第320 次迭代时才能收敛到最优值,再一次说明了LGWO算法的改进的有效性。

图3 函数收敛曲线

5 结语

本文在原始灰狼优化算法中引入自适应位置更新策略、非线性收敛因子与Levy 飞行策略,使算法精度与稳定性都有了较大的提高。通过对9 个函数的仿真测试,实验结果表明LGWO算法有效改进了原始算法容易陷入局部最优、收敛精度差的缺陷。在未来工作中,我们将着重研究尝试将LGWO算法拓展到多目标优化领域,以解决精馏塔的多目标优化问题。

猜你喜欢

适应度灰狼种群
改进的自适应复制、交叉和突变遗传算法
山西省发现刺五加种群分布
灰狼和山羊
谷谷鸡和小灰狼
灰狼的大大喷嚏
由种群增长率反向分析种群数量的变化
启发式搜索算法进行乐曲编辑的基本原理分析
灰狼照相
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
种群增长率与增长速率的区别