APP下载

基于混合策略改进的鲸鱼优化算法

2022-01-22秋兴国王瑞知张卫国张昭昭

计算机工程与应用 2022年1期
关键词:柯西鲸鱼全局

秋兴国,王瑞知,张卫国,张昭昭,张 婧

西安科技大学计算机科学与技术学院,西安 710048

群智能优化算法是仿生类进化算法之一,通过模拟自然界生物群体的复杂组织行为,如群体捕食行为、群体繁衍机制等构造出相应的随机搜索方法。群智能优化算法具有较强的自组织性和鲁棒性,被广泛应用于机械控制、图像处理、工程调度、路径规划、特征提取等领域[1-4]。典型的群智能优化算法有粒子群算法(particle swarm optimization,PSO)[5]、人工蜂群算法(artificial bee colony,ABC)[6]、灰狼优化算法(grey wolf optimizer,GWO)[7]等。

鲸鱼优化算法(whale optimization algorithm,WOA)是Mirjalili等[8]于2016年提出的一种新型群智能优化算法,该算法基于座头鲸的觅食行为,构建出搜索、包围和狩猎等理论模型以实现对目标问题的优化求解。相比其他优化算法,WOA 具有搜索机制独特、参数少、易于理解的优点,但与其他群智能算法相似,WOA同样存在收敛速度慢、易陷入局部最优的问题。目前,国内外学者针对这些问题提出了许多不同的改进方法。武泽权等[9]提出了一种基于自适应权重和随机差分变异策略的鲸鱼优化算法,引入准反向学习策略对种群进行初始化以增加种群多样性,通过自适应权重和差分变异策略更新个体位置,有效防止算法陷入局部最优。Seyed 和Samaneh[10]结合差分进化算法对鲸鱼优化算法进行改进,提出新的控制算子以平衡算法的全局探索和局部开发能力,对求解复杂优化问题十分有效。Kaur 和Arora[11]将混沌理论引入到WOA优化过程中提出CWOA方法,通过混沌映射调节WOA的主要参数,通过实验证明了CWOA 能够有效提高算法的寻优能力。郝晓弘等[12]采用混沌映射初始化种群,通过非线性收敛因子和惯性权重提升全局探索和局部开发能力,并结合变异操作提出基于混合策略的鲸鱼优化算法,通过与其他优化算法进行对比,寻优效果显著。张水平等[13]通过Faure序列初始化种群,对个体进行分工及柯西高斯变异并动态调整搜索策略提出改进的鲸鱼优化算法,并在仿真实验上取得了较好的结果。以上改进策略,主要体现在种群初始化、非线性时变因子和自适应权重、局部变异方面,这些改进策略均在不同方面提升了鲸鱼优化算法的性能。

本文针对鲸鱼优化算法收敛速度慢、易陷入局部最优、寻优精度差等问题,结合以往学者在种群初始化方面所做工作,将低偏差Sobol序列应用到种群初始化中,从而提出一种新的种群初始化方法。该方法使搜索空间中初始解分布更加均匀从而提高算法收敛速度;其次,基于非线性时变因子和自适应权重这一鲸鱼优化算法的改进热点问题,提出一种新的非线性时变因子和自适应权重改进公式,以平衡并提高算法全局搜索和局部开发能力,进一步提升算法优化性能;最后,将能够促进个体间相互学习的随机学习策略引入鲸鱼优化算法中,提出一种新的增加种群多样性方法;并引用张水平等[13]、何庆等[14]所提局部柯西变异策略改善算法跳出局部最优的能力。通过在12个基准函数和水资源需求预测模型参数估计中与其他6种优化算法进行仿真对比,验证了上述改进措施可有效提升算法的收敛速度和寻优精度。

1 鲸鱼优化算法

鲸鱼优化算法是模拟座头鲸捕食行为发展而来的一种群智能优化算法,该算法主要包含搜索猎物、包围猎物和螺旋气泡网捕食三个阶段。

1.1 搜索猎物

鲸鱼优化算法中,参与捕猎行为的每头鲸鱼代表一个可行解x。在搜索猎物阶段,基于鲸鱼群体捕猎时的随机游走机制,鲸鱼个体根据群体中彼此的位置信息更新下一代位置,随机搜索使算法具备全局寻优性能。根据第t次的搜索行为,当 ||A>1 时,鲸鱼对第t+1 次的搜索行为进行更新,表述如下:

其中r∈rand[ ]0,1 ,a=2-2t/T,T为迭代次数。注意到,随着迭代次数的增加,a呈线性递减,相应地A随a逐渐减小,当 ||A≤1 时,算法由搜索猎物阶段进入包围猎物阶段。

1.2 包围猎物

随着迭代次数的增加,|A|减小至1,算法进入包围猎物阶段。由于最初搜索时猎物位置模糊,WOA 算法假设此时鲸鱼群中适应度值最优的解为猎物位置或已逼近目标猎物的位置,因此其他鲸鱼根据当前最优解的位置信息进行位置更新,通过逐步包围收缩,接近猎物并确定目标位置。

1.3 螺旋气泡网狩猎

鲸鱼有独特的狩猎策略,在吐气泡的同时进行螺旋式上升游动,边包围边将猎物逼近海洋表面,以最佳方式捕获猎物。这种罕见捕猎行为的数学模型表述如下:

为了模拟鲸鱼同步进行包围收缩和螺旋气泡网狩猎的围猎行为,设置随机概率对位置更新策略进行选择。当随机概率p≥0.5 时,鲸鱼群进行气泡网螺旋式捕猎位置的更新,以边吐气泡边螺旋游走的方式逼近猎物,当随机概率p<0.5 时,鲸鱼群根据当前最优解的位置进行包围式捕猎位置的更新。在不断逼近目标的迭代过程中|A|持续减小,当|A|=0 时,鲸鱼优化算法找到理论最优解。整体围猎机制描述如下:

2 混合策略改进的鲸鱼优化算法

针对传统鲸鱼优化算法存在的缺陷,本文采用Sobol 序列初始化种群以提高初始解的质量;通过非线性时变因子和自适应权重策略平衡并提高算法全局勘探和局部开发能力;引入柯西变异算子,增强算法跳出局部寻优的能力;结合随机性学习策略增加种群多样性,以提高算法全局优化能力。基于以上4种改进,提出一种混合策略改进的鲸鱼优化算法(mix strategy based improved whale optimization algorithm,MSWOA)。

2.1 Sobol序列初始化种群

群智能算法初始解在解空间的分布情况将极大的影响算法的收敛速度和寻优精度,分布均匀的初始解则有利于提高算法的性能。标准WOA采用随机方式对种群进行初始化,初始种群的分布相对不均匀。本文采用Sobol序列对种群进行初始化,Sobol序列是一种随机序列[15],在种群的每一个维度上均由底数为2 的radical inversion组成,且每一个维度的radical inversion都有各自不同的矩阵,从而产生不重复且均匀的点。为对比随机分布与Sobol序列产生随机数的空间分布,在[0,1]范围内产生规模为500 的种群在二维空间的随机数分布图,由图1对比可知,经Sobol序列得到的种群分布更为均匀且对解空间的覆盖更完整。

图1 随机法与Sobol序列生成个体分布图Fig.1 Distribution of individuals of generated by random method and Sobol sequence

2.2 非线性时变因子和自适应权值

参数A是WOA 算法中调节全局勘探和局部开发的重要参数,主要受收敛因子a的影响。由公式(2)可知,收敛因子a随迭代次数的增加呈线性下降,使得算法前期搜索猎物不彻底,后期围猎过程收敛速度较慢。为了改善收敛因子a对算法的影响,本文提出一种分段非线性收敛因子,公式如下:

如图2 为收敛因子与参数A在迭代次数为500 时的分布图,从图中可看出,本文所提收敛因子a比原始收敛因子a在迭代早期及迭代后期均大,从而在没有改变全局勘探和局部开发的分割点的同时,增强了算法前期全局勘探和后期局部开发能力。

图2 收敛因子及参数A分布图Fig.2 Distribution of convergence factor and parameter A

考虑到捕猎过程中猎物目标对鲸鱼群位置更新的影响,本文提出一种自适应权值策略,公式如下:

于是位置更新公式变为:

自适应权值随迭代次数的增加呈非线性增加的趋势。迭代初期权值较小,此时目标模糊,对位置更新影响不大;算法中后期,目标逐渐清晰,此时权值随迭代次数的增加逐渐变大,目标对鲸鱼个体的吸引力越来越强,由于采用全局最优解引导,故增强了局部开发能力,使得鲸鱼群能够更加快速和准确地找到目标解,有效加强算法寻优性能,加快算法收敛速度、提升算法稳定性。

2.3 随机性学习策略

鲸鱼能够在水中进行交流、导航、定位、捕食,由于传统WOA算法在全局搜索时只依靠种群中随机个体的引导进行个体位置的更新,全局寻优能力较弱,故引入教与学优化算法中的随机性学习策略[16],模拟鲸鱼之间讨论交流的学习模式,通过向优秀个体的学习优化自身位置。对于个体x,从种群中随机选出与之不同的个体xp,通过比较两者的适应度值选择更优秀的个体,通过向更优秀的个体进行学习调整个体的位置。

其中,学习因子rand(0,1)是(0,1)间的随机数,体现了每个个体学习能力的差异。经过学习后,如果f(xnew)

2.4 柯西变异策略

对于传统WOA 算法易陷入局部最优的问题,结合柯西分布引入柯西变异策略,给予当前最优个体以柯西扰动,当个体陷入局部最优时,柯西算子能够产生较大步长使算法跳出局部最优,亦能够产生较小步长加快对最优解的搜索速度。因此,本文采用如下柯西变异公式,对当前最优个体进行位置更新:

其中,x*new(t)为当前最优值经柯西扰动后得到的新值,cauchy(0,1)为柯西算子,标准柯西分布函数公式如下[14]:

由数学理论可知,柯西分布两端延伸能够产生距原点较远的随机数,能够对鲸鱼个体产生较强扰动,使经过扰动的鲸鱼具备迅速避开局部陷阱的能力。同时,与其他函数相比柯西分布最高峰值较低,能够缩短个体在搜索空间花费的时间,从而加快算法的收敛速度。

2.5 算法描述

MSWOA算法流程可描述如下所示。

(1)初始化算法相关参数:种群规模N,空间维度dim,种群的可搜索空间[ub,lb],迭代次数T。

(2)采用Sobol序列对种群位置进行初始化。

(3)计算个体适应度值,并找出最优适应度值及对应的最优个体;若最优适应度值连续10代未发生变化,则根据式(13)对最优个体进行变异操作。

(4)根据式(7)更新参数a,进而根据式(2)更新A,根据式(8)更新参数w,并同时更新参数c、p。

(5)当p<0.5 时,若 |A|>1,进入步骤f,若 |A|≤1,进入步骤(7),当p≥0.5 时,进入步骤(8)。

(6)进行全局搜索,根据式(12)进行随机性学习更新较差个体位置,进一步根据式(9)更新个体位置。

(7)进行包围猎物,根据式(10)更新个体位置。

(8)进行螺旋气泡网捕食,根据式(11)更新个体位置。

(9)判断是否满足迭代终止条件,满足则输出全局最优解及位置信息,否则进入步骤(3)继续执行。

MSWOA算法流程图如图3所示。

图3 算法流程图Fig.3 Algorithm flow chart

3 实验结果与分析

本文基于Intel®Core™i7-10750H CPU,2.6 GHz主频,16 GB内存以及Windows 10(64位)的操作系统对所提出的算法进行仿真实验。编程软件为MATLAB R2016a。为验证MSWOA 算法性能,选取12 个典型基准测试函数(表1),其中F1~F6 表示单峰函数,F7~F10 表示复杂的多峰函数,F11 和F12 表示固定维多峰函数,形态各异的测试函数能有效检验算法的优化性能[17]。

表1 基准函数Table 1 Benchmark functions

对所提算法进行三个方面的性能测试:(1)基于相同的种群规模、最大迭代次数及运行次数,在基准测试函数上比较MSWOA、WOA(鲸鱼优化算法)、BOA(蝴蝶优化算法)、GWO(灰狼优化算法)、GAS(引力搜索算法)、PSO(粒子群算法)、ABC(人工蜂群算法)的收敛速度和寻优精度;(2)基于不同改进策略下的独立测试,分析不同策略对算法性能的影响;(3)通过与参考文献中其他最新改进算法作对比,验证本文算法仍具有较强的竞争性。

3.1 与其他优化算法的性能对比

为验证所提算法与其他优化算法的性能优劣,设定种群规模为30,最大迭代次数为500,各算法独立运行30 次。采用最优模拟结果的平均值(mean)与标准差(std.dev)作为算法性能评价指标。结果如表2所示。

由表2 可知,以最优值的平均值作为评价指标,在12个测试函数中,MSWOA算法在F1~F10基准函数上的寻优结果均最好;在F11基准函数的寻优中,MSWOA算法比BOA 算法、ABC 算法寻优精度稍差一些但优于其他算法;在F12 基准函数的寻优中,MSWOA 算法仅比BOA 算法寻优精度稍差一些。以最优值的标准差作为算法稳定性的评价标准,在30 次独立模拟计算中可以看出,本文所提MSWOA算法在F5 中稳定性劣于WOA、BOA、GWO,在F11中稳定性劣于BOA、ABC,在F12 中稳定性仅次于BOA,但整体的稳定性依然是最优的。

表2 MSWOA与其他优化算法的对比结果Table 2 Comparison results of MSWOA and other optimization algorithms

为更直观地反应本文所提算法的收敛速度及跳出局部最优的能力,各算法收敛曲线如图4所示。从图中可看出,本文所提MSWOA 算法对12 个基准函数的寻优过程均最快,可有效节省寻优时间。在对F1、F2、F3、F4、F8、F9、F10 进行寻优计算中,由于本文采用Sobol序列对种群进行初始化,而Sobol 序列可以使种群更均为的分布于解空间中,增加最优解附近种群的分布数量,从而使得所提算法在极少的迭代次数后便找到最优解,从而图中MSWOA 的算法收敛曲线近乎一条直线。在对F5、F6 函数进行寻优时,可以看到有多处拐点出现,证明此算法跳出局部最优的能力得到了增强。

图4 算法收敛曲线图Fig.4 Algorithm convergence curve

3.2 不同改进策略对算法性能影响分析

本文所采用的改进策略分别为Sobol序列初始化种群(WOA-1)、非线性时变因子(WOA-2)、自适应权值(WOA-3)、柯西变异策略(WOA-4)、随机性学习策略(WOA-5)。为比较5 种改进策略对MSWOA 算法性能提升的影响程度,采取与3.1节同样的参数设置,对表1中的12 个基准函数进行优化求解,各改进策略的寻优结果如表3所示。

由表3 可知,在5 种改进策略中,采用Sobol 序列初始化种群(WOA-1)对WOA算法性能改善最为明显,自适应权值策略(WOA-3)次之。在单峰函数中,随机性学习策略(WOA-5)对WOA 算法性能的改善优于柯西变异策略(WOA-4),但在多峰函数中,柯西变异策略(WOA-4)的改善效果更好。非线性时变因子策略(WOA-2)相比其他4 个改进策略对算法的改善最小。结合了5 种改进策略的MSWOA 算法比仅采用一种改进策略的WOA算法在大部分函数上均有更优的寻优精度和稳定性。因此,MSWOA算法综合了5种改进策略的优点,在对测试函数取相同量级的寻优精度情况下,MSWOA具备更快的收敛速度,且对大部分测试函数其寻优精度明显高于单一改进策略的WOA 算法,从而证明算法采用五种改进策略的合理性及有效性。

表3 不同改进策略下的算法性能对比Table 3 Comparison results of different improved strategies

3.3 与其他改进鲸鱼优化算法性能对比

为比较本文所提MSWOA 优化算法与其他改进鲸鱼优化算法的寻优性能,重现文献[11]所提CWOA算法,并引用文献[12]中所列举的各改进算法的实验结果。采取与3.1节同样的参数设置,选取单峰函数F1~F5,多峰函数F7~F10 对各算法进行寻优对比如表4所示。

表4 MSWOA与其他改进鲸鱼优化算法的性能对比结果Table 4 Comparison results of MSWOA and other improved WOA

由表4 可知,在对单峰函数F1~F5 进行寻优计算时,MSWOA 算法在F1~F4 函数处均取到理论最优值,而其他5 种改进算法,仅有MSWOA1、WOAWC、MSWOA2 在F1 函数处取得理论最优值,WOAWC 和MSWOA2 在F3 函数处取得理论最优值,且MSWOA算法在F5 函数处取得的值更接近最优值。在对多峰函数F7~F10 进行寻优计算时,仅在F9 函数寻优计算中,MSWOA 算法寻优精度与MSWOA1 算法和WOAWC算法一致,劣于MSWOA2算法。因此,本文综合5种改进策略所提出的MSWOA 算法相比于其他改进WOA算法更具有优势。

4 水资源需求预测模型参数估计

为验证所提算法在解决实际问题中的优化性能,选取具有12 个参数的水资源需要预测模型进行参数优化,该水资源需要预测模型参数数量较多,对多目标优化问题更具有代表意义。

4.1 水资源需求预测模型

水资源需要预测是当今水资源分布不均的大背景下,合理把控水资源需求,优化调度水资源分布的基础。本文针对总用水量与农业生产总值、工业生产总值和人口数的关系,以陕西省2004—2016年的用水量数据为研究基础(见表5),对文献[18]提出的线性与指数水资源需求预测模型进行参数估计。该水资源需求预测模型为:

表5 陕西省2004—2016年总用水量、农业生产总值、工业生产总值和人口数数据表Table 5 Total water consumption,agricultural production,industrial production and population of Shaanxi Province from 2004 to 2016

式中,y͂为总用水量的预测值;aij为待估参数;x1、x2、x3分别表示农业生产总值、工业生产总值和人口数。为了评估模型参数的优劣,使用真实值与预测值之间的误差平方和作为该组参数的适应度,公式如下:

式中,X为D维参数变量,D为模型参数个数,l、u为模型参数取值的上下界。

4.2 结果分析

如图5为MSWOA算法与6种常用优化算法对该水资源需求预测模型各进行30次参数估计得到的适应度值箱线图,表6 给出了其最优适应度值和平均适应度值。由适应度值计算公式可知,适应度值的大小表示实测值与预测值之间误差的平方和,同时也表示了算法对模型参数估计的优劣水平,以该值作为算法性能的评价指标,从图5及表6可以看出,MSWOA算法计算的最优值和平均值均比其余6种算法小,表明算法寻优精度较高。此外,由收敛速度曲线(如图6)可知,MSWOA算法经多次调整跳出局部最优解,在迭代不到50 次便找到了全局最优值,相比其他算法收敛速度更快。

图5 MSWOA与其他优化算法各进行30次参数估计的箱线图Fig.5 Box line diagram of MSWOA and other optimization algorithms with independent operation 30 times

表6 MSWOA与其他优化算法的适应度值对比Table 6 Comparison results of fitness values of MSWOA and other optimization algorithms

图6 MSWOA算法与其他优化算法收敛曲线图Fig.6 Convergence curve of MSWOA and other optimization algorithms

5 结论

针对标准WOA 算法初始种群分布不均、收敛速度较慢、全局搜索能力弱且易陷入局部最优的问题,本文采用Sobol序列初始化种群以在解空间获得更均匀的初始解分布,通过非线性时变因子和惯性权重策略平衡并提高全局搜索及局部开发能力,并结合随机性学习策略增加迭代过程中种群的多样性,提升算法全局寻优能力,同时引入柯西变异策略增强算法跳出局部最优的能力。基于以上改进策略,提出一种混合策略改进的鲸鱼优化算法。选取12个基准函数及一个水资源需求预测模型的参数估计进行优化实验,结果表明,基于混合策略改进的鲸鱼优化算法在寻优精度及收敛速度上均有明显提升。

猜你喜欢

柯西鲸鱼全局
小鲸鱼
柯西不等式在解题中的应用
迷途鲸鱼
柯西不等式的变形及应用
鲸鱼
鲸鱼岛——拖延症
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子
柯西不等式的应用
柯西不等式考点解读