方波触发勘探与开发的粒子群优化算法

2022-12-31 02:56邓志诚孙辉赵嘉王晖吕莉谢海华
自动化学报 2022年12期
关键词:方波全局勘探

邓志诚 孙辉, 赵嘉, 王晖 , 吕莉 , 谢海华

为解决传统优化算法难以解决的复杂优化问题,研究者们受启发于生物和自然物理现象,提出了粒子群优化算法、差分进化算法、人工蜂群算法、和声搜索算法和进化策略等优化技术以解决各领域的优化任务.

粒子群优化算法(Particle swarm optimization,PSO)是由Kennedy等[1]在1995 年提出的群智能优化算法.该算法具备计算快速和易实现等优点,作为群体智能算法的一个重要分支,得到了众多学者广泛深入的研究.且已应用于预测[2]、工程设计[3]、特征选择[4]和经济[5]等众多领域.

粒子群优化算法是源于对鸟群捕食行为的模仿研究,人们从鸟群捕食过程当中得到启示,并将其用于解决优化问题.该算法通过群体中粒子间合作与竞争产生的群体智能指导优化搜索.根据算法的特性,全局最优粒子将信息传递给其他粒子是单向的信息流动,可使粒子快速的收敛于最优解.但当全局最优粒子处于局部最优位置时,易导致所有粒子收敛到局部最优.此外,粒子在进化过程中,从全局勘探转为局部开发阶段后,若粒子处于局部最优位置,将难以获得逃离局部最优位置的步长.针对上述问题,提出方波触发勘探与开发的粒子群优化算法(Particle swarm optimization with square wave triggered exploration and exploitation,SWTPSO),在提高全局最优质量的同时,进一步增强粒子逃离局部最优的能力.

SWTPSO 中提出方波触发机制.首先,将标准PSO 的更新公式进行改进,去除速度项和加速因子的影响,使新改进的公式局部搜索能力增强,并存储当前粒子的位置,作为下次使用标准PSO 公式更新种群时粒子的新步长.然后,根据种群设定的总迭代次数,将种群进化的过程划分为多个方波周期.最后,按照种群当前运行的迭代次数属于方波周期内的 “高”或 “低”值,分别执行标准PSO 公式和新改进公式更新种群,使粒子的搜索状态随方波周期性变化.将SWTPSO与多种其他优化算法进行比较,其在数值优化问题上展现较好的优化性能.

本文结构如下: 第1 节介绍标准粒子群算法原理及相关研究;第2 节阐述方波触发机制;第3 节对本文提出的策略进行理论分析和实验验证;第4节将SWTPSO与新改进的PSO 和其他智能算法进行仿真实验,并分析算法的优化性能;第5 节为总结与展望.

1 粒子群算法及其简要综述

1.1 粒子群算法基本原理

设粒子数为N的种群,在维度为D的空间中搜索,粒子在解空间所处的位置可表示为xi=(xi1,xi2,···,xiD),i=1,2,···,N代表第i个粒子的位置,而每个xi都可由目标函数求得函数值f(xi)·vi=(vi1,vi2,···,viD),i=1,2,···,N代表第i个粒子的速度,表示在每一次迭代中粒子移动的步长,pbesti=(pbesti1,pbesti2,···,pbestiD),i=1,2,···,N代表第i个粒子所经历的历史最优位置,gbest=(gbest1,gbest2,···,gbestD)代表整个种群的历史最优位置.速度和位置可按照以下公式更新:

式中,惯性权重w控制粒子速度v使粒子的局部和全局搜索能力相平衡,当w较大时粒子的全局搜索能力较强,反之粒子的局部搜索能力较强.式(1)中c1和c2为学习因子(也叫加速因子),可使粒子具有自主学习和向其他优秀粒子学习的能力,使其以较快速度向最优解靠近.r1和r2为(0,1)内的随机数,为粒子i在第t次迭代时历史最优位置的第j维,为第t次迭代时整个种群历史最优位置的第j维.

1.2 粒子群算法简要综述

粒子群优化算法具有高效和实现简单等特点,已成功应用于许多现实优化任务[6−7],但存在多样性差、易早熟收敛等问题制约了粒子群优化算法的发展,为克服上述问题,众多学者做了大量研究,所做工作包含以下4 类:

1)参数选择

惯性权重和学习因子等参数,对算法的优化性能有重要影响.文献[8]首次引入时变惯性权重,改善粒子的收敛速度.文献[9]根据种群的信息调整惯性权重.文献[10]引入贝叶斯技术调整惯性权重.文献[11]提出时变的加速因子策略.文献[12]引入正余弦函数控制加速因子的变化.文献[13]将惯性权重和加速因子作为三个维度信息处理.文献[14]提出一种反馈系统,该系统可使参数适应粒子所处的特定环境,并使用惩罚函数来处理约束.

2)粒子更新方程

为增强粒子逃离局部最优能力,探索更多新区域,文献[15]使用高斯分布更新粒子位置.文献[16]引入反向学习生成粒子的反向解参与种群进化.文献[17]结合随机学习和列维飞行策略,在标准速度更新公式中增加向随机粒子学习项.文献[18]在速度更新公式中增加子社会学习项,使粒子向邻域最优粒子学习.文献[19]中,为消除对gbest的过度依赖,将其他粒子的维度信息作为新的信息源,并提出了3 个更新粒子的公式.

3)拓扑结构

种群的拓扑结构与种群的多样性有关,吸引了众多学者关注.文献[20]分析了不同类型的静态邻域结构及其对PSO 性能的影响,并认为星型、环型和冯诺依曼拓扑结构的适应性最好.文献[21]使用整个邻域的信息引导粒子搜索最优解.文献[22]提出自适应时变拓扑连接模型,根据种群搜索性能改变粒子的拓扑连接,平衡算法的勘探与开发搜索.文献[23]采用环形拓扑结构增强种群的多样性和开发能力.文献[24]在迭代过程中保留局部最优解,并根据位置对维度进行排序,生成局部最优拓扑.

4)算法混合

各优化技术在处理不同优化问题时展现不同的优势.文献[25]通过差分算法和混沌映射控制算法运行期间的参数.文献[26]将遗传算法的变异和交叉操作引入粒子群算法中.文献[27]将萤火虫算法的局部搜索能力与粒子群的全局搜索能力结合.文献[28]将多种经典的改进粒子群算法优势集合,通过学习上一代粒子经验,采用自适应方法为粒子分配最佳策略.文献[29]将标准PSO 和社交学习粒子群优化相结合,以提高算法的探索和开发能力,并在30、50 和100 维上验证了算法的性能.

综上研究可知,通过在种群进化过程中调节参数,动态调节勘探与开发;通过改变粒子的更新方程,进一步改变粒子的运动方式或运动轨迹;通过改变粒子的拓扑结构,根据粒子间不同的信息分享机制调节勘探与开发;通过将其他智能算法的策略引入粒子群算法中,调节勘探与开发.

上述算法的种群在进化的全过程,始终保持初始设置的进化方式不变,或只对进化方式进行简单单一调整.例如,在进行参数选择的改进中,其使用的惯性权重线性变化策略,可等价为以整个进化过程为一个周期,通过惯性权重的变化,调节勘探与开发.因周期设置不合理,容易出现因勘探持续时间过长而耗费评估资源,或因陷入局部最优后难以再次进行全局勘探等问题.同理,在粒子更新方程、拓扑结构和算法混合等改进中,都未考虑多阶段调整种群的进化方式,进而调节勘探与开发等问题.

针对上述问题,本文提出方波触发勘探与开发的粒子群优化算法,其将种群进化过程划分为多个方波周期,周期性地增强种群勘探与开发能力,可避免因过度勘探造成评估资源浪费,又同时增强粒子逃离局部最优的能力,进一步提升算法的收敛速度和精度.

2 方波触发勘探与开发的粒子群优化算法

2.1 方波触发机制

方波(Square wave,SW)是一种非正弦曲线波形,通常在逻辑电路和信号处理时出现.理想方波只有 “高”和 “低”两个值.“高”值在一个波形周期内占有的时间比值称为占空比,占空比为50%的矩形波称为方波.若使用1 和0 分别表示方波振幅的高和低值,则方波的前半个周期内振幅为1,后半个周期振幅为0.方波表达式见下:

式中,t为种群当前迭代次数,T为方波函数的周期,n为整个迭代过程可划定的周期个数,n=1,2,···,Max_iteration/T,Max_iteration为最大迭代次数.

标准粒子群算法在优化过程中,整个粒子群体根据全体粒子和自身的搜索经验向着最优解的方向“飞行”,在较大动量项系数(加速因子等)的作用下,粒子可能错过最优解,使算法收敛到局部最优.

为消除动量项的影响,在新速度更新式(4)中,原等式(1)右边的速度项替换成粒子的当前位置,加速因子设置为1,r4和r5为(0,1)间的随机数.联合式(4)~ (5)可知,其可使粒子获得比前半周期更小的步长,粒子直接向个体最优(pbest)和全局最优(gbest)学习,探测两者外围解空间区域,相对增强种群局部搜索能力.

在标准粒子群算法进化过程中,搜索状态由全局勘探转为局部开发后,若种群陷入局部最优,则粒子多样性丧失较快,难以逃离局部最优.此外,种群执行局部开发搜索后,难以再次开启全局勘探搜索.

针对上述问题,SWTPSO 利用方波的周期特性,在种群的进化过程中,使粒子周期性增强全局勘探与局部开发搜索.具体实现过程如下:

由式(6)可知,在前半个方波周期内,使用标准PSO 公式增强全局勘探能力,提高寻得最优解的概率;在后半个方波周期内,使用去除动量项的改进公式更新种群,增强其局部搜索能力,对所探得区域进行精细搜索.在整个方波周期内,种群在前半周期相对于后半周期,增强全局勘探能力,后半周期相对前半周期增强局部开发能力.当种群粒子执行完后半个周期的局部搜索后,在下个周期将自动获得与粒子当前位置有关的新速度,使粒子获得的运动步长多变,种群多样性增强.

2.2 算法实现步骤

本文采用方波触发机制,可有效平衡算法全局勘探与局部开发的能力,算法实现步骤如下:

算法1.SWTPSO 程序

3 算法策略分析

本节主要对算法采用的策略进行理论分析或实验验证,通过实验测定方波触发机制中的最佳方波周期T,并验证方波触发机制可有效提高种群多样性.

方波触发机制从整个种群搜索状态入手,在式(1)中去除速度项,使算法拥有更强的局部搜索能力,而保留速度项的标准PSO 更新公式,则可探索更多新搜索空间[8].方波触发机制将种群进化的全过程划分为若干个方波周期,在一个周期内的前半个周期采用式(1)~ (2)更新种群,进行大范围的全局搜索,在后半个周期内采用式(4)~ (5)更新种群,进行小范围的局部搜索,以此平衡算法的勘探与开发能力.因此,为提高算法的优化性能,划分合适的方波周期是本文的关键.

3.1 方波周期分析

为便于实验分析设定最佳方波周期T,改为求f=1/T=n/Max_iteration的值,n为周期的个数,Max_iteration为最大迭代次数.在算法运行时,周期T为初始化设定的常数,当最大迭代次数Max_iteration变化,则只有周期执行的个数n变化.本文通过取不同的f值,测试算法在优化不同函数时展现的综合性能,选取最佳方波周期T.因此,本文设定的最佳方波周期T只与算法的优化性能有关,与本节设定的最大迭代次数无关.

实验选取多模函数Penalized 2、Levy 作为测试函数,粒子数N为10,维度D为30,最大迭代次数为20000,各函数运行30 次,当所得全局最优适应值达到 10−18,则认为算法求得函数最优解,记录下所需迭代次数.当算法达到终止条件,全局最优适应值未满足10−18,则判定此次运行搜索失败,用“×” 标示,且不计入平均值的计算.f分为0.01∼0.002共9 个值,实验结果见表1~ 2.

表1 Penalized 2 函数上使用不同的f 值寻找全局最优值的迭代次数Table 1 Numbers of iterations for finding the global optimum using different values of f on the Penalized 2 function

在Penalized 2 函数上,当f为0.01 时,算法有28 次求得最优解,其平均迭代次数为4798.当f为0.009、0.008、0.007、0.006、0.005、0.004 时,算法在30 次都求得最优解.其中,当f为0.009 时,平均迭代次数 为5148;当f为0.008 时,平均迭代次数为6028;当f为0.007 时,平均迭代次数为5277;当0.006 时,平均迭代次数为5021;当f为0.005 时,平均迭代次数为4488;当f为0.004 时,平均迭代次数为4510.当f为0.003 时,算法有29 次求得最优解,平均迭代次数4907.当f为0.002 时,算法有25 次求得最优解,平均迭代次数为3219.

在Levy 函数上,当f为0.01 时,算法有22 次求得最优解,平均迭代次数5887.当f为0.009、0.008、0.007 和0.005 时,算法在29 次都求得最优解,其中0.009 时平均迭代次数为5954;0.008 时平均迭代次数为5259;0.007 时平均迭代次数为4923;0.005 时平均迭代次数为4321.当f为0.006 时,算法有27 次求得最优解,平均迭代次数4027.当f为0.004 时,算法有30 次求得最优解,平均迭代次数4494.当f为0.003 时,算法有28 次求得最优解,平均迭代次数4252.当f为0.002 时,算法有27 次求得最优解,平均迭代次数5146.

为更直观反映f值对算法优化性能的影响,以不同f值为横坐标,算法在运行30 次中未寻得最优解的次数为纵坐标,绘制折线图1.在Penalized 2函数上,f为0.004、0.005、0.006、0.007、0.008、0.009 时,算法都能求得最优解.在Levy 函数上,f为0.004 时,算法能求得最优解.

图1 不同f 值的失败次数Fig.1 Number of failures for different f

综合分析实验结果可知,不同的周期T对算法优化性能有重要影响,当T设置过大,种群长时间使用标准PSO 更新公式搜索解空间,其具有的较大动量项系数将使种群错过最优解,且周期过大将占用大量的迭代次数,使执行的周期次数变少,种群粒子自动获得较大步长的次数减少,削弱了种群逃离局部最优的能力;当T设置过小,种群粒子或未探得最优解所在区域,就进行局部搜索,使种群在局部最优区域耗费评估次数.

对于f的取值,通过增加两组不同类型(单模、多模、旋转、偏移、组合等)测试函数进行实验,验证了f的最佳取值范围为[0.004,0.009].当f=0.004 时,所得秩均值最小,算法拥有更好优化性能.

3.2 粒子步长和种群多样性分析

分析标准PSO 算法中粒子的运动方式,将式(1)~ (2)经整理变化,可得:

粒子的实际运动步长为:

本文提出的方波触发机制,在一个方波周期内的前半个方波周期采用式(1)~ (2)更新种群,搜索到一定区域后,使用式(4)~ (5)在后半个方波周期对该区域进行精细搜索.再到执行下一个方波周期时,式(6)中所得粒子的速度V,将自动替换成为式(1)等号右边第1项V,此时再次使用式(1)~(2)更新,粒子的实际运动步长为:

为验证标准PSO 公式下 (steppso),相比方波触发机制下 (stepsw) 的优势,使用Rastrigin 函数,测试粒子在进化过程中步长的变化.实验中,种群个数为N=10,维度D=10,迭代次数为500 次.随机选取种群中一个粒子,记录粒子10 个维度中步长的变化情况.实验结果见图2.

第1~ 250 迭代次数为前半个周期,第251~500 迭代次数为后半个周期.由图2 中可以看出,在粒子的10 个维度中,stepsw步长的变化次数在进化全过程多于steppso,验证在stepsw策略下,通过提供多变的步长,可达到按周期触发勘探与开发的目的.

图2 粒子在10 维中的步长变化Fig.2 Step size changes of 10 dimensions of particles

为验证引入方波触发机制可有效提高种群多样性,使用多样性度量式(10)[30],对比标准PSO 和加入方波触发机制的PSO,其种群进化过程中多样性的变化.

式中,N表示种群的个数,2·a为搜索空间的范围,D表示维度,x¯ 表示种群的中心位置.方波触发机制记为SW,选取Rastrigin 旋转偏移函数和Shifted 旋转偏移函数进行测试,粒子数N为10,维度D为30,评估次数为10000 次,所得两者多样性实验结果见图3.引入方波触发机制的PSO (PSO +SW)比标准PSO,在种群进化的全过程中能保持更高的多样性,种群勘探与开发能力可保持更好平衡.同时对标准PSO 和PSO+SW 进行收敛性分析,见图4.实验结果表明,PSO+SW 比标准PSO可收敛到更高精度解.

图3 PSO 和PSO+SW 的种群多样性变化Fig.3 The population’s diversity of PSO and PSO+SW

图4 PSO 和PSO+SW 的收敛性Fig.4 The convergence performance of PSO and PSO+SW

4 仿真实验

本节结构如下: 第4.1 节设置SWTPSO 涉及的参数,给出测试函数的基本信息;第4.2 节选取新近改进的PSO与SWTPSO 在维度为30、50、100的条件下比较;第4.3 节对算法收敛性能进行分析.第4.4 节将SWTPSO与新改进的蜂群和差分算法在26 个函数上进行50 维比较,再与改进和声搜索算法、粒子群算法、人工蜂群算法、差分算法进行100 维比较,最后在CEC2015 测试集上进一步验证SWTPSO 的优化性能.

4.1 测试函数和参数设置

引入26 个基准函数进行仿真实验,表3 给出了26 个测试函数的基本信息.SWTPSO 的参数设置如下: 种群规模N设置为10,c1和c2设置为2.0,惯性权重w=0.55×exp(−0.5×iterNum/Max−iterNum),用Max_iterNum表示最大迭代次数,iterNum表示当前迭代次数,方波触发机制中,f值设为0.004.

表3 26 个基准测试函数Table 3 Information of 26 benchmark functions

表3 26 个基准测试函数 (续表)Table 3 Information of 26 benchmark functions (continued table)

表3 26 个基准测试函数 (续表)Table 3 Information of 26 benchmark functions (continued table)

4.2 仿真实验及结果分析

将SWTPSO与7 种PSO 改进算法在维度D=30、50、100 的条件下对比,7 种PSO 改进算法分别为Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients (HPSO-TVAC)[11]、Comprehensive learning particle swarm optimizer for global optimization of multi-modal functions (CLPSO)[31]、A novel particle swarm optimization algorithm with levy flight (LFPSO)[32]、Dynamic multi-swarm particle swarm optimizer (DMS-PSO)[33]、An enhanced particle swarm optimization with levy flight for global optimization (PSOLF)[34]、A particle swarm optimization algorithm with random learning mechanism and levy flight for optimization of atomic clusters (RPSOLF)[17]、A hybrid particle swarm optimizer with sine cosine acceleration coefficients (H-PSO-SCAC)[12].各算法的参数都按照原文献设置,当D=30 时,评估次数设为20 万次;D=50 时,评估次数设为25 万次;D=100 时,评估次数设为50 万次.所有算法独立运行50 次,最终结果取50 次的平均值,具体实验数据见表4~6.表中,MBF 表示平均最优适应值,SD 表示标准差,粗体表示最好值.

由表4~6 可以看出,在相同评估次数下,SWTPSO在D=30,50,100 维时,所测函数f1、f2、f6、f8、f12、f13、f14全部求得最优解,所测函数f9、f10同样求得比其他算法更高质量的解,测试f3、f4、f5函数所得最优解相比其他算法优势明显.CLPSO在测试函数f5时优势明显,其余函数在30 维时能取得较好质量的解,但在50、100 维时算法性能有待加强.CLPSO 主要借助不同的个体最优(pbest)优势信息产生最优解,但因其在搜索过程中种群常易更新停滞,早熟收敛仍是CLPSO 需解决的问题.HPSO-TVAC 和DMS-PSO 在测试函数f9、f10时优势明显,测试其余函数时,上述算法在低维时能求得较好质量的解,在高维搜索时算法易陷入局部最优.LFPSO、RPSOLF 都采用列维飞行策略,使种群增加了随机步长,其中LFPSO 使种群粒子绕着最优解做列维飞行,在算法后期种群易更新停滞,故LFPSO 在低维时,测试单模和多模函数时,搜索到最优解的质量较高,但在高维仍易陷入局部最优.LFPSO 和RPSOLF 则另增加了随机选择策略,在一定概率范围内使用列维飞行策略,在测试函数f1、f2、f6、f8、f12、f13、f14求得了函数最优解,但在高维条件下测试f9、f10时算法仍陷入局部最优.H-PSOSCAC 采用sin、cos 函数控制加速因子的变化,并在使用反向学习初始化种群后,采用改进的速度更新公式,其在优化函数f4时,能够取得较高质量的解,在函数f1、f2、f6、f8、f12、f13、f14同样能求得函数最优解,但在测试函数f9和f10时,算法仍陷入局部最优.

表4 30 维实验结果对比Table 4 Comparison of 30-dimensional test results

为进一步综合评价SWTPSO 的性能,引入Friedman 检验分析所得测试数据,秩均值作为Fri-edman 检验的评价参数,该值越小,表明算法的性能更优.表7 给出各算法数据的Friedman 检验结果,其中SWTPSO 在维度D=30,50,100 维时,所得秩均值最小,故该算法性能更优.H-PSO-SCAC在不同维度下的优化性能较为稳定,RPSOLF、PSOLF、LFPSO 在30 和50 维时优化性能较强,在100 维时优化性能减弱,CLPSO 和DMS-PSO的优化性能随维度的增加逐渐减弱,HPSO-TVAC在30 维的优化性能弱于50 和100 维.

表5 50 维实验结果对比Table 5 Comparison of 50-dimensional test results

表6 100 维实验结果对比Table 6 Comparison of 100-dimensional test results

表6 100 维实验结果对比 (续表)Table 6 Comparison of 100-dimensional test results (continued table)

表7 各PSO 算法的Friedman 检验结果Table 7 Friedman test results of each POS algorithm

4.3 收敛性分析

图5 在维度为30,评估次数20 万次的条件下,对SWTPSO与CLPSO、HPSO-TVAC、DMSPSO、LFPSO、PSOLF、RPSOLF 和H-PSOSCAC,在函数f1~f14优化过程中的收敛性能进行分析,图5 中Fitness 表示算法所得适应值.在单模函数Sphere、Schwefel2.22上,所有算法在Sphere函数上都能够求得较高精度的解,但SWTPSO 求得最优解所用评估次数更少,收敛速度最快.在Schwefel2.2 上,DMS-PSO未能求得最优解,其余算法能求得较高精度的解,但消耗的评估次数比SWTPSO 多.

图5 14 个函数进化曲线图Fig.5 Evolution curves of 14 functions

在单模函数Rosebrock、Quartic 上,H-PSOSCAC 的优化性能突出,能求得比其他算法更高精度的解.SWTPSO 相比其他算法,收敛到较有优势的解且收敛速度较快.

在多模函数Schwefel2.26 上,CLPSO 的优化性能相比其他算法优势明显,所求解的精度最高,收敛速度最快.SWTPSO 对此函数的优化能力相比其他函数较有优势.

在多模函数Rastrigin、Ackley、Griewank 上,SWTPSO、PSOLF、RPSOLF 和H-PSO-SCAC 都能求得最优解,SWTPSO 相比其他算法在收敛速度上,有较大优势.其余算法收敛速度慢,且收敛精度低.

在多模函数Penalized 1、Penalized 2 上,HPSO-SCAC 和PSOLF 收敛精度较低,其他算法能够收敛到较高精度的解,SWTPSO 的收敛速度更快、精度更高.

在旋转函数Rotated Schwefel2.26 上,PSOLF的收敛精度最高,SWTPSO 相比其他算法收敛速度和精度有较大优势.

在旋转函数Rotated Rastrigin、Rotated Ackley、Rotated Griewank 上,SWTPSO、PSOLF、RPSOLF 和H-PSO-SCAC 都能求得最优解,SWTPSO在收敛速度上优势明显,其余算法未能求得最优解.

4.4 与相关新算法比较

4.4.1 在50 维的常规基准函数上的实验结果

为进一步体现SWTPSO 的性能,将其与改进人工蜂群算法Bare bones artificial bee colony algorithm with parameter adaptation and fitnessbased neighborhood (BABC)[35]、Accelerating artificial bee colony algorithm with adaptive local search (AABCLS)[36]、Artificial bee colony algorithm with variable search strategy for continuous optimization (ABCVSS)[37]、Modified Gbestguided artificial bee colony algorithm with new probability model (MPGABC)[38]改进差分算法Differential evolution with composite trial vector generation strategies and control parameters (Co-DE)[39]、Adaptive differential evolution with optional external archive (JADE)[40]、Self-adaptive differential evolution algorithm using population size reduction and three strategies (jDEscop)[41]、Differential evolution algorithm with strategy adaptation for global numerical optimization (Sa-DE)[42],以及高效的进化策略Completely derandomized self-adaptation in evolution strategies(CMAES)[43]比较.实验选取第4.1 节的26 个基准函数,设置维度D=50,评估次数为25 万次,各函数参数设置参照原文献,所得实验结果见表8,表8中MPGABC 的数据来源文献[38],其余各算法的数据参照文献[30].由表8 数据可知,在测试的22个函数中,SWTPSO在f1∼f7、f11∼f13、f18、f20共12 个函数上寻得最优解,且稳定性强,相比其他8 种相关新算法,优势突出.在f9和f15函数上,SWTPSO 所得最优解,算法的稳定性都优于其他算法.在剩余的函数上,SWTPSO 总体优势明显.将8 种新相关算法与SWTPSO 进行Friedman 检验,所得结果见表9.表9 中SWTPSO 所得秩均值最小,表明其更具优势.

4.4.2 在100 维的常规基准函数上的实验结果

将改进的和声搜索算法Global dynamic harmony search algorithm (GDHS)[44]、An improved global-best harmony search algorithm (IGHS)[45]、差分算法Opposition-based differential evolution(ODE)[46]、人工蜂群算法Gbest-guided artificial bee colony algorithm for numerical function opti- mization (GABC)[47]、粒子群Improved global-bestguided particle swarm optimization with learning operation for global optimization problems (IGPSO)[48]和本文算法比较,维度为100,评估次数为50 万次,各算法独立运行50 次,算法所测函数参考文献[48]的表2~ 3,数据来源参考文献[48]中表9~10.实验所得结果见表10,本文算法在f1∼f4、f6、f9、f11、f14∼f15共9 个函数中求得最优解,在f5、f7、f8、f10、f12∼f13共6 个函数中求得最优解优势明显,将6 种算法与SWTPSO 进行Friedman 检验,所得结果见表11,表11 中SWTPSO 所得秩均值最小,表明其更具优势.

表2 Levy 函数上使用不同的f 值寻找全局最优值的迭代次数Table 2 Numbers of iterations for finding the global optimum using different values of f on the Levy function

表2 Levy 函数上使用不同的f 值寻找全局最优值的迭代次数 (续表)Table 2 Numbers of iterations for finding the global optimum using different values of f on the Levy function (continued table)

表9 8 种新相关算法和SWTPSO 的Friedman 测试结果Table 9 Friedman test results of 8 new correlation algorithms and SWTPSO

表10 6 种算法在15 个函数上的比较结果Table 10 Results of the fifteen functions for six algorithms

表10 6 种算法在15 个函数上的比较结果 (续表)Table 10 Results of the fifteen functions for six algorithms (continued table)

表11 6 种算法的Friedman 检验结果Table 11 Friedman test results of 6 algorithms

4.4.3 在30 维的CEC2015 测试集上的实验结果

群智能算法经过近几年的大量研究,绝大多数改进算法对较早版本的标准测试函数有较好优化效果.因此,本文采用新近提出的测试函数CEC2015[49]进一步验证算法的优化性能,表12 为CEC2015函数集.

表12 CEC2015 函数集Table 12 CEC2015 test suite

表12 CEC2015 函数集 (续表)Table 12 CEC2015 test suite (continued table)

SWTPSO 分别与新近提出的萤火虫与粒子群混合优化算法(Fire fly particle swarm optimization,FFPSO)[50],Hybrid particle swarm opti-mization and fire fly (HPSOFF)[51]、A hybrid algorithm combining firefly and particle swarm optimization (HFPSO)[27]比较,维度D=30,评估次数为1500,实验数据和其他参数设置参见文献[27].

表13 为各算法测函数CEC 2015 的实验结果,SWTPSO 在所测15 个函数中,有14 个函数占较大优势.表14 对各算法进行Friedman 检验,SWTPSO 所得秩均值最小,再次验证了本文算法更具优势.

表13 CEC2015 实验结果对比Table 13 Test results comparison of CEC2015 test suite

表14 Friedman 检验结果Table 14 Results of Friedman test

5 结束语

为提高粒子群算法全局最优的质量,增强粒子逃离局部最优的能力,本文提出方波触发机制,在种群初始化后,在前半个方波周期内进行全局勘探,探索更多新解空间区域,在后半个方波周期内转换为局部开发,对该区域进行精细搜索.在下个周期将自动获得与粒子当前位置有关的新速度,使粒子获得的运动步长多变,种群多样性增强.在第3.1 节中通过实验测定出方波触发机制的最佳周期,并在第3.2 节中证明,方波触发机制通过为粒子提供多变步长,提升种群的多样性.在多类型测试函数上与新改进粒子群算法进行30、50、100 维的测试,且与其他新种类智能算法比较,结果都表明SWTPSO优化性能更具优势.

但是,SWTPSO 在高维情况下测试复杂函数时,仍易陷入局部最优.下一步的研究工作可从以下方面展开: 在方波触发机制中,使用标准PSO 公式进行全局勘探,未考虑进化后期标准PSO 中粒子的速度将变小,全局勘探能力减弱的问题,下一步的研究中,可提出改进的更新公式,承担全局勘探任务.

猜你喜欢
方波全局勘探
油气勘探开发三年滚动计划编制的思考
基于改进空间通道信息的全局烟雾注意网络
便携式多功能频率计的设计与实现
费县故城勘探报告
落子山东,意在全局
立秋
记忆型非经典扩散方程在中的全局吸引子
心肺复苏通气时呼吸机送气流速模式选用方波和减速波对患者气道压力的影响
浅析测绘在煤矿勘探中的应用
高超声速飞行器全局有限时间姿态控制方法