基于混沌收敛因子和惯性权重的鲸鱼优化算法

2022-05-26 02:38李维刚赵云涛
武汉科技大学学报 2022年4期
关键词:测试函数全局鲸鱼

邹 浩,李维刚,李 阳,赵云涛

(武汉科技大学冶金自动化与检测技术教育部工程研究中心,湖北 武汉,430081)

鲸鱼优化算法(whale optimization algorithm, WOA)是由Mirjalili等[1]于2016年提出的一种新型智能优化算法,其模拟海洋中座头鲸的群体狩猎行为,即鲸鱼群体搜索、包围和攻击猎物等过程实现寻优目的。WOA具有操作简单、需要设置的参数少、寻优能力强等优点,进行函数优化时,WOA在求解精度和收敛速度上要明显优于粒子群算法(PSO)和引力搜索算法(GSA)[1]。WOA在工程实践应用中也取得了良好的效果。例如,Qiao等[2]将WOA和Volterra自适应滤波器相结合应用于天然气短期消耗预测;Wu等[3]将WOA作为求解器,有效解决了城市环境中太阳能无人机的路径规划问题;Chen等[4]利用WOA优化所设计的多分类器DBSM的参数,以提高分类精度和计算效率;Bozorgi等[5]将WOA应用于基于无线传感器节点的物联网,通过优化路由模式来延长系统的寿命。

针对标准鲸鱼优化算法,研究者还提出了不少改进方法。例如,龙文等[6]设计了一种基于非线性收敛因子的改进鲸鱼优化算法,在搜索空间中利用对立学习策略初始化鲸鱼个体位置,并利用非线性收敛因子协调WOA算法的探索和开发能力,该算法在高维度测试函数上表现出良好的计算性能。褚鼎立等[7]提出一种结合自适应权重和模拟退火的鲸鱼优化算法,通过改进的自适应权重策略来调整算法的收敛速度,通过模拟退火增强鲸鱼优化算法的全局寻优能力。Luo等[8]利用生命周期机制,在WOA中嵌入改进差分进化算子,使算法在寻优精度和鲁棒性方面有明显提升。Chen等[9]提出一种基于准对抗和混沌机制的鲸鱼优化算法,首先使用混沌机制生成初始种群以提高算法的收敛速度,然后使用对立学习方法来平衡算法的探索和开发能力,以帮助算法跳出局部最优。黄清宝等[10]控制参数按照余弦曲线规律变化, 并加入同步余弦惯性权值, 使得算法在迭代前期减缓收敛速度以进行充分的全局探索,而在迭代后期加速收敛以提高求解效率。尽管目前已有的WOA改进算法在函数优化领域取得了一些成果,但仍然存在不足之处,例如,参数调整策略不能完全体现实际优化搜索过程,导致算法全局探索和局部开发能力难以协调;迭代后期群体中所有个体均向最优个体聚集使得算法易陷入局部最优。

针对WOA算法的不足,本文提出一种基于混沌收敛因子和惯性权重的改进鲸鱼优化算法(命名为CWOA)。该算法首先采用均匀化与随机化相结合的策略初始化种群,以增强种群的多样性,提高求解效率;同时受PSO算法的启发,采用混沌收敛因子和惯性权重非线性协同更新策略,以协调算法的全局探索和局部开发能力;另外还针对当前最佳鲸鱼位置引入多项式变异,以增强算法跳出局部最优解的能力。本文最后采用CWOA对12个标准测试函数进行优化求解,并将其应用于机械臂末端位置的优化问题,来验证该算法的有效性和优越性。

1 鲸鱼优化算法

根据座头鲸群体狩猎行为特点,WOA算法抽象出包围猎物、Bubble-net攻击和随机搜索3种行为。

(1)包围猎物

座头鲸可以识别猎物的位置并包围它们。由于座头鲸对猎物的位置不是先验已知的,因此,假设当前群体中的最优个体为猎物,群体中其他个体均向猎物位置包围,利用式(2)更新位置。

D=|C·X*(t)-X(t)|

(1)

X(t+1)=X*(t)-A·D

(2)

式中:t为当前迭代次数;X*(t)为当前的全局最优个体位置;X(t)为当前鲸鱼的位置;A·D表示包围步长;系数A和C定义如下:

A=2a·rand1-a

(3)

C=2rand2

(4)

式中:rand1和rand2为[0,1]范围内均匀分布的随机数;a为收敛因子,随迭代次数t的增加从2线性减小到0,即

a=2-2t/tmax

(5)

式中:tmax为最大迭代次数。

(2)Bubble-net攻击

在狩猎过程中,座头鲸是以向上的螺旋式运动并不断收缩包围的方式来攻击猎物的,被称为Bubble-net 捕食策略。为了从数学上描述这种觅食行为,在WOA算法中设计了两种不同的方法,即收缩包围机制和螺旋式位置更新。收缩包围机制通过式(3)中收敛因子a的减小而实现,此时A是区间[-a,a]内的随机值,当|A|<1时,鲸鱼在包围圈内搜寻猎物,根据式(2)来更新自己的位置,更新后的鲸鱼个体由原位置向目标猎物位置靠近,这样就实现了对猎物的收缩包围。在螺旋式位置更新中,座头鲸以螺旋运动方式来捕食猎物,其数学模型如下:

X(t+1)=X*(t)+D′eblcos(2πl)

(6)

式中:D′=|X*(t)-X(t)|表示鲸鱼与当前全局最优个体之间的距离;b为限定对数螺旋线形状的常数;l为[-1,1]区间的随机数。

值得注意的是,鲸鱼在猎物收缩圈内游动的同时还沿着螺旋路径行进。为了模拟这种同步行为,在优化过程中假设选择收缩包围机制和螺旋更新位置的概率均为0.5,其数学模型如下:

(7)

(3)随机搜索

当|A|≥1时,鲸鱼在包围圈外搜寻猎物,随机选择一头鲸鱼作为搜索代理,根据搜索代理的位置来更新其他鲸鱼的位置,迫使鲸鱼远离猎物,借此找到一个更合适的猎物,这样可以增强算法的全局探索能力,其数学模型如下:

D=|C·Xrand(t)-X(t)|

(8)

X(t+1)=Xrand(t)-A·D

(9)

式中:Xrand(t)表示随机选择的鲸鱼位置。

|A|与1的大小关系决定了鲸鱼个体的搜索行为:当|A|<1时,鲸鱼个体包围猎物,趋向于最优个体X*(t);当|A|≥1时,鲸鱼个体搜索随机个体Xrand(t)所在区域,以此搜寻更优的猎物。并且,由式(2)和式(9)可以看出,|A|值大小影响鲸鱼个体的搜索范围:当|A|较大时,鲸鱼在最优个体或随机个体所处位置的较大邻域内寻优;反之,则在较小邻域内寻优。由于参数A在很大程度上依赖于收敛因子a,因此收敛因子a是平衡算法的探索能力和开发能力的重要因素。

2 改进的鲸鱼优化算法

2.1 增强种群多样性的初始化策略

研究表明,对基于群体迭代的智能优化算法来说,初始种群的好坏影响着算法的求解精度和收敛速度[11],多样性较好的初始种群对提升算法性能很有帮助。但是,由于缺少先验知识,优化算法在求解问题时通常采用随机方法产生初始种群,这种方法不能保证初始种群较好地覆盖待优化问题的寻优空间,导致初始种群分布性较差,所以本文采用一种均匀化与随机化相结合的初始化方法[12]。

假设种群规模为N,解空间的维度为d,解空间中各维变量xj(j∈[1,d])的寻优区间为[lj,uj]。将区间[lj,uj]均匀划分成N个等长的子区间,初始个体在每一维上的取值需要通过首先随机选定子区间、然后在该子区间内产生随机值而获得。均匀划分后的各子区间有且仅有一次被选取的机会,这样可在最大程度上保证初始群体的多样性。具体流程如下。

算法1 种群多样性初始化算法输入: 种群规模N,解空间维度d,各维度的寻优区间[lj,uj]输出: 初始种群{x1,x2,…,xN}1.FOR j=1 TO d2. α=(uj-lj)/N//将解空间各维度均匀划分为N份3. M={[lj,lj+α],[lj+α,lj+2α],…,[lj+(N-1)α,uj]}4. FOR i=1 TO N5. 从集合M中随机选择一个子区间,并在该区间内随机产生一个值赋给xij6. 更新集合M,从该集合中删除在步骤5中已选子区间7. END FOR8.END FOR

2.2 混沌收敛因子和惯性权重协同更新策略

如前所述,WOA算法的全局探索和局部开发能力主要依赖于收敛因子a的变化。较大的收敛因子a使得算法具有较强的全局搜索能力,避免算法陷于局部最优;较小的收敛因子a使得算法具有较强的局部开发能力,能够加快算法的收敛速度。在标准WOA算法中,收敛因子a随迭代次数的增加从2线性减小到0,然而这种简单的参数调整策略不能完全体现实际的鲸鱼群体狩猎过程。因此,本文设计一种带混沌扰动的收敛因子非线性变化策略,混沌收敛因子更新公式为

(10)

式中:ht=1-2(ht-1)2,且ht∈[0,1],h0≠0.5。 收敛因子a的衰减趋势如图1所示。在搜索前期,收敛因子整体较大,算法注重于全局寻优,但由于混沌扰动因素的存在,在某些寻优迭代中,收敛因子取值较小,算法进行局部寻优,可以提高收敛速度。在搜索后期,收敛因子整体较小,算法注重于局部寻优,同样由于混沌扰动,收敛因子在部分寻优迭代中取值较大,算法可在较大空间中寻优,有助于跳出局部最优。

为了进一步平衡算法的全局寻优和局部探索能力。本文受文献[13]的启发引入了惯性权重策略,让其配合混沌收敛因子共同协调算法的全局寻优和局部开发能力。惯性权重更新公式为

图1 混沌收敛因子a的变化曲线

(11)

式中:winitial和wfinal分别为惯性权重w的初始值和终止值。

加入惯性权重更新策略后,当前个体包围猎物时的位置更新公式以及螺旋式运动时的位置更新公式分别为

X(t+1)=w·X*(t)-A|C·X*(t)-X(t)|

(12)

X(t+1)=w·X*(t)+D′eblcos(2πl)

(13)

2.3 多项式变异策略

在标准鲸鱼优化算法的迭代后期,由于搜索策略的原因,种群中所有鲸鱼个体都会向最优个体聚集,导致种群多样性降低。如果此时最优个体为局部最优解,则算法将出现早熟收敛。为了防止出现这类问题,本文对当前最优鲸鱼位置引入了多项式变异,多项式变异算子形式如下:

X′i=Xi+δi(ui-li)

(14)

其中,

(15)

式(14~15)中:ui、li分别为变量Xi的上、下界;ri为[0,1]区间随机数;η为变异分布指数,本文取值为30。

2.4 算法步骤

综上,本文基于混沌收敛因子和惯性权重的改进鲸鱼优化算法CWOA的具体流程如下。

算法2 改进鲸鱼优化算法CWOA输入: 种群规模N,最大迭代次数tmax输出: 最优个体位置Xbest1.按照算法1获取初始种群{xi,i=1,2,…,N}2.计算种群中个体适应度{f(xi),i=1,2,…,N},并记录当前最优个体

3.WHILE t≤tmax4. FOR i=1 TO N5. 根据式(10)计算收敛因子a,并更新其他参数6. IF p<0.57. IF |A|<18. 根据式(12)更新个体位置9. ELSE10. 根据式(9)更新个体位置11. END IF12. ELSE13. 根据式(13)更新个体位置14. END IF15. END FOR16. 计算更新后的个体适应度,并与之前种群合并,挑选出适应度排行前N的个体作为新的种群17. 对当前种群最优个体进行变异操作,保留变异前后适应度更好的解18. 比较并更新当前最优个体Xbest19. t=t+120.END WHILE

3 数值实验与结果分析

本节首先通过标准测试函数对CWOA算法的有效性和优越性进行验证,然后通过机械臂的位置优化问题检验CWOA算法的工程实用性。

3.1 测试函数及算法性能评价指标

为了检验CWOA算法的性能,本文选取12个不同类型的标准测试函数,函数名、表达式、搜索区间、理论最优值fmin和收敛精度如表1所示。

本文用两个指标来评价算法性能。第一个性能指标是结果精度(E),该指标反映了算法所得结果与问题全局最优解的接近程度,其值越小越好。假设一个函数f(x)的理论最优解是Xopt,tmax次迭代后找到的最优解为Pbest,则E定义为

E=|f(Pbest)-f(Xopt)|

(16)

第二个性能指标是寻优成功率(R),即多次实验中算法成功收敛到问题最优解的比例,定义为

(17)

表1 12个标准测试函数

式中:z为总实验次数;z′为算法收敛到问题全局最优解的实验次数。

3.2 测试函数求解结果分析

利用本文提出的CWOA算法对表1中12个标准测试函数进行求解,并与标准WOA算法和IWOA算法[6]进行寻优性能比较。测试函数的规模(维数d)分别设置为30、200、500、1000。为了公平起见,3种算法均采用相同的实验参数,即种群规模N=30,最大迭代次数tmax=500,则最大适应度函数评价次数为15 000。本文算法其他参数设置如下:常数b=1,惯性权重初始值winitial=0.9,惯性权重终止值wfinal=0.2。WOA算法和IWOA算法的其他参数按照对应参考文献设置。对于每个测试函数,3种算法均独立运行100次,统计精度E的平均值和标准差以及寻优成功率R,结果如表2所示,其中黑色粗体为3种算法中最好的结果。

由表2可知,当12个测试函数的规模不同时,除了函数f4(x)、f5(x)和f12(x)之外,本文提出的CWOA算法在分别求解其他9个函数的100次独立实验中均一致收敛到全局最优解,尤其是对于函数f1(x)、f6(x)、f8(x)、f9(x)和f10(x),CWOA算法均能收敛到理论最优值0,且对于函数f2(x)和f3(x),CWOA算法获得的最优解也非常接近理论最优值0。

与WOA算法和IWOA算法相比,CWOA算法在测试函数f1(x)、f2(x)、f3(x)、f9(x)和f10(x)上的寻优结果具有明显优势;对于函数f4(x)、f5(x)、f7(x)、f11(x)和f12(x),CWOA算法的寻优结果略优于WOA算法和IWOA算法;对于函数f6(x)和f8(x),3种算法的寻优结果相似。在寻优成功率方面,除了函数f4(x)、f5(x)和f12(x),CWOA算法在其他9个函数上的寻优成功率均为100%;对于函数f4(x)、f5(x)和f12(x),函数规模为30~500时,CWOA算法的寻优成功率均在60%以上,函数规模为1000时,CWOA的寻优成功率有所下降,但均显著优于对比算法。

表2 3种算法对12个标准测试函数的寻优性能指标

续表2

测试函数的维数由500增至1000时,3种算法各自的寻优性能变化不大,这也说明3种算法在求解高维优化问题时都有较强的鲁棒性。

表3给出了WOA、IWOA和CWOA对12个测试函数在200、500、1000维时的平均寻优收敛代数和最小收敛代数比较(“-”表示函数未收敛到最优值)。

表3 3种算法对12个标准测试函数的寻优收敛代数

从表3可以看出,与WOA和IWOA相比,CWOA的平均收敛代数和最小收敛代数均较小。图2给出了3种算法对于部分函数在500维时的寻优收敛曲线。由图2可以更加直观、清晰地看出,与WOA算法和IWOA算法相比,CWOA算法具有更高的收敛精度和更快的收敛速度。

3.3 改进策略有效性分析

为了分析3种改进策略的有效性,将CWOA算法与仅采用种群多样性初始化策略的WOA算法(记作CWOA-1)、仅采用混沌收敛因子和惯性权重协同更新策略的WOA算法(记作CWOA-2)和仅引入多项式变异操作的WOA算法(记作CWOA-3)进行对比,4种算法的参数设置与3.2节相同,表4给出了4种算法对12个测试函数(d=200)的寻优结果比较。

(a)f1(x) (b)f4(x)

(c)f6(x) (d) f11(x)

由表4可知,只采用种群多样性初始化策略(CWOA-1)和只采用多项式变异操作(CWOA-3)对WOA算法性能的改进有限,而采用混沌收敛因子和惯性权重协同更新策略(CWOA-2)对WOA算法性能有较大的改善。

表4 4种算法对12个测试函数(d=200)的寻优结果比较

3.4 CWOA与其他智能算法的比较

为了进一步验证CWOA算法的性能,将其与4种典型的群智能优化算法进行比较,包括CMAGWO[14]、ABC[15]、PSO[16]和IGWO[17]。从表1中选取10个测试函数,维数均设为1000。为了公平起见,5种算法均采用相同的实验参数,即种群规模N=30,最大迭代次数tmax=500,则最大适应度函数评价次数为15 000。 CWOA算法其他参数同3.2节;另外4种算法的其他参数按照对应文献设置。对于每个标准测试函数,5种算法均独立运行100次,统计精度E的平均值和标准差,结果如表5所示。

由表5可知,CWOA算法在函数f1(x)、f6(x)、f8(x)、f9(x)上收敛到理论最优值0,在函数f3(x)上获得的最优解非常接近理论最优值0。与CMAGWO、PSO和IGWO算法相比,CWOA算法在10个测试函数上均获得了更好的性能指标;与ABC算法相比,除了函数f4(x)、f6(x)、f11(x)、f12(x)之外,CWOA在其他6个测试函数上均取得了更好的结果。总体上来看,CWOA算法的寻优性能要优于其他4种算法,因此本文对WOA算法的改进策略是行之有效的。

表5 5种算法对10个测试函数(d=1000)的寻优结果比较

3.5 机械臂的位置优化

本节研究的机械臂由旋转关节和活动关节组成[14]。机械臂模型可以简化为首尾相连的关节,关节的一端连接到机械臂的底部,另外一端连接到执行器(例如操纵器、焊枪或喷枪),末端执行器的位置可以通过机械臂关节的移动来实现。因此,根据机械臂的正向运动学方程,可以确定末端执行器位置与每个关节的角度之间的关系。为了使末端执行器在操作空间内完成工作任务,机械臂末端的实际位置PE=(PE1,PE2,PE3)可以通过如下公式计算[14]:

(18)

式中:l为机械臂末端长度,l=0.085;l1、l2、l3和l4分别为一个关节和下一个关节之间共同垂线的长度,l1=0.175,l2=0.082,l3=0.38,l4=0.26;xi(i=1,2,3,4)为关节角度。

机械臂末端的期望位置PF=(PF1,PF2,PF3)是已知的。为了以最高精度到达目标点并尽可能减小关节角度的变化,建立如下目标函数:

f(x)=

+10-5{(x1-q01)2+[0.5(x2-q02)]2

+[0.5(x3-q03)]2+[0.1(x4-q04)]2}

(19)

(20)

以机械臂末端的期望目标位置PF=(-0.0516,-0.04006,-0.4135)为例,采用CWOA算法进行位置优化,并与WOA、PSO、IGWO、IWOA算法进行性能比较。5种算法均采用相同的实验参数,即种群规模N=50,最大迭代次数tmax=300,其余参数设置与前面相同。5种算法均独立运行30次,统计结果如表6所示。由表6可见,在进行机械臂末端位置优化时,与其他4种算法相比,CWOA算法在平均精度指标上表现最好,而且,其标准差和最差值也最小,这表明CWOA算法有更好的鲁棒性及更高的寻优精度。

表6 机械臂末端位置优化结果

4 结语

本文提出了一种基于混沌收敛因子和惯性权重的改进鲸鱼优化算法(CWOA)。CWOA使用均匀化与随机化相结合的初始化方法,增强了种群的多样性,提高了求解效率;受PSO算法启发,通过混沌收敛因子和惯性权重协同更新,平衡了算法的全局探索和局部开发能力;引入了多项式变异策略以避免算法出现早熟收敛现象。将CWOA应用于一系列标准测试函数和机械臂末端位置的优化问题,证明了该算法具有较好的全局收敛能力和鲁棒性,明显优于其他几种对比算法。下一步研究考虑将CWOA算法应用于约束优化问题和多目标优化问题。

猜你喜欢
测试函数全局鲸鱼
基于改进空间通道信息的全局烟雾注意网络
领导者的全局观
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
基于自适应选择的多策略粒子群算法
迷途鲸鱼
鲸鱼
二分搜索算法在全局频繁项目集求解中的应用
落子山东,意在全局
具有收缩因子的自适应鸽群算法用于函数优化问题