复数编码的樽海鞘群算法及其应用*

2022-09-01 12:33彭石燕郑洪清
关键词:追随者复数种群

彭石燕,郑洪清

(1.柳州铁道职业技术学院,广西柳州 545616;2.广西职业师范学院教育学院,广西南宁 530007)

0 引言

群智能算法作为一种新兴的演化计算技术,已引起越来越多研究者的关注并在许多领域发挥着重要作用,但是当优化问题越来越复杂,传统优化算法的收敛精度和速度难以满足要求,因此设计一种新算法势在必行。

樽海鞘群算法(Slap Swarm Algorithm,SSA)[1]由Mirjalili等人于2017年提出,由于其参数调节少、计算简单和寻优能力相对较强,一经提出便得到广泛应用。[2-4]为了进一步提高其性能,不同学者提出不同改进方法:文献[5]采用折射反向学习机制和引入自适应控制因子于追随者位置中,增强了算法的局部开发能力;文献[6]引入惯性权重因子和结合种群成功率来平衡算法的全局和局部搜索能力;文献[7]将正弦余弦算法嵌入SSA中并对最优樽海鞘的空间进行差分演化变异策略,增强了算法局部搜索能力;文献[8]对SSA的领导者的更新公式进行改进并引入领导者—跟随者数量自适应调整策略提升寻优精度和稳定性;文献[9]引入自适应变化的权重因子和黄金正弦算法增强算法的全局搜索和局部开发能力;文献[10]结合引力搜索技术和正态云发生器,提升了算法的搜索效率。

上述算法虽然在不同程序上提高了算法的性能,但很少结合种群编码的角度来改进,本文借鉴文献[11]的思想提出一种复数编码的樽海鞘群算法(A Complex Encoding Slap Swarm Algorithm,CESSA)。该算法从以下两个方面进行改进:(1)构建复数编码樽海鞘群,拓展种群多样性;(2)融合灰狼算法中头狼的搜索思想,利用食物源位置分别指导当前追随者和上一个追随者的搜索行为并取两者平均值。通过13个基准函数和4个非线性方程组对算法进行测试,验证了CESSA算法的有效性。

1 樽海鞘群算法

在海洋中,樽海鞘在觅食过程中彼此形成环状的长链,该长链分为两部分:一部分为领导者,位于长链的前端;另一部分为追随者,位于领导者其后,逐个相连。领导者以食物源为目标,其位置更新公式如下:

其中,Fj表示第j 维领导者的位置,c1表示收敛因子,c2,c3∈[0,1]之间均匀分布的随机数,lbj,ubj为搜索空间第j维的下界和上界。l为当前迭代次数,lmax为最大迭代次数。

追随者的位置更新公式如下:

2 复数编码樽海鞘群算法

2.1 复数编码

对于一个d维函数优化问题,则构建一个d维的复数空间,记第i个复数为:

其中Ri和Ii分别表示第i个复数的实部和虚部。

2.2 复数编码樽海鞘群初始化

由(6)式可知一个复数可以用模和幅角来表示,则需按(5)式分别随机产生一个 d 维模 ρi空间和 d 维幅角 θi空间。

i=1,2,…,d,于是构成d维复数,[ai,bi]为问题变量的取值范围,即第i个复数可以写成如下:

2.3 复数编码樽海鞘群搜索行为及模与幅角更新

在灰狼算法(Grey Wolf Optimizer,GWO)[12]中,狼群群体构建了严格的等级制度,它们分为α,β,δ和ω狼,在觅食过程中α,β,δ狼指导ω狼向食物源搜索前进。其搜索猎物的数学公式为:

其中,Xp(t)为食物源的位置,X(t)为第t代个体的位置,r1,r2∈[0,1]之间的随机数,·表示乘法运算。而在SSA算法中的性能取决于领导者的搜索能力,若领导者陷入局部最优,则跟随者必陷入局部最优。因此本文尝试在复数编码的樽海鞘群追随者过程中,利用食物源位置分别指导当前樽海鞘和上一个樽海鞘的搜索行为;又由于在种群初始化阶段分别产生了模和幅角种群,所以追随者的位置更新公式分为模与幅角更新,其公式重新定义如下:

其中,bestρ表示最佳模的位置,ρi-1j表示i-1个模第j维的位置;bestθ表示最佳幅角的位置,θi-1j表示i-1个幅角第j维的位置,A1,A2,C1,C2分别由式(9~10)产生的值。

2.4 适应度计算

为计算目标函数值,必须将复数编码转换为实数编码,实数值为复数模,其符号由幅角决定,具体做法:

其中RVi为复数转换为实数后的值。

2.5 CESSA实施步骤

通过上述分析,CESSA的实施步骤如下。

步骤1:设置种群规模、最大迭代次数和由问题边界计算出模和幅角的取值范围等参数。

步骤2:在边界范围内按(5)式随机初始化模和幅角种群,按(6)式构成复数编码种群,再按(17~18)式转换为实数编码,并求解此时目标函数值fmin、最佳模位置和最佳幅角位置。

步骤3:判断算法是否终止,如果是,输出目标函数值fmin、最佳模位置和最佳幅角位置,否则进入步骤4。

步骤4:分别对实部和虚部更新,即对模和幅角更新,首先按(11~13)式对模更新并处理变量越界,其次按(14~16)式对幅角更新并处理变量越界,最后按(17~18)式转换为实数编码。

步骤5:对更新后模与幅种群中的每一个樽海鞘求解其目标函数值,并判断是否优于上一代目标函数值,如果是则替换目标函数值、对应的模和幅角。再对整个种群求解此时目标函数值fnew、最佳模位置和最佳幅角位置。

步骤6:判断fnew是否小于fmin,如果是则替换fmin、最佳模位置和最佳幅角位置。迭代次数加1,跳转至步骤3。

2.6 CESSA算法时间复杂度分析

假设种群规模N,问题维数n,最大迭代次数MaxIter,目标函数f (x),式(3)的运行时间t1,由SSA的实现步骤可知SSA 的时间复杂度为:MaxIter×(N×( N 2×n+N 2×t1)+N×f (n))=O( f (n)+n),设式(11~16)的运行时间t2,则CESSA 算法的时间复杂度为:MaxIter×(N2×n+N×(t1+t2)+2×N×n+N×f (n))=O( f (n)+n),虽然运行时间有所增加,但当问题规模足够大时,算法的时间复杂度并未增加。

3 仿真实验与结果

3.1 基准函数测试

为了验证CESSA算法的性能,选取文献[1]中13个基准函数进行测试,其中f1~f7属于单峰函数,仅包含一个全局最优,这些函数能够测试算法的局部开发能力;f8~f13属于多峰函数,包含多个局部最优,这些函数能够测试算法的全局搜索能力。函数表达式、维度、自变量取值范围和理论值如表1所示。

表1 基准函数

利用CESSA算法对13个基准函数进行求解,并与基本SSA算法、GWO算法进行对比,以验证综合改进策略的效果。为了公平比较,所有算法的参数设置:种群规模为30,最大迭代次数为500,其余参数设置与原论文一致。每种算法在Matlab 2016a中独立运行30次,计算结果如表2所示,表中的加粗字体表示最佳实验结果。

从表2可知,对13个基准函数而言,对f6和f13这2个函数,CESSA算法求解平均值Mean和方差Std仅次于基本SSA算法,但优于GWO算法;但是,对f1~f4,f9和f11这6个函数,CESSA算法求解的平均值Mean达到理论最优值,方差Std均为0,明显胜出基本SSA和GWO算法;而未达到理论最优值的函数f5,f7,f8,f10,f12,无论是平均值Mean还是方差Std也都优于基本SSA和GWO算法。

表2 基准函数的实验结果

为了直观地展示CESSA算法的收敛性能,图1~图5给出了部分基准函数前100代的收敛曲线(随机选取30次实验结果中某一次),从图1~图4可知,CESSA算法收敛速度最快,几乎呈直线下降;从图5可知,虽然CESSA算法初期收敛速度不是最快,但中后期进化明显。可见综合改进策略有助于提升算法的求解精度、收敛速度和鲁棒性。

图1 f3函数收敛曲线

图4 f7函数收敛曲线

图5 f8函数收敛曲线

3.2 非线性方程组测试

为了进一步验证CESSA算法的性能,采用文献[13]中含有较多根的4个方程组,这里表示例1~例4;并与文献[13-14]中部分算例进行比较,参数设置与其相同,每个方程组用CESSA算法(鉴于篇幅,未列出SSA、GWO算法计算结果)独立运行50次的计算结果如表3~表6所示。

例1:

其中:xi∈[-10,10],i=1,2,共有13个根。

例2:

其中:xi∈[-1,1],i=1,2,共有8个根。

例3:

其中:xi∈[-2,2],i=1,2,共有10个根。

例4:

由表3~表6可知,对例1而言,CESSA算法获取9个根且与理论值较为接近,而文献[14](IBOA)仅获取8个根,从求解根效果来看,CESSA算法略优于IBOA算法;对例2而言,CESSA算法获取全部根且与理论值较为接近,求解成功率为100%,与文献[13]效果一致;对例3 而言,CESSA算法获取全部根且与理论值较为接近,与IBOA算法求解效果一致;对例4而言,CESSA算法获取8个根且与理论值较为接近,丢失1个根,次于文献[13]。

表3 CESSA算法求例1的结果

表6 CESSA算法求例4的结果

综上所述,所有实验结果表明CESSA算法在全局搜索和局部开发方面具有相对优势。

4 结语

本文基于复数编码与灰狼算法头狼搜索猎物行为提出一种复数编码的樽海鞘群算法。首先构建复数编码樽海鞘群,拓展种群多样性;其次对樽海鞘群追随者方式进行改进,利用食物源位置分别指导当前樽海鞘和上一个樽海鞘个体。通过13个基准测试函数和4个非线性方程组的仿真实验,所有实验结果表明:采用综合改进策略的CESSA算法可以有效提升原SSA算法的性能。

图2 f4函数收敛曲线

图3 f6函数收敛曲线

表4 CESSA算法求例2的结果

表5 CESSA算法求例3的结果

猜你喜欢
追随者复数种群
做一名红色记忆的追随者
山西省发现刺五加种群分布
牛的“追随者”
评析复数创新题
求解复数模及最值的多种方法
数系的扩充和复数的引入
复数
“最大持续产量”原理分析
由种群增长率反向分析种群数量的变化
追随者