耦合中心游移和双权重因子的鲸鱼算法及应用

2022-07-13 01:57程浩淼王梦磊章小卫
计算机工程与应用 2022年13期
关键词:测试函数鲸鱼种群

程浩淼,王梦磊,汪 靓,章小卫

1.扬州大学 环境科学与工程学院,江苏 扬州 225127

2.扬州大学 水利科学与工程学院,江苏 扬州 225127

3.扬州大学 信息工程学院,江苏 扬州 225127

群体智能算法是一类模拟生物种群生存行为(捕觅食、孵化等)的优化方法[1-2]。在近年逐渐兴起的群体优化算法中,鲸鱼优化算法(WOA)由于其独特的螺旋更新方式及较强的全局搜索能力,迅速得到研究人员的广泛关注。WOA 是2016 年由文献[3]提出的一种新型群体优化算法,其通过模拟座头鲸觅食过程中的包围捕食、螺旋气泡以及随机游走搜索行为,以搜寻目标函数的最优解。在函数优化方面,该算法已被证实在求解精度、收敛速度等性能上优于粒子群(PSO)、蚁群(ACO)、人工蜂群(ABC)、灰狼(GWO)等群体算法[3-5]。

目前,WOA 已成功应用于化工机械设备优化设计[3,6]、拉伸/压缩弹簧设计[3,7]、水资源优化[8]等领域。但在应用过程中,WOA 存在一定的收敛速度慢、易陷于局部最优等问题。基于此,国内外学者主要通过以下3个方面进行改进完善:(1)改进初始种群生成方式。文献[9-11]通过混沌初始化策略,促进初始种群的多样化;文献[12]通过Sobol 序列生成不重复且均匀的点,来实现对解空间的全覆盖;文献[13-17]基于对立学习策略生成对立点,并根据适应度进行初始种群个体的精英选择。(2)改进算法参数。部分学者通过优化算法参数,提高WOA 的收敛精度及速度,如:收敛因子a、收缩系数A等[10,18-21];文献[22-24]则将混沌理论、PSO权重等理论引入WOA 优化过程,实现算法参数的调整优化。(3)改进后期种群的聚集方法。在WOA 迭代后期,种群多样性下降,所有个体趋向中心聚集,极易陷入局部最优;因此,对抗个体中心化的关键是增强种群后期的随机游动。如文献[25-27]分别引入共生生物(SOS)、莱维飞行(Levy)等搜索方式,以加强算法后期的全局搜索能力;文献[28]将差分算法中的变异算子与WOA相结合提出混合算子,更好地平衡了后期的搜索和开发;此外,还有学者提出了柯西变异[12,17,29]、多项式变异[30]、高斯变异[5,17]等增强种群后期的随机游动的方案。上述改进均在一定程度弥补了WOA的缺点,但在性能分析中,部分测试函数的性能确实有所提高,但往往对另一部分测试函数的计算性能反而下降,且在实际运用中仍存在易陷入局部最优的现象。

基于此,本文对WOA的初始种群生成方式、算法参数和后期种群的随机优化方式进行改进:采用中心游移以及邻域修正更新策略来提高初始解的质量;根据迭代过程前期偏全局搜索后期偏局部开发的特点对收敛因子a进行优化;引入PSO 权重策略,提出基于双权重的随机扰动策略调节个体的更新,防止算法陷入局部最优。最终提出了一种耦合中心游移和双权重因子策略的改进鲸鱼优化算法(C-A-WWOA)。本文在18种通用测试函数(单峰、多峰、固定维数多峰)进行了数值实验和结果分析(寻优精度分析、误差分析、高维函数优化分析、复杂度分析和3种改进策略的有效性分析)。同时,本文将提出的改进算法应用于两个工程实际问题(压力容器设计问题、拉伸/压缩弹簧设计问题),并取得了很好的效果。

1 耦合中心游移和双权重因子的鲸鱼算法(CA-WWOA)

1.1 鲸鱼算法(WOA)的基本思路

根据座头鲸特殊的群体狩猎行为,将参与捕猎行为的每头鲸鱼视为种群个体x;将满足条件的鲸鱼个体作为一个候选解;将每次更新后最优鲸鱼的位置作为猎物所在位置。在优化搜索过程中,WOA 采取3 种捕食策略的更新方式,即:包围捕食、随机搜索和螺旋气泡。具体更新方式如下:(1)当捕食策略概率p<0.5 时,鲸鱼群根据系数|A|选择更新方式,当|A|≤1 时,鲸鱼会在原始位置与最优鲸鱼位置之间进行更新,鲸鱼由原来的位置向猎物靠近(收缩包围机制),即执行包围捕食式(1),以实现局部开发;当|A|>1 时,即不满足收缩包围机制时,鲸鱼群不再根据当前最优鲸鱼位置进行更新,而是随机选择一个鲸鱼位置进行随机更新,即执行随机搜索式(2),以实现全局搜索。(2)当p≥0.5 时,鲸鱼以螺旋运动向最优鲸鱼位置游动,并产生气泡包围猎物,完成狩猎,即执行式(3)的螺旋气泡更新[3]。

1.2 C-A-WWOA的改进策略及算法流程

WOA相较于其他优化算法而言,优势在于其操作简单、调节的参数少。但是,WOA仍存在初始种群多样性差、收敛速度慢、后期易陷于局部最优等问题[31]。针对上诉问题,本文提出了三点改进措施:第一使用中心游移种群初始化和边界邻域更新策略,保持种群的多样性;第二利用收敛因子a调控并优化算法参数;第三模仿PSO的权重因子避免WOA后期种群陷于局部最优的问题。

1.2.1 耦合中心游移初始化及边界邻域更新策略(C-WOA)

(1)耦合中心游移的初始化策略

WOA 的种群初始化方式是随机生成,该方法的种群个体质量往往会降低,会影响算法的求解速度[32-33]。对立学习策略已被证实是提高随机优化算法初始解质量的一个重要策略,其通过生成对立点,进行初始解的择优选择[13-16]。此方式在搜索空间较小时,处理效果往往较好,但搜索空间较大时,该方法的作用就会被削减,并会大范围的搜索空间点。本文通过中心游移公式对初始解进行随机偏移,以此分隔定位寻优空间,并实现鲸鱼个体当前最优位置的多点同步搜索,从而提升种群多样性。该初始化流程为:生成初始解(xti,r)并计算其反向点式(4);再根据式(5)对初始解进行中心游移,并通过其适应度值贪婪选择。

(2)耦合边界邻域更新的修正策略

在迭代过程中,WOA 对于越界鲸鱼的处理方式通常是使用临近界限值代替。该方法在越界鲸鱼数量较少时对种群影响较小,但若存在大量越界鲸鱼时,采用以上处理方式就会降低种群多样性及寻优效率[34]。故本文提出通过边界邻域更新方式对越界鲸鱼位置进行修正,该方法通过在边界内一段邻域内生成随机且均匀的点,来保持种群的多样性。具体修正公式如下:

式中,U表示在区间上的均匀分布。

1.2.2 耦合非线性收敛因子的改进策略(A-WOA)

WOA主要有两个调整参数(A和C);它们决定了算法的收缩包围能力,协调算法全局探索与局部搜索。根据A=2a·(r1−1)和C=2a·r2,A和C均会随收敛因子a变化;当a值越大,算法的全局探索能力越强;当a值越小,算法的局部搜索能力越强。WOA 采取的a值是线性递减,该方式会降低鲸鱼种群的灵活性和多样性[35]。为了更好地WOA 的平衡全局和局部寻优能力,本文采取多项式形式对a进行曲线拟合,通过对多项式参数进行测试和优化,以大幅度提高收敛精度。具体表达式如下:

式中,α、β、γ、λ为多项式参数,采用逐次逼近法依次对算法参数进行求解,其最优取值为α=−3.6,β=7.8,γ=−6.2 和λ=2.0。

1.2.3 耦合双权重因子的随机更新策略(W-WOA)

WOA会根据捕食策略概率p在圆环运动和螺旋运动之间进行切换,即:包围捕食和螺旋气泡更新,但两种更新本质上都是鲸鱼群对最优鲸鱼位置的局部开发。在迭代后期,鲸鱼种群不断向最优鲸鱼靠拢,逐步寻找最优解,但此过程是一种从全局到局部的变化过程,极易陷入局部最优。因此,本文借鉴粒子群算法(PSO)的权重因子ω策略,提出一种双权重因子的随机扰动策略。该策略通过两个反向变化的权重因子(ω1和ω2)更新鲸鱼,其中,ω1采用非线性递减,使得其他鲸鱼在最优鲸鱼方向动态更新,进而一定程度上增大了种群多样性,ω2采用非线性递增,随着迭代过程的进行,其他鲸鱼获得更大的随机更新步长,以满足其在大范围内随机移动,增强其跳出局部最优的能力。相较于单权重因子的PSO,本文的双权重因子策略其优势是:从最优鲸鱼和随机步长两方面进行随机扰动,进一步增强了后期鲸鱼种群的更新能力,以实现鲸鱼种群在可行域内的广度与深度覆盖。改进后的包围捕食和螺旋气泡更新公式如下:

本文简单测试了正弦、线性、多项式和指数4 种曲线变化策略,最终发现正弦反向变化策略对算法精度的提升最大,其具体公式如下:

1.2.4 算法流程

本文从初始种群方式、算法参数、后期种群个体的随机扰动三方面着手,对WOA 进行改进,提出了CA-WWOA。算法流程如图1所示,步骤如下:

图1 C-A-WWOA算法流程图Fig.1 Flow chart of C-A-WWOA

步骤3 判断迭代条件:当t≤Tmax时,重复步骤2,直至退出迭代过程,输出最优鲸鱼及最优适应度值。

2 数值实验

2.1 测试函数

通过对WOA 进行分析改进,采取以上改进策略提出C-A-WWOA,为了测试和验证改进算法的性能,本文通过选取国际通用的标准测试函数(包括单峰、多峰、固定维多峰测试函数)进行数实验,并全面分析算法性能。其中,单峰函数F1~F6 只有一个全局最优值,以充分评估算法的局部开发能力;多峰函数F7~F18 与单峰函数不同,伴随着多个局部最优解,以评估算法的全局勘探能力。具体函数信息见表1。试,运行环境为:Windows 10(64位),CPU Intel®Core™i5-10210U with 16 GB。其中仿真实验种群规模N=30,最大迭代次数为Tmax=500,每种算法分别独立运行30次。

表1 单峰、多峰以及固定维数多峰测试函数Table 1 Single-peak,multi-peak and fixed-dimension multi-peak test functions

根据表2 结果,对于单峰测试函数F1~F4,C-AWWOA 的寻优精度最高,其最优解(Min)和平均值(Avg)均为理论最优解(Min=Avg=0),且标准差(Stv)为0;相较于WOA、EGolden-SWOA 和IMWOA,本文提出的C-A-WWOA 的寻优能力和稳定性得到了极大的提升,证明了改进算法极强的局部开发能力。对于单峰测试函数F5 和F6,C-A-WWOA 虽然未收敛到理论最优值,但相较于WOA 仍有一定提升。对于多峰测试函数(F7~F18),C-A-WWOA可收敛到理论值最优值的数量n为8,均大于WOA(n=5)和EGolden-SWOA(n=5),这表明C-A-WWOA拥有更强的适用性和更好的全局勘探以及跳出局部最优的能力,此外,C-A-WWOA对于固定维多峰函数表现极其出色,其大多数可以收敛到最优值,说明其做到了全局勘探和局部开发之间的平衡,可以搜寻并收敛到最优值。因此,无论是单峰还是多峰测试函数,C-A-WWOA的求解结果总体上更加稳定,且更接近理论最优值,结果证实了C-A-WWOA 很好地解决了WOA在函数优化上寻优精度不高和容易陷入局部最优的问题。

表2 4种算法的寻优结果对比Table 2 Comparison of four algorithms for finding best results

2.2.2 误差分析

针对不同算法进行定量分析,通过对算法寻优结果计算其在标准测试函数的平均误差(MAE),将计算结果进行排序,可以验证算法求解精度的稳定性。表3所示为基准测试函数的MAE排序,具体计算公式如下:

2.2 实验结果及算法性能分析

2.2.1 寻优精度分析

为了测试本文中所改进的C-A-WWOA的可行性与有效性,本文将C-A-WWOA 与标准WOA 以及近期两个改进效果较好的鲸鱼优化算法进行测试分析。为了公平对比算法性能,各种算法均在同一条件下进行测式中,mi表示算法求解结果的平均值,fi为第i个基准测试函数的理论值,Nf表示基准函数的个数。

由表3 可知,C-A-WWOA 在求解18 个标准测试函数的MAE排名优于WOA、EGolden-SWOA和IMWOA。这说明本文的C-A-WWOA在求解函数优化问题上具有更小的误差,也反映出该算法应用时更强的适用性。

表3 不同算法MAE排名Table 3 MAE ranking of different algorithms

2.2.3 复杂度分析

2.2.4 高维函数优化分析

本小节利用表1 中前12 组测试函数,计算了C-AWWOA 在不同维数下(D=100,D=200,D=500 和D=1 000)下的优化结果(见表4和图2),进一步分析不同维数下C-A-WWOA的优化性能。

图2 不同维数下C-A-WWOA算法的优化曲线(以F11为例)Fig.2 Optimization curves of C-A-WWOA under different dimensions(taking F11 as example)

寻优结果表明(表4),在不同维数下(即:D=100,D=200,D=500和D=1 000),C-A-WWOA算法能在6个函数(F1、F2、F3、F4、F8和F10)稳定地收敛到理论最优值0,且Stv=Avg=0,这很好地说明了C-A-WWOA在处理不同维数的优化问题时具有较高的收敛精度和较强的鲁棒性。对于函数F6、F7、F9、F11和F12虽未能收敛到理论最优值,但其寻优结果仍具有一定的精度,且对比不同维数的寻优结果(表2 和表4)发现,不同维数下C-A-WWOA 优化结果相差不大,这说明了C-AWWOA 在处理优化问题时不易受到问题维数的影响,具有较强的稳定鲁棒性。

表4 不同维数下C-A-WWOA的寻优结果Table 4 Optimization results of C-A-WWOA under different dimensions

图2 给出了不同维数下C-A-WWOA 对F11 的优化结果。可以看出,随着函数维数的增大,C-A-WWOA对函数的优化结果不会出现太大变化,基本保持不变,如30 次最优值和30 次平均值基本保持稳定,这说明C-AWWOA在优化不同维数问题时具有较强的适用性和较强的鲁棒性。

2.2.5 3种改进策略的有效性分析

为分析每个改进策略的算法有效性,本小节利用表1 中的18 组测试函数,进一步分析了C-A-WWOA 的3种改进策略的寻优结果(表5);耦合中心游移和边界邻域更新的C-WOA、耦合非线性收敛因子的A-WOA 和基于双权重因子的W-WOA。基于此,通过与WOA 的对比,分析C-WOA、A-WOA、W-WOA 和C-A-WWOA的改进策略对寻优精度的影响。同时,还根据迭代曲线,分析了不同策略对迭代寻优速度的影响(如图3)。

相较于WOA,3 种改进策略(C-WOA、A-WOA 和W-WOA)和C-A-WWOA的寻优精度均有一定提升(见表5)。首先,C-A-WWOA提升最明显,其在多数函数问题上快速收敛,且保证了很高的精度。其次,W-WOA对精度也有了极大的提升,其Avg 和Stv 明显优于WOA,这表明双权重因子的改进对算法摆脱局部最优和提高寻优精度有很大作用。再者,C-WOA和A-WOA分别在F2、F8 和F9 上也起到了很好的效果,部分函数(如F2 和F8)还可以收敛到理论最优值。C-WOA 对于多峰函数的提升更明显,其是由于多峰函数对初始种群的依赖比较强,采用中心游移策略的C-WOA 具有更高的初始种群质量;而A-WOA侧重于单峰函数求解精度的提升,其证明了改进算法参数可以进一步提高其局部开发能力。最后,对比C-A-WWOA 和3 种改进策略(C-WOA、A-WOA和W-WOA)的求解结果(如表5),可以看出,C-A-WWOA具有更高的精度,这表明不同改进策略之间有促进作用,如:C-A-WWOA 在单峰函数F2和F4问题上可以收敛到理论值(Min=0)。

表5 不同策略下改进算法与WOA的优化结果对比Table 5 Comparison of optimization results of improved algorithms with different improvement strategies and WOA

根据算法迭代曲线图分析(如图3),相较于WOA,改进算法(C-WOA、A-WOA、W-WOA和C-A-WWOA)其求解精度和速度均有一定或大幅的提升。从图3(a)~(f)看到,采用3种策略改进的C-A-WWOA曲线具有更高质量的初始种群质量和极快的收敛速度,这也证明了改进策略的高效性。同时,W-WOA在单峰函数图3(a)和(b)以及多峰函数图3(c)和(d)的迭代曲线,可以明显得到,W-WOA 具有很高的寻优精度和速度:对于单峰函数(如F2、F4),W-WOA可以收敛到理论最优值;对于多峰函数(如F10、F12),W-WOA寻优精度极高,由此说明W-WOA可以提高单峰和多峰函数的寻优精度,其原理是通过双权重因子来扰动后期种群的更新过程,使其不局限于某一个局部空间,而在更大的范围搜索更新,从而进一步提高了精度。与W-WOA不同的是,A-WOA可以提高单峰函数(如F2)的寻优精度,但收敛速度未见明显提升(图3(a)),而求解多峰函数(如F4、F10)时,不仅收敛精度有了一定的提高,收敛速度也提高了2~5倍(图3(c)和(e)),这说明改进算法参数的A-WOA 除了提高单峰和多峰函数的寻优精度外,还可以加快部分多峰函数的收敛速度。此外,采用了中心游移策略的C-WOA求解多峰函数(如F12、F14、F15)时也取得了不错的效果(图3(d)~(f)),图像表明,C-WOA 具有更高的初始种群质量,其求解精度和速度也优于WOA,这说明C-WOA 可以提高初始种群质量并进一步提高求解精度。

图3 不同改进策略的迭代曲线Fig.3 Iteration curves with different improvement strategies

3 工程实例

工程设计优化问题是群体智能优化算法的一个重要应用领域和研究热点,因此,本文将C-A-WWOA应用于压力容器与拉伸/压缩弹簧两个典型工程优化问题,并将求解结果与几种不同算法进行对比。为保证公平,所有对比算法需在同一条件下进行优化计算,具体条件为:种群规模N=30,最大迭代次数Tmax=500,运行次数均为30次。

3.1 压力容器设计问题

压力容器设计是一类常见的化工机械设备优化设计问题。该问题有4 个决策变量,其取值范围分别是:壳体厚度x1(0 ≤x1≤99),封头厚度x2(0 ≤x2≤99),壳体半径x3(10 ≤x3≤200)和圆柱形截面长度x4(10 ≤x4≤200)。目标函数是成本最小值(minF),包括材料费、成型费和焊接费,并存在4 个约束条件,具体数学模型如下所示。

g4(x)=x4−240

表6 给出了7 种算法求解压力容器设计问题的最优方案,结果表明,相较于其他算法,改进WOA算法求解方案明显优于其他算法,如C-A-WWWOA、RD-WOA和EGolden-SWOA 算法。对于4 种改进WOA 算法,C-A-WWOA所求解的容器设计最小成本minF=5 909.09,对应决策变量取值分别为x1=0.79,x2=0.36 和x3=40.45,x4=196.95,说明本文算法具有较高的收敛精度,在求解此问题时更具竞争力。

表6 不同算法求解压力容器设计问题最优方案Table 6 Optimal solutions for different algorithms to solve pressure vessel design problems

3.2 拉伸/压缩弹簧设计问题

拉伸弹簧优化设计广泛地应用于国防、汽车、模具、医学航天、铁路、工程机械、矿山机械、建筑机械、电梯等领域。该问题有3 个决策变量,其取值范围分别是:线径x1(0.05 ≤x1≤2.00),平均线圈直径x2(0.25 ≤x2≤1.30)和活性线圈数量x3(2.00 ≤x3≤15.00)。目标函数是质量最小值(minF),其存在4个约束条件,具体数学模型如下所示。

此问题中,计算了C-A-WWOA的优化方案,并将求解结果和文献[3]中的WOA 算法、文献[6]中的GSA 算法、文献[7]中的PSO 算法、文献[15]中的EGolden-SWOA 算法和文献[36]中的RD-WOA 算法的求解结果进行比较,其结果如表7 所示。C-A-WWOA 求解拉伸/压缩弹簧时结果优于其他算法,其求解质量为minF=0.126 70,仅次于RD-WOA 中minF=0.126 65,但RDWOA在优化求解时迭代次数远远大于500。因此,表7结果一定程度上说明本文改进的算法(C-A-WWOA)在求解此类问题时具有较高的精度。

表7 不同算法求解拉伸弹簧设计问题最优方案Table 7 Optimal solutions for different algorithms to solve extension spring design problems

4 结论

WOA 是近年来新提出的一种群体智能优化算法,针对WOA 在求解精度低等问题,本文提出了一种耦合中心游移和双权重因子策略的改进鲸鱼优化算法(C-A-WWOA)。改进算法通过中心游移对种群进行初始化;通过邻域更新对越界鲸鱼进行修正;通过调整参数对算法性能进行优化;通过双权重因子对种群进行随机扰动更新。将改进算法应用于函数优化问题(18个测试函数),结果表明改进算法具有更高的收敛精度,很好地解决了其易陷入局部最优的问题。在此基础上,本文还将改进算法应用工程设计最优化问题(压力容器设计问题和拉伸/压缩弹簧设计问题),其结果充分证明了C-A-WWOA 在处理工程实际问题的强适用性和高求解精度。

猜你喜欢
测试函数鲸鱼种群
小鲸鱼
山西省发现刺五加种群分布
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
基于双种群CSO算法重构的含DG配网故障恢复
迷途鲸鱼
基于自适应调整权重和搜索策略的鲸鱼优化算法
鲸鱼
鲸鱼岛——拖延症
由种群增长率反向分析种群数量的变化