求解高维优化问题的改进鲸鱼优化算法

2022-12-19 03:00王永贵关连正
计算机与生活 2022年12期
关键词:鲸鱼全局交叉

王永贵,李 鑫+,关连正

1.辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105

2.北京工业大学 信息学部,北京 100124

高维优化问题(一般指维数超过100的函数优化问题)广泛地存在于科学研究和工程应用之中,如航空航天设计、机器学习、神经网络优化等问题。当搜索空间维数增加,特别是高维数时,搜索空间呈指数扩展,这就产生了“维数灾难”[1]。这些问题难以使用传统的优化算法来解决,因此元启发式算法引起了人们极大的研究兴趣,并被广泛应用。

近年来,许多研究者受启发于自然界,通过模仿生物行为或自然现象,提出了许多新型元启发式算法。其中,鲸鱼优化算法(whale optimization algorithm,WOA)[2]是由Mirjalili 和Lewis 于2016 年提出的一种新型群体智能自然启发算法,源于对座头鲸种群捕食行为的模仿研究实现对复杂优化问题的寻优。研究表明,WOA算法能够有效解决29个数学优化问题和6个约束工程设计问题。在函数优化方面,已被证明其寻优精度和收敛速度均优于粒子群优化算法、引力搜索算法等其他群体智能优化算法[2]。相较于传统算法,WOA算法具有参数设置少(参数A和C)、易于编程实现、寻优能力良好的特点,目前已经被广泛应用到数据挖掘[3]、图像处理[4]、临床医学[5]、结构优化[6]、电力系统[7-8]等领域。但和其他群体智能优化算法一样,WOA算法不可避免地存在全局勘探能力不足、寻优精度低等问题。为了解决WOA算法中存在的问题,提高算法寻优效果,目前研究人员主要从以下几个方面改进标准WOA算法。

(1)融合其他算法。研究人员尝试充分发挥其他算法的优点,开发许多混合自然启发的方法以改善现有算法的探索和开发性能。例如文献[9]混合粒子群算法,将粒子群算法用于开发阶段,更快地将粒子引导到最优值,减少计算时间;文献[10]提出两种与模拟退火算法融合的方式,一种将模拟退火算法作为算子嵌入WOA算法提高算法开发能力,另一种在WOA 算法找到最佳解后使用模拟退火算法来增强最终解;文献[11]引入正弦余弦算法,使用该算法的更新方式替换WOA 算法原有的收缩包围位置更新策略,提高算法求解精度。

(2)引入混沌映射。混沌映射表示非线性系统中复杂动态行为的映射,具有周期性和非重复性。例如文献[12]使用混沌映射调整算法中的参数p,混沌辅助控制参数,快速搜索最优解,细化算法的收敛精度。文献[13]将混沌搜索策略引入WOA算法的位置更新中,研究了十种不同混沌映射对WOA性能的影响,并试图找出提高WOA 性能的最佳混沌映射。文献[14]在WOA 算法局部开发阶段引入Logistic 混沌搜索,避免WOA算法过早地陷入局部最优停滞。

(3)优化搜索方式。通过修改螺旋收缩和包围猎物方程控制鲸鱼个体的搜索位置。例如文献[15]同时在螺旋收缩和包围猎物公式中加入双自适应权重,以提高WOA 算法全局搜索能力。文献[16]引入黄金分割数优化WOA算法的位置更新方式,从而在全局勘探阶段和局部开发阶段进行平衡。文献[17]在鲸鱼个体位置更新公式中引入自适应惯性权重,通过平衡算法的开发和勘探能力,进一步改善WOA算法的寻优性能。

除此以外,还有学者从其他角度对WOA算法进行改进。例如文献[18]提出一种改进的二进制WOA算法并用于选择分类和降低维度的最优特征子集。文献[19]将二次插值方法应用于种群的领导者,以提高局部开发能力和求解的精度。文献[20]将WOA算法与最近的爬山局部搜索的变体相结合,以进一步加强其开发过程。

以上改进算法虽然从不同角度提高WOA 算法的寻优效果,但多数只是针对中小规模优化问题(小于100 维)而言,在处理大规模优化问题时,WOA 算法仍存在全局勘探能力不足和难以跳出局部极值的现象。因此,本文尝试将WOA算法加以改进并应用于求解高维优化问题,提出动态拉普拉斯交叉和参数调整的鲸鱼优化算法(dynamic Laplace crossover and parameter adjustment for whale optimization algorithm,DPWOA)。首先利用Fuch混沌和优化的对立学习混合策略初始化鲸鱼种群代替原算法的随机初始化种群策略,提高初始鲸鱼种群的质量;其次WOA 中参数A在算法流程中起关键作用而参数A无法保证算法进行足够的全局勘探,故引入新的参数J,使得算法保证充足全局开发的同时更好地平衡全局勘探和局部开发;最后在局部开发阶段引入拉普拉斯算子进行动态交叉操作,使最优鲸鱼个体在开发的不同时期采用不同的交叉策略,前期精细搜索范围,后期更好地跳出局部极值。10个标准测试函数(100、500、1 000维)的仿真实验结果表明,改进的WOA算法具有良好的寻优效果,能有效处理高维优化问题。

1 相关理论

1.1 鲸鱼优化算法

鲸鱼优化算法是受鲸鱼种群独特的Bubble-net捕食方式而启发,通过寻找猎物、包围猎物、Bubblenet捕食三种机制搜寻最优解。在WOA算法中,假设N为鲸鱼总数,D为探索空间的维度,第t次迭代时,第i只鲸鱼在第D维空间中的位置表示为(i=1,2,…,N),用全局最优位置X*=表示为猎物位置。在完成以上初始化设置后,鲸鱼种群进行三种方式的位置更新操作。

1.1.1 寻找猎物

在寻找猎物阶段,由于猎物位置对于鲸鱼种群是未知的,故鲸鱼通过集体合作获取猎物位置。鲸鱼使用种群中随机个体位置作为导航目标来寻找食物,其数学模型描述如下:

式中,Xrand表示当前鲸鱼种群中随机选取的鲸鱼个体位置,D表示随机个体与当前个体的距离,A·D为系数向量,其中A和C定义如下:

式中,r1和r2表示[0,1]之间的随机数,a表示收敛因子,随迭代过程其值从2线性递减到0。

1.1.2 包围猎物

鲸鱼能够识别猎物的位置,并将它们包围起来,在WOA算法中,首先假设当前种群中最优个体的位置为猎物的位置,种群中其他鲸鱼个体均向最优个体包围,其数学模型描述如下:

式中,t表示当前迭代次数,X*表示当前种群中最优个体位置。

1.1.3 Bubble-net捕食

鲸鱼种群向猎物位置游动,通过螺旋Bubble-net方式进行狩猎,其数学模型描述如下:

其中,D′=|X*(t)-X(t)|表示第t次迭代中最优个体与当前个体的距离,b为常数,用来定义对数螺旋形状,l表示[-1,1]之间的随机数。

鲸鱼的包围猎物机制和Bubble-net 捕食是一种同步行为,在数学模型描述中,通常选取两种方式的概率相同,即其描述如下:

式中,p表示[0,1]之间的随机数,鲸鱼优化算法流程如图1所示。

图1 鲸鱼优化算法流程图Fig.1 Whale optimization algorithm flow chart

1.2 Fuch混沌映射

混沌是非线性系统的一个特征,在数学上被定义为由简单确定性函数生成的随机数。将混沌思想融入到元启发式优化算法,核心是利用混沌变量的随机性、遍历性和不规律性,替换服从标准概率分布的随机变量进行优化搜索,从而搜寻整个解空间,产生分布均匀的个体,提高初始种群质量。

目前文献中广泛使用的混沌映射是Logistic 和Tent映射等,传统的混沌映射由于自身存在有理数不动点,通常需要限制初始状态的取值范围并设计相应的预防算法避免平衡态的产生,在增加设计难度的同时降低了算法的执行效率。如Logistic 映射对初值敏感,只有控制参数为4 时才完全进入混沌状态,有较高的概率在区间两端取值且遍历不均匀[21]。Tent映射虽具有更好的遍历均匀性,但存在小周期和不动点,容易陷入局部循环,使混沌优化效率降低[22]。文献[23]提出的Fuch映射无有理数不动点,通过在优化过程中不断缩小优化变量的搜索空间来提高搜索效率和搜索精度,比Logistic和Tent映射具有更高的搜索效率。该映射具有对初值不敏感、遍历均衡和收敛较快等优点,且在初值不为0的情形下均能产生混沌。鉴于上述分析,本文采用Fuch 映射作为混沌搜索的映射函数,其数学模型描述如下:

由于Logistic 和Tent 映射产生的变量取值范围为[0,1],在将决策变量xi映射为混沌向量进行混沌搜索时,需要先将xi的每一维通过下式将混沌初始值限制在[0,1]内:

然后将产生的混沌初始向量li通过Logistic 和Tent映射函数进行载波操作生成混沌向量ci,最后通过下式变换到原解空间向量:

而Fuch 映射不依赖于初始值,在初始值的微小变化时产生的混沌序列是完全不同且毫无规律的[23],因此进行混沌搜索时不用先将决策变量xi变换到混沌变量区间,直接通过式(9)产生混沌向量,载波操作后再还原到原解空间即可。同时文献[22]指出一旦Logistic 和Tent 映射的初始值超出[0,1]范围,产生的混沌序列将会无效。因此从算法执行角度来说,Fuch映射可以提高求解全局最优问题的搜索效率。

1.3 拉普拉斯交叉

拉普拉斯交叉算子[24]由Deep 等人提出,拉普拉斯算子分布的密度函数如下:

2 本文算法

本文按照WOA算法流程,分别从初始化种群阶段、全局勘探阶段和局部开发阶段三方面对鲸鱼优化算法进行改进。

2.1 种群初始化策略

对于基于群体迭代的元启发式算法来说,初始种群的优劣影响算法的求解精度和收敛速度,多样性更好的初始种群能为算法全局搜索奠定基础。由于对待优化问题的全局最优值没有先验知识,WOA算法采用随机初始化方式产生初始种群,随机方式产生的初始化种群不能保证种群的多样性,无法有效提取搜索空间的有用信息,在一定程度上会影响算法的收敛速度和搜索能力。

本文将Fuch混沌初始化与对立学习初始化相结合,提出Fuch 混沌对立初始化策略。对立学习[25]是Tizhoosh 于2005 年提出的一种新的机器智能方案,Tizhoosh 的研究表明对立解比当前解更接近全局最优的概率是50%。故同时搜索当前解和对立解,保留较优解可使种群尽可能均匀分布在搜索空间中。

然而在进行实验时发现,由于优化变量的上下界往往是对称的,而基准函数又常带有绝对值或平方,若采用一般的对立学习策略得到的对立解只是与初始解符号相反,对应的适应度值则是相同的,这样同一个适应度值对应多个解,无法有效提高种群多样性。为减少此现象,提出新的生成对立解的公式:

如式(14)所示,将初始解的每一维映射到区间中心值附近,产生的对立解不再只是对应初始解的相反数,使得对立解具有不同的适应度值,增加种群适应度值的多样性进而提高初始解的质量。

群体智能优化算法往往不能保证获得理论最优值,而是通过迭代获得无限逼近最优值的近似解。由1.2节可知,Fuch映射可以提高算法执行过程中的搜索效率,故利用Fuch映射较高的搜索效率,产生多样性良好的优质混沌初始种群,然后对混沌初始种群及其对立种群进行排序选择,将适应度值较优的解作为初始鲸群,能够充分提取求解空间的有用信息,在保证种群多样性的同时大幅提高初始解的质量。而初始种群的质量会直接影响算法的收敛速度,质量更好的初始种群能够帮助算法以更快的速度获得符合实际需求的近似解,有效减少鲸群狩猎过程中的迭代次数,进而提升算法的收敛速度。

假设N为鲸鱼总数,Fuch 混沌对立初始化鲸鱼种群步骤如下:

步骤1利用式(9)进行迭代产生混沌向量序列,i=1,2,…,N;

步骤2通过式(10)将混沌向量载波到原解空间生成初始解Xi;

步骤3将初始解Xi按照式(16)计算出对应的对立解OPi;

步骤4将初始解Xi和对立解OPi根据适应度值进行排序,选择较优的前N个解作为鲸鱼种群的初始解。

2.2 改进全局勘探阶段

根据式(2)可知,全局勘探阶段鲸鱼个体的位置更新主要取决于两部分:随机选择的鲸鱼个体Xrand位置和系数向量A与D的乘积。根据WOA 算法流程,鲸鱼种群在迭代过程中有一半的机会根据A值大小进行位置更新操作,在此基础上,只有当|A|>1时,按照式(2)进行全局勘探操作。A值随迭代次数的变化如图2所示,系数向量A在[-2,2]之间变化,在迭代过程中|A|从2 递减到0。而由图2 可以直观看出,迭代全程中|A|大于1的比例很小,这导致鲸鱼种群进行全局勘探的概率很低,无法充分探索搜索空间使得全局搜索能力进一步减弱。对于基于群体智能的元启发式算法来说,迭代过程中的较大步长可以有效提高搜索效率[26]。因此本文在全局勘探公式中引入新的参数J,以提高鲸鱼种群的全局勘探能力,改进后的数学模型描述如下:

图2 A 值随迭代变化图Fig.2 Variation of A-value with iteration

其中,sign(·)为符号函数,参数J定义如下:

式中,Tmax表示最大迭代次数。

式(18)右侧为符号函数sign(·)、新参数J和D的乘积,其中J·D决定了此次迭代位置更新的步长,sign(·)决定了此次迭代位置更新的方向。参数J随迭代次数的变化如图3所示,右上部分为迭代后期局部放大图。由图3 可看出J值随着迭代次数的增加而减少,与图2 中的参数A相比,参数J使得位置更新步长不仅包括许多小步长,还包括一定数量的大步长,从而可以帮助鲸鱼种群更好地进行空间搜索,并在整个全局搜索过程中保持种群的多样性。在迭代过程的前期阶段,偶尔的大步长使DPWOA算法更有效地探索搜索区域,提高全局勘探能力。在迭代过程的后期阶段,较大的步长可以帮助DPWOA算法更好地摆脱局部极值的束缚。

图3 J 值随迭代变化图Fig.3 Variation of J-value with iteration

2.3 改进局部开发阶段

鲸鱼种群的开发阶段是对座头鲸狩猎行为的模拟,通过螺旋收缩和包围猎物方式进行,局部开发过程能够帮助算法有效地搜索最优解。然而这两种方式均围绕当前的最优鲸鱼个体进行搜索,并且具有相对较小的步长。当目前最优值接近局部最优时,围绕局部最优的小步长搜索模式会使算法陷入局部极值中,难以摆脱局部极值的束缚。标准的鲸鱼优化算法缺乏有效的变异机制,使鲸鱼种群容易陷入局部极值。针对这一问题,目前使用较多的方法是引入和声算子和差分算子,但差分算子涉及的突变、选择操作,和声算子涉及的微调扰动和随机选择操作,在帮助鲸群躲避局部极值的同时,在一定程度上会大幅增加算法的负担。因此为使算法易于操作并具有通用性,本文在局部开发阶段动态地引入拉普拉斯交叉算子,帮助鲸鱼种群摆脱局部极值的束缚,避免算法早熟收敛。

文献[27]单纯在每次迭代之后引入拉普拉斯算子进行交叉变异操作,没有考虑固定参数取值对于最终结果的影响。为交叉变异操作更符合算法迭代规律,本文采用动态拉普拉斯交叉策略。图4表示不同b值取值下拉普拉斯交叉密度函数曲线的差异,取值参考文献[24]。b=1.0 时用实线表示,b=0.5 时用虚线表示,从垂直方向看,虚线中心值附近的峰值大于实线,两端的峰值小于实线;从水平方向看,实线越接近水平轴两端下降越缓慢,而虚线趋近水平轴的两端。

图4 拉普拉斯密度函数曲线Fig.4 Laplace density function curve

由于实线比虚线更容易产生远离原点的随机数,具有更宽的分布范围,在局部开发的前期选择b=1.0 进行拉普拉斯交叉,使得鲸鱼个体能够以较大步长探索求解空间,更好地摆脱局部极值束缚。其数学模型描述如下:

由于虚线在中心值附近产生随机数的概率较高,在局部开发的后期选择b=0.5 进行拉普拉斯交叉,使得鲸鱼个体在最优解附近以较小步长游走,精细搜索最优区域,提高寻找全局最优的概率。其数学模型描述如下:

式(21)、式(22)中r为[0,1]之间的随机数,t表示当前迭代次数,Tmax表示最大迭代次数,1-t/Tmax表示[0,1]之间的单调递减函数。在开发前期,t值较小,因此1-t/Tmax较大,当其大于r时,算法随机选取一条鲸鱼与当前最优个体按照式(21)进行交叉操作;在开发后期,t值较大,因此1-t/Tmax较小,当其小于r时,算法随机选取一条鲸鱼与当前最优个体按照式(22)进行交叉操作。动态拉普拉斯交叉操作使得开发前期产生远离父代的子代,以较大步长能够更好地探索搜索空间,增大跳出局部极值的概率,避免算法早熟收敛。开发后期产生距离父代的较近的子代,以较小步长能够精细搜索最优解附近空间,增大寻找全局最优解的概率,进而帮助鲸群以更快的速度收敛至全局最优。整体而言,开发阶段引入拉普拉斯交叉算子,使得鲸鱼种群按照迭代进程进行自适应动态交叉操作,提高算法的收敛速度和求解能力。

同时按照式(19)的设定,将参数J引入开发阶段式(6)中的A,改进后的包围机制公式如下:

2.4 算法流程

综上所述,本文算法执行步骤如下,流程如图5所示。

图5 DPWOA算法流程图Fig.5 DPWOA flow chart

步骤1初始化相关参数,包括鲸鱼个体数N,最大迭代次数Tmax;

步骤2按照2.1 节利用混沌对立学习策略初始化鲸鱼种群;

步骤3计算鲸鱼种群中个体适应度值,记录当前最优个体X*适应度值;

步骤4生成随机数p,若p≥0.5,则按照式(18)更新个体位置,转步骤7,否则转步骤5;

步骤5生成随机数r1,若r1≤0.5,则按照式(7)更新个体位置,否则按照式(23)更新个体位置;

步骤6生成随机数r2,若r2≤1-t/Tmax,则按照式(21)进行交叉操作,否则按照式(22)进行交叉操作,并更新个体位置;

步骤7转步骤3,判断是否满足迭代终止条件,若满足则算法终止,否则转步骤4继续迭代。

2.5 时间复杂度分析

下面将DPWOA 算法与WOA 算法的时间复杂度进行对比分析。

设第t次迭代时算法所得最优解为,其中t=1,2,…,Tmax,Tmax为最大迭代次数。收敛阈值为ε,在第k次(k≤Tmax)迭代时,若f()≤ε则认为满足收敛精度的要求,算法终止迭代,否则算法继续迭代至Tmax次终止,记k为终止迭代次数。WOA 算法和DPWOA算法每次迭代过程中的鲸鱼个数不变,均记为Nw,每条鲸鱼每次迭代需要的运行时间为Ti,其中i=1,2,…,k。假设WOA 算法的终止迭代次数为k1,DPWOA 算法的终止迭代次数为k2,则WOA 算法时间复杂度为O(k1NwTi),DPWOA算法的时间复杂度为O(k2NwTi)。分析可知WOA 算法与DPWOA 算法在运行时间性能的差异主要取决于迭代次数k。WOA算法使用参数A调节探索和开发,致使算法在迭代过程中全局探索能力不足,鲸鱼个体逐渐偏离最优解;而DPWOA算法利用参数J进行位置更新操作,能够保证鲸群更有效地探索求解空间,鲸鱼个体向最优解靠拢,取得更好的寻优效果。也就是说在两种算法迭代次数相同的情况下,相比WOA 算法,DPWOA算法的迭代结果更加接近理论最优值,先满足收敛阈值要求,提前终止迭代,致使k2<k1,运行时间较少。DPWOA算法相比WOA算法数学模型改变之处均为常数级运算,对时间复杂度的增量影响远远小于迭代次数,可以忽略。因此DPWOA算法的时间复杂度O(k2NwTi) 小于WOA 算法的时间复杂度O(k1NwTi)。

2.6 算法综合分析

本文DPWOA 算法对WOA 算法的执行过程(鲸群初始化、鲸群全局勘探、鲸群局部开发)进行深入研究,在保留WOA算法良好的仿生机制的基础上对其进行改进。用Fuch混沌和对立学习相结合的初始化种群方式,替换WOA 算法的随机方式,降低算法的不确定性。该初始化种群策略能够产生多样性良好的高质量种群,为后续迭代奠定基础;在全局勘探阶段调整参数,用新的参数J代替原始参数A,增加全局勘探的概率。该策略能够增强算法的全局勘探能力,帮助鲸鱼种群更好地探索求解空间,提高算法的寻优精度和收敛速度;在局部开发阶段引入拉普拉斯交叉策略,迫使鲸群按照迭代进程进行自适应动态交叉操作,帮助鲸群以更快的速度收敛至全局最优,降低算法早熟收敛的概率。综上所述,DPWOA中改进策略均能以直接或间接的方式提高算法的寻优精度和收敛速度,三种改进策略密切配合、协同进行,充分发挥了DPWOA的求解效果。

3 实验与结果分析

3.1 实验环境及测试函数

本文所有测试均在CPU 为Intel Core i5-4210M,主频2.60 GHz,内存12 GB,操作系统Windows 7 的机器上进行,程序代码在Matlab R2018b上实现。

本文选取10 个标准测试函数[28]测试算法性能,大部分函数存在多个局部最优值,准确找到其全局最优值具有一定难度,能够充分考察算法的寻优能力。如表1所示,在所有测试函数中,f1~f5为单峰函数,主要用于测试算法的寻优精度和收敛性;f6~f10为多峰函数,主要用于测试算法的跳出局部极值和全局搜索能力[29]。

表1 测试函数Table 1 Benchmark functions

3.2 实验设置及结果分析

实验选取标准WOA 算法[2]、近年来的改进算法LWOA算法[26]、LXWOA算法[27]作对比,来评价DPWOA算法在处理高维优化问题时的寻优效果。

实验中设置所有算法的鲸鱼种群数为50,最大迭代次数Tmax为500,其他对比实验参数设置与各文献一致。所有算法分别在100 维、500 维、1 000 维上独立运行50 次,通过统计最优值best、最差值worst、均值mean和标准差std考察算法性能。

3.2.1 寻优精度分析

4 个算法在100 维、500 维、1 000 维对10 个测试函数的寻优效果如表2~表4所示。

由表2~表4数据分析可知,DPWOA算法在不同维数的所有实验中均具有最佳的寻优效果,且求解精度几乎不受维数增加的影响,而其他三种算法的求解精度随着维数增加有明显降低,与理论最优值偏离程度增大。对于单峰函数f1~f5,DPWOA 算法在所有维度中的最优值都能达到全局最优。在f1、f2、f3上获得了理论最优的均值和标准差,且具有良好的稳定性。f4、f5上虽未收敛至全局最优但相较于其他对比算法,DPWOA 算法具有绝对优势的寻优效果,对于函数f5其取得了理想状态下的标准差且寻优效果高出其他对比算法至少247 个数量级。对于多峰函数f6~f10,当函数规模为100 维和500 维时,除f8外,DPWOA算法均能稳定地收敛至全局最优,获得理论最优值和标准差。随着维数增加,DPWOA算法在函数f8上的寻优精度略有降低,但其求解效果仍优于其他对比算法。当函数规模由500 增加至1 000 维时,对于函数f6,DPWOA算法存在陷入局部极值的风险,但其收敛效果仍优于其他对比算法。

表2 求解100维测试函数的算法性能对比Table 2 Comparison of algorithms for solving 100D functions

表3 求解500维测试函数的算法性能对比Table 3 Comparison of algorithms for solving 500D functions

表4 求解1 000维测试函数的算法性能对比Table 4 Comparison of algorithms for solving 1000D functions

整体而言,标准WOA算法在实验中的均值与全局最优值有较大偏差,随着函数优化问题的规模变大,求解精度偏差也逐渐增大。改进算法LWOA 和LXWOA 算法的求解效果在不同函数下各有优劣且均优于标准WOA算法,在大部分函数上的求解结果随着函数规模增大而降低。由于莱维飞行策略的随机性,LWOA 算法相较于LXWOA 算法,在部分函数上取得了更好的最优值但是稳定性较差。固定参数取值使得LXWOA虽然相较于LWOA具有更好的稳定性但寻优效果仍不佳。DPWOA 算法的寻优效果不受函数规模变化的影响,在所有维度的基准函数测试实验中,除个别函数外其最优值、均值和标准差均取得理想效果。随着函数优化问题维度增加,DPWOA 算法能够保持良好的全局勘探能力和稳定的寻优效果,具有处理高维优化问题的能力。

3.2.2 收敛曲线分析

基准函数的收敛曲线可以更直观地展示算法的收敛速度和跳出局部极值的能力,本文给出在1 000维下4种算法的适应度收敛曲线,如图6~图15所示。

由图6~图15 分析可知,相较于其他对比算法,DPWOA算法具有更高的寻优精度、更快的收敛速度和更强的跳出局部极值的能力。从函数f1、f4、f9可以明显看出,DPWOA算法在迭代初期的适应度值明显优于其他算法,说明混沌对立学习策略有效提高了初始种群的质量。由f1、f2、f6、f8、f10收敛曲线可以看出,由于WOA 算法全局勘探能力不足,容易陷入局部极值,收敛曲线处于停滞状态。由f2、f4、f6、f8、f9收敛曲线可以看出,由于LWOA 算法在每次迭代后对鲸鱼种群采用莱维飞行策略更新位置,而随机行走具有不稳定性,收敛曲线存在局部停滞和较大波动。LXWOA采用固定参数的拉普拉斯交叉操作,相较于WOA 收敛曲线更陡峭,相较于LXWOA 收敛曲线更平滑,但由于固定参数的限制,由f9、f10可以明显看出,在迭代前期收敛曲线就已经趋向于平缓,存在早熟收敛问题。DPWOA 算法首先利用混沌对立学习策略初始化种群,形成多样性更好的优质种群;其次对参数A进行调整,避免全局勘探概率过低影响算法全局收敛;最后动态地进行拉普拉斯交叉操作,避免算法早熟收敛。由f1~f10收敛曲线可以明显看出,无论是求解单峰函数还是多峰函数,DPWOA算法的收敛曲线相较于其他对比算法更加陡峭,具有更快的收敛速度、更少的迭代次数和更高的求解精度。

图6 f1收敛曲线Fig.6 Convergence curve of f1

图7 f2收敛曲线Fig.7 Convergence curve of f2

图8 f3收敛曲线Fig.8 Convergence curve of f3

图9 f4收敛曲线Fig.9 Convergence curve of f4

图10 f5收敛曲线Fig.10 Convergence curve of f5

图11 f6收敛曲线Fig.11 Convergence curve of f6

图12 f7收敛曲线Fig.12 Convergence curve of f7

图13 f8收敛曲线Fig.13 Convergence curve of f8

图14 f9收敛曲线Fig.14 Convergence curve of f9

图15 f10收敛曲线Fig.15 Convergence curve of f10

4 结束语

为克服鲸鱼优化算法在处理高维优化问题时,存在求解精度低、容易陷入局部极值的问题,本文提出一种动态拉普拉斯交叉和参数调整的鲸鱼优化算法。首先通过Fuch混沌映射生成多样性良好的优质混沌初始种群,在此基础上结合优化的对立学习策略进一步优化初始种群,为准确寻找全局最优值奠定基础;然后对全局勘探公式中参数进行调整,使得算法有足够的全局搜索机会,同时在全局勘探和局部开发之间进行平衡;最后在开发阶段对最优个体进行拉普拉斯交叉,使得迭代前期产生较远子代,扩展探索空间,迭代后期产生较近子代,精细最优解空间。利用10 个标准函数在不同维度进行对比实验,实验结果表明与近年来改进算法相比,本文算法在求解高维优化问题时具有良好的寻优效果。

猜你喜欢
鲸鱼全局交叉
小鲸鱼
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
迷途鲸鱼
鲸鱼
“六法”巧解分式方程
鲸鱼岛——拖延症
落子山东,意在全局
连数
连一连