一种基于迭代自适应的鲸鱼优化算法

2023-06-25 18:49李涵李文敬
电脑知识与技术 2023年13期

李涵 李文敬

摘要:针对鲸鱼优化算法(WOA) 后期收敛精度差和高维下容易陷入局部最优等不足,提出一种基于迭代自适应的鲸鱼优化算法(IAWOA) 。首先用Circle混沌映射鲸鱼个体位置,使个体鲸鱼位置分布得更加均匀;其次随着迭代自适应改变螺旋气泡网大小,使螺旋气泡网前期较大而后期慢慢变小;再者用levy flight更新个体随机位置,帮助算法跳出局部最优;最后,通过12个基准测试函数,将IAWOA与其他3种算法进行仿真实验。实验结果表明,IAWOA有更好的收敛精度和鲁棒性。

关键词:鲸鱼优化算法;Circle混沌映射;迭代自适应;levy flight;基准测试函数

中图分类号:TP301        文献标识码:A

文章编号:1009-3044(2023)13-0001-04

开放科学(资源服务)标识码(OSID) :

0 引言

群智能优化算法是一类受自然界动物觅食方式等群体行为,为解决实际的最优化问题而提出来的新的计算方法。像蝴蝶算法[1]、麻雀算法[2]等,鲸鱼优化算法(Whale Optimization Algorithm,WOA) 是2016年Mirjalili等根据座头鲸的捕食行为提出的新的群智能优化算法[3]。该算法具有参数少、易懂易实现等优点,目前已被应用到图像分割、路径优化和数据预测等领域[4],并且取得了不错的优化效果。

但是,该算法也还存在后期收敛精度差和高维下容易陷入局部最优等不足,为此,孟宪猛等人[5]用精英反向学习优化初始化种群,提高算法全局搜索的时间和占比,进而提高算法全局搜索的能力;李安东等人[6]用卡方分布的逆累积分布函数更新收敛因子以实现全局探索和局部开发的平衡;Tang等人[7]融合了人工蜂群算法的觅食思想提高了鲸鱼算法收敛的精度;Chakraborty等人[8]提出饥饿搜索的鲸鱼优化算法,将饥饿情况下的群体行为和座头鲸的狩猎行为相结合,从而避免鲸鱼算法过早地陷入局部最优;Dereli等人[9]提出平均群的鲸鱼改进算法,当参数p值低于一定值时,每个鲸鱼个体采用群体平均值移动到新的位置,从而提高了算法后期的收敛精度。

综上所述,大多数的改进文献都是对鲸鱼种群的初始化、收敛因子A等进行改进,未对鲸鱼优化算法螺旋气泡网的大小进行分析,为此本文提出了一种基于迭代自适应的鲸鱼优化算法(IAWOA) ,对涉及的螺旋气泡网觅食方式进行进一步的研究改进。

1 鲸鱼优化算法(WOA)

1.1 包围猎物

在包围猎物阶段,种群中其他鲸鱼不同程度地跟随最优鲸鱼,以便能更快地找到食物,其公式如下:

[X(t+1)=X*(t)-A×D]  (1)

[D=|C×X*(t)-X|] (2)

[A=2a×r1-a] (3)

[C=2×r2] (4)

其中t为迭代次数,X*表示最优鲸鱼的位置,X表示其他鲸鱼的位置。A和C為系数向量,A的值决定算法是进行全局搜索还是局部开发,C的值表示种群中其他鲸鱼跟随最优鲸鱼的程度,a为收敛因子,随着t的迭代,a值由2线性递减至0,r1和r2为[0,1]之间的随机数。

1.2 螺旋气泡网攻击猎物

鲸鱼觅食的第二种方式为螺旋气泡网,具体表述如下:

[X(t+1)=D1×ebh×cos(2πh)+X*t] (5)

其中[D1=|X*t-X(t)|]表示第t次迭代中最优鲸鱼个体与当前鲸鱼个体之间的距离,b表示螺旋形方程的常数值为1。h是[-1,1]之间的一个随机数。假设鲸鱼在追赶猎物的过程中,分别有50%概率选择包围猎物和螺旋气泡网攻击猎物,且通过p的值进行选择,p为[0,1]之间的随机数,当p<0.5时选择包围猎物,否则选择螺旋气泡网攻击猎物。

1.3 搜索猎物

当|A|>1时,鲸鱼进入全局搜索阶段。此时,鲸鱼个体位置的更新改为随机跟随种群中其他的鲸鱼,其数学模型描述如下:

[D=|C×Xrand-X|] (7)

[X(t+1)=Xrand-A×D] (8)

其中[Xrand]表示当前鲸鱼种群中随机选取的鲸鱼个体位置。

2 鲸鱼优化算法的改进

2.1 鲸鱼算法存在的问题与改进策略

在实验中,发现鲸鱼优化算法在求解的过程中,存在后期收敛精度差和容易陷入局部最优等不足等问题,主要原因有:前期在包围猎物时个体鲸鱼位置分布不均匀,不利于算法的快速收敛;在螺旋气泡网攻击猎物时,螺旋气泡网的大小未随迭代而变化,导致算法后期收敛精度不足;在进行全局搜索时,鲸鱼个体的随机位置容易使其陷入局部最优。

为了解决上述问题,本文采用Circle混沌映射鲸鱼个体位置,提高算法前期收敛速度;随着迭代自适应改变螺旋气泡网大小,用于提高算法后期的收敛精度;levy flight改进个体随机位置,帮助算法减少陷入局部最优的次数。

2.2 Circle混沌映射

通过分析公式(2) 可知,个体鲸鱼的位置X的分布也就直接影响鲸鱼包围猎物的效果,为了使鲸鱼更快更有效地捕捉到猎物,当前个体鲸鱼的位置分布得越均匀越好。在黑猩猩优化算法[10]中,用chaos映射的值作为黑猩猩个体位置的系数,使之分布得更为均匀,有更大的包围空间,从而提高算法的性能,受该文献的启发。对比了常用的几种映射方法,tent映射、Logistic映射、Sine映射,最后本文选用了遍历性较好的Circle混沌映射的值作为个体鲸鱼的系数值,具体公式如下:

[X(t+1)=X*(t)-A×D1] (9)

[D1=|C×X*(t)-ui×X|] (10)

[ui+1=mod(ui+0.2-(0.52π)sin(2π?ui),1)]  (11)

其中mod为求余函数。

2.3 迭代自适应螺旋网

通过对公式(5) 的分析可以得出,控制螺旋气泡网的参数主要是b和h,b为定值1,而h为[-1,1]之间的一个随机值,即这两个参数控制的螺旋气泡网大小是相对固定的,虽然说有随机值h,但是h的值在迭代过程中,不管是迭代前期还是后期都未随着迭代t的增加而发生规律性的改变,这样的螺旋气泡网不利于后期鲸鱼的觅食,也会导致算法后期的收敛精度不足。为了弥补这一不足,采用迭代自适应改变螺旋气泡网的大小,其中k取0.5,这样有利于平衡算法全局搜索和局部开发的能力。随着迭代次数的增加k1的值从0.5线性减少到0,k2的值从0.5线性增加到1,具体公式如下:

[X(t+1)=k1×D1×ebh×cos(2πh)+k2×X*t] (12)

[k1=(1-k)-(1-k)×ttmax] (13)

[k2=k+1-k×ttmax] (14)

2.4 levy flight改进策略

通过分析公式(8) 可得,在全局搜索阶段时,鲸鱼随机跟随种群中的其他鲸鱼进行位置的更新,这样的跟随方式容易使其陷入局部最优。为此采用levy flight策略改进全局的搜索方式。levy flight在行走过程中有相对较高的概率出现大跨步,将levy flight在空间中随机行走的特点和随机选取的个体鲸鱼位置相结合,从而帮助鲸鱼优化算法减少陷入局部最优的次数,具体公式如下:

[X(t+1)=Xrand×levy(d)-A×D2]  (15)

[D2=|C×Xrand×levy(d)-X|]  (16)

[levyx=0.01×uv1λ]   (17)

[u~N0,σ2u      v~N0,σ2v]  (18)

[σu=Г1+λsinπλ2λ×Г1+λ2×2λ-121λ         σv=1]  (19)

其中[Г=0+∞e-ttx-1dt] (20)

其中d为向量的维数。λ的取值一般为[1,3],在本文中λ=1.5;u和v分别服从如公(18) 所示的正态分布,其中[σu]和[σv]分别由公式(19) 求得。

2.5 IAWOA算法步骤

基于上面的分析,IAWOA实现步骤如下:

1) 设置种群大小N,最大迭代次数[tmax];

2) 初始化种群中个体鲸鱼的位置X;

3) 计算每头鲸鱼对应的适应度值,更新参数A、C、h、p、a、k1、k2;

4) 当p<0.5且[A<1],根据公式(9) 更新个体位置;

5) 当p<0.5且[|A|≥1]时,根据公式(15) 更新个体位置;

6) 当[p≥0.5]时,根据公式(12) 更新个体位置;

7) 计算适应值,并更新当前最优解;

8) 若[t

3 实验与分析

为了验证本文改进算法的性能,实验共分为两个部分:1) 单策略有效性分析,即分析单一改进策略对算法性能的影响;2) 对比分析,将IAWOA与其他3种算法进行寻优对比;

本文一共选取了鲸鱼优化算法文献[3]中F1至F12,12个基准函数作为测试函数,其中,F1~F7为单峰测试函数,可用于测试算法的开发性能,F8~F12为多峰函数,可用于测试算法跳出局部最优的能力。为了保证实验的公平性,实验环境统一为:Windows 11,处理器Inter(R) Core(TM) i7-11800H ,运行内存16 GB以及Matlab R2018a。

3.1 单策略有效性分析

为了验证每一种改进策略对算法性能的影响。将只采用Circle混沌映射改进优化鲸鱼算法(记为aWOA),只采用迭代自适应螺旋网改进优化鲸鱼算法(记为bWOA),只采用levy flight改进优化鲸鱼算法(记为cWOA) 。对比单一改进策略和原算法保持一致,其中种群数N=30、维数Dim=30、最大迭代次数[tmax]=500,为了避免偶然性对实验造成的影响,4种算法独立运行30次,取其标准差和平均值。

从表1的数据可以看出,3种不同的改进策略使算法的尋优精度均有所提高,12个寻优函数中,aWOA在F1、F2、F8和F9寻优精度提高较为明显,bWOA在F1~F4、F7、F9、F11和cWOA在F1、F2、F7、F11寻优精度有了较大的提升,综上可以看出,bWOA对原算法的改进效果较好,aWOA和cWOA对原算法的改进效果不相上下。

3.2 与其他算法对比分析

为了进一步说明迭代自适应改进鲸鱼优化算法(IAWOA) 的性能如何,选取了近年来性能较好和应用范围较广大的黑猩猩算法(CHOA) 和灰狼算法(GWO)[11]进行寻优对比。由于实际问题往往很复杂,只测试其在低维下的寻优性能是完全不够的,所以将其分别在维数Dim=30和Dim=100进行了寻优对比(具体见表2),其加粗部分表示30次寻优平均值精度最好对应的算法。其对比算法的参数设置都保持和原文一致。

由表2可以得出,宏观上,在12个测试函数寻优精度中,IAWOA在30维时有9个函数寻优精度排名第一,在100维时有11个函数寻优精度排名第一,远远超过了传统的WOA。可见改进IAWOA算法在寻优精度有了较大的提高。再者,在算法独立运行30次的过程中,IAWOA算法的标准差在30维和100维分别有10次和8次是最小的,其中有2次为0,标准差明显小于其他对比算法,可见改进后的算法有更好的鲁棒性。微观上,在单峰函数F1~F4中,不管是在低维还是在高维,IAWOA都能保持较高的寻优精度,而且在高维下,其他对比算法精度下降较快,但是IAWOA在高维和低维下寻优精度相差不大,可见IAWOA不管是在低维还是在高维情况下都有更强的开发性能;对于多峰函数F8~F12,IAWOA在30维和100维分别有4次和5次寻优精度最优,可见IAWOA比WOA有更强跳出局部最优的能力,从而找到全局最优。

4 结论

针对鲸鱼优化算法存在后期收敛精度差和高维下容易陷入局部最优等不足,本文提出一种基于迭代自适应的鲸鱼优化算法(IAWOA) 。首先,用Circle混沌映射鲸鱼个体位置,使个体鲸鱼分布得更均匀;其次,随着迭代自适应改变螺旋气泡网大小,使螺旋气泡网前期较大而后期慢慢变小;再者,用levy flight改进个体随机位置,减少算法陷入局部最优次数。最后,仿真实验结果表明,本文改进的算法有更好的收敛精度和鲁棒性。在今后的学习中,计划将IAWOA应用到物流配送路径优化上,通过实际问题进一步验证IAWOA的性能。

参考文献:

[1] Arora S,Singh S.Butterfly optimization algorithm:a novel approach for global optimization[J].Soft Computing,2019,23(3):715-734.

[2] Xue J K,Shen B.A novel swarm intelligence optimization approach:sparrow search algorithm[J].Systems Science & Control Engineering,2020,8(1):22-34.

[3] Seyedali,Mirjalili.The whale optimization algorithm[J].Advances in Engineering Software,2016(95):51-67.

[4] 许德刚,王再庆,郭奕欣,等.鲸鱼优化算法研究综述[J].计算机应用研究,2023,40(2):328-336.

[5] 孟宪猛,蔡翠翠.基于精英反向学习和Lévy飞行的鲸鱼优化算法[J].电子测量技术,2021,44(20):82-87.

[6] 李安东,刘升.混合策略改进鲸鱼优化算法[J].计算机应用研究,2022,39(5):1415-1421.

[7] Tang C J,Sun W,Xue M,et al.A hybrid whale optimization algorithm with artificial bee colony[J].Soft Computing,2022,26(5):2075-2097.

[8] Chakraborty S,Saha A K,Chakraborty R,et al.HSWOA:an ensemble of hunger games search and whale optimization algorithm for global optimization[J]. International Journal of Intelligent Systems,2022,37(1):52-104.

[9] Dereli S.A novel approach based on average swarm intelligence to improve the whale optimization algorithm[J].Arabian Journal for Science and Engineering,2022,47(2):1763-1776.

[10] Khishe M.Chimp optimization algorithm[J].Expert Systems With Applications,2020(149):113338.

[11] Mirjalili S,Mirjalili S M,Lewis A.Grey wolf optimizer[J].Advances in Engineering Software,2014(69):46-61.

【通聯编辑:唐一东】