基于小生境技术的改进鲸鱼优化算法

2022-08-30 07:56周建新霍彤明
仪表技术与传感器 2022年7期
关键词:测试函数鲸鱼适应度

周建新,霍彤明

(华北理工大学电气工程学院,河北唐山 063210)

0 引言

鲸鱼优化算法(whale optimization algorithm,WOA)是2016年由S. Mirjalili教授提出的一种群智能优化算法[1]。鲸鱼优化算法简单易实现、跳出局部最优能力强并且调整参数较少,是近年来研究的热点课题。然而,WOA算法自身也存在局限性,即难以避免陷入局部最优解、收敛速度慢和全局搜索能力不足等问题。刘磊等提出一种基于全局搜索策略的鲸鱼优化算法,采用变螺旋位置更新策略并且引入自适应权重参数,研究发现此算法具有更高的寻优精度和收敛速度[2]。李畸勇等提出的基于改进鲸鱼算法的光伏阵列最大功率点电压预测模型具有较高的预测精度,该模型在光伏MPPT控制应用中取得较为理想的效果[3]。马创等提出一种基于改进鲸鱼算法优化的BP神经网络水资源需求预测模型,该模型有效地提高了算法的收敛速度和预测精度[4]。王坚浩等提出一种基于混沌搜索策略的鲸鱼优化算法(CWOA),利用混沌反向学习策略和非线性混沌扰动协同更新策略平衡全局搜索能力和局部开发能力,实验表明,CWOA在收敛速度、收敛精度、鲁棒性方面均较对比算法有较大提升[5]。

以上改进方法从不同角度对鲸鱼优化算法进行改进,在不同程度上证明了改进的WOA算法较传统WOA算法,各项性能均有提高。为了进一步提高算法的收敛速度和寻优能力,本文首先引入自适应参数作为权重系数改变鲸鱼位置更新方式,提升算法的收敛速度和寻优精度,其次,采用小生境技术对WOA算法进行改进,利用小生境技术设定共享函数添加惩罚策略,在保证鲸鱼捕食的同时,维持种群的多样性,保证算法的全局搜索能力,避免陷入局部最优解。

1 鲸鱼优化算法

鲸鱼优化算法是通过模拟鲸鱼群中个体之间的信息共享捕食行为,利用鲸鱼独有的气泡网捕食法,如图1所示。这种觅食方法是通过沿着“6”字型或是螺旋向上的圆形创造的气泡[6]来实现的。

图1 捕食猎物

1.1 包围猎物

座头鲸可以识别猎物并进行信息共享,使鲸鱼群包围猎物。由于搜索空间中猎物位置是随机的,所以WOA算法中假定一个位置为最佳搜索位置,通过不断更新优化最佳搜索位置进行捕食,这种捕食行为由以下方程表示:

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

(1)

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

(2)

式中:t为当前迭代次数;A和C为系数;X为当前所在位置;Xn为当前的最佳位置,若迭代过程中搜寻到更佳位置,Xn随迭代次数更新。

A和C的计算如下:

A=2a·r-a

(3)

C=2·r

(4)

a=2-2t/Tmax

(5)

式中:r为区间[0,1]之间的随机数;a在迭代过程中从2到0线性减小;Tmax为迭代次数的最大值。

1.2 捕食猎物

座头鲸通过螺旋更新位置,首先计算鲸鱼和猎物之间的距离,然后创建一个螺旋方程,模拟座头鲸螺旋运动,数学模型如下:

X(t+1)=D′·ebl·cos(2πl)+X*(t)

(6)

D′=|X*(t)-X(t)|

(7)

式中:b为对数螺线形状的常数,l为[-1,1]的随机数;D′为第i头鲸鱼个体(最优位置)与猎物的距离。

鲸鱼捕食猎物沿螺旋路径缩小包围圈,收缩包围机制通过减小a的值实现,A的波动也随a的减小而减小,即A是区间之间[-a,a]的随机值,设定A为区间[-1,1]之间,实现搜索位置为原位置和最优位置之间,为了模拟这种同时进行的行为,假设收缩包围机制和螺旋模型之间的选择概率为50%,数学模型如下:

(8)

式中ρ为[0,1]区间的随机数。

1.3 搜寻猎物

座头鲸根据彼此位置随机搜索,为保证鲸鱼算法的全局搜索能力,设定随机值A绝对值大于1,鲸鱼根据最优位置随机搜索更新位置,数学模型如下:

D=|C·Xrand-X|

(9)

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

(10)

式中Xrand为从当前种群中选择的随机位置。

2 改进的鲸鱼优化算法

2.1 基于小生境策略的鲸鱼算法

基本鲸鱼算法的数学模型主要由包围、捕食和搜寻猎物3部分组成,对于该算法的改进也主要从这3部分入手,通过设计混合算法[7],针对WOA算法容易陷入局部最优的问题,在包围猎物阶段引入小生境技术确定新的鲸鱼群体,在融合小生境技术的初始鲸鱼种群中,进行鲸鱼算法的运算。

小生境技术是将种群中个体分布在不同生境中,利用种群的多样性[8],通过共享机制比较生境间的距离,在设定的阈值下,对生境中适应度较高的个体,提高适应度值,保证个体的优良性,并对适应度低的个体,施加惩罚并更新,使其搜索其他区域寻找潜在的全局最优,以保证种群的多样性[9]。

对于鲸鱼个体Xi=(x1,x2,…,xn),i=1,2,…,n,定义它的小生境距离和共享函数,给定共享函数sh(dij),计算小生境群体中个体间的距离,数学模型如下:

dij=|Xi-Xj|

(11)

个体x和y之间的共享函数如下:

(12)

式中δs为小生境共享半径,dij<δs保证个体在小生境环境中。

调整后的适应度值:

(13)

式中:fsi为网络共享后的适应度;fi为共享前的适应度。

2.2 加入自适应位置权重的改进鲸鱼算法

鲸鱼优化算法在位置更新过程中,不同阶段鲸鱼和猎物之间的影响程度存在差异,根据改进蝗虫优化算法[10]的启发引入非线性参数ω作为当前最优位置的权重系数,减小算法前期最优鲸鱼位置的影响,避免个体在最优解附近移动,提升算法的局部开发能力,算法后期,加大位置权重影响力,提升最优位置对鲸鱼个体的吸引力,提高算法收敛速度,对WOA位置更新式(2)进行调整,定义如下:

(14)

改写后的位置公式为

X(t+1)=ωXn(t)-A·D

(15)

式中t为当前迭代次数。

ω呈非线性递增趋势,随迭代次数增加而增加,即逐次提高迭代中最优鲸鱼位置的影响力,吸引种群中其他鲸鱼。

2.3 算法流程

算法流程步骤如下:

(1)首先,初始化鲸鱼算法参数,即鲸鱼群规模、迭代次数等。

(2)划定初始范围,随机产生鲸鱼初始位置。

(3)在限定的小生境范围内,根据式(11)计算个体间的距离,确定鲸鱼群之间的距离。

(4)根据鲸鱼优化算法对小生境群体进行更新,对于更新后的个体按照式(13)对第j个个体进行适应度更新,用新的适应度对适应度低的个体进行惩罚。

(5)计算每个个体的适应度值,保留最优个体,组成新种群。

(6)根据式(3)~式(5)计算a、A和C。

(7)用加入自适应权重的鲸鱼位置公式更新位置。

(8)判断是否到最大迭代次数,若满足则输出最优解结束,否则重复步骤(3)。

(9)输出全局最优解。

3 仿真实验

为了测试本文提出NWOA算法的有效性和优越性,根据WOA算法原文中标准测试函数[1]和改进鲸鱼算法文献[11]中通用标准测试函数选取8个不同类型函数进行测试,其中F1~F4为单峰函数(分析算法的寻优能力和收敛速度),F5~F8为多峰函数(分析算法的跳出局部最优能力和全局搜索能力),其名称、函数表达式、搜索维度、搜索区间和理论最优值如表1所示。

表1 基准测试函数

为保证基准函数对算法测试的准确性,确定相同迭代次数和种群数量,比较NWOA算法同其他改进算法和传统WOA算法以及粒子群算法(particle swarm optimization,PSO)[12]在8个基准测试函数上各算法的收敛速度和寻优能力。

在算法性能测试中,选取不同维度(30/300),分析NWOA算法性能,并选取文献[5]中基于混沌搜索策略的鲸鱼优化算法 (CWOA)的数据、WOA算法和PSO算法作为对比,为保证实验公平性,确定相同参数:鲸鱼种群规模为35,最大迭代次数为900,分别将NWOA、CWOA、WOA和PSO算法进行30次独立测试,记录并比较测试数据平均精度值和标准差值,结果如表2所示。

表2 算法性能比较

由表2可知,函数维度设置为30维和300维。低维度(dim=30)时,单峰函数测试(F1~F4)和多峰函数测试(F5~F8)中,NWOA算法较其他3种算法均取得了较好的平均精度和标准差值,特别在函数F1和函数F2中,NWOA算法均收敛到理论最优值0,函数F3中,NWOA算法优于WOA和PSO算法,函数F5和函数F7中NWOA算法最优解趋近于0;高维度(dim=300)时,8组测试函数中,NWOA算法收敛速度较其他算法均有明显提升。

图2为粒子群算法(PSO)、传统WOA算法、CWOA算法和NWOA算法在高维度(300维)下的收敛曲线对比图,从图2可以看出NWOA算法的收敛速度普遍比其他3种算法快,这是由于引入小生境初始化种群在迭代初期确定更优搜索种群空间和加入自适应参数使算法在迭代过程中更快收敛。

图2(a)~图2(d)为对应F1-F4单峰测试函数图形,随迭代次数增加NWOA算法收敛速度和寻优精度明显优于WOA算法和PSO算法;图2(e)~图2(h)为对应F5-F8多峰测试函数图形,与CWOA算法、WOA算法和PSO算法相比,NWOA算法在迭代过程中多次跳出局部最优解,寻求全局最优解,收敛速度上,在8组测试函数中均表现不错,虽然传统WOA算法和PSO算法也存在跳出局部最优解的能力,但由于算法本身的缺陷,其全局搜索能力和收敛速度较NWOA算法有一定差距,很容易陷入局部最优解。

(a)函数F1

综上所述,针对传统WOA算法收敛速度慢、寻优精度低等问题,本文提出的引入自适应参数和小生境技术的改进鲸鱼优化算法有效地提高了算法的寻优精度和收敛速度,不仅与传统PSO算法比较有明显提高,而且相较于较新的改进算法,仍有不错的优势。

4 结束语

鲸鱼算法作为一种新型群智能算法,在许多领域都是研究的热点。WOA同其他智能算法一样都存在收敛速度慢、易陷入局部最优的问题,本文通过引入小生境技术对传统鲸鱼算法进行改进,仿真结果表明,改进的算法在一定程度上提升了算法的全局搜索能力和收敛速度。同其他算法对比也有明显优势,证明了NWOA算法有一定的优势。

猜你喜欢
测试函数鲸鱼适应度
小鲸鱼
改进的自适应复制、交叉和突变遗传算法
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
迷途鲸鱼
基于自适应调整权重和搜索策略的鲸鱼优化算法
鲸鱼
鲸鱼岛——拖延症
具有收缩因子的自适应鸽群算法用于函数优化问题
启发式搜索算法进行乐曲编辑的基本原理分析