APP下载

自适应可调节边界的蚁狮优化算法

2023-09-27郭家虎时曼玉

关键词:测试函数适应度蚂蚁

郭家虎,时曼玉

(安徽理工大学电气与信息工程学院,安徽 淮南 232001)

蚁狮优化算法(Ant lion optimizer,ALO)[1-2]是近几年提出的一种新型群智能优化算法。该算法模拟自然界中蚁狮捕食蚂蚁的狩猎行为,将蚂蚁与蚁狮之间的相互作用转化为数学公式,并在此基础上建立数学模型用于求解问题的最优解。近年来,越来越多的群智能算法被应用于实际工程中,求解优化问题的最优解。ALO算法因其数学原理简单易懂,需要变动的参数较少、可以用代码复现等特点,成为最近几年计算领域的研究热点之一,已被用于光伏阵列最大功率点跟踪优化[3]、家庭用电调度问题的优化[4]、改进支持向量机的参数以提高风电功率预测精度[5]和可再生能源分布式电源的优化配置[6-8]。文献[9]36通过改进蚂蚁随机游走的方式提出基于位置策略的蚁狮算法(Location strategy ant lion optimization,LSALO),并与BP神经网络结合用于对儿童身高的预测,提高了预测模型的精准性。

ALO算法虽然在不同的领域取得较好的应用效果,但也存在着群智能算法易陷入局部最优解、收敛精度较低和收敛速度较慢的通病。为了解决这些问题,文献[10]296引入Kent混沌映射和高斯函数,提出基于高斯变异的蚁狮算法(Gaussian mutation based ALO,GALO),提高了寻优精度,但易于陷入局部最优解;文献[11]122引入自适应边界、优选轮盘赌和动态比列系数来优化蚁狮算法(Preferred Strategy Self-adaptive ALO,PSALO),提高了收敛精度,但收敛速度较慢;文献[12]21提出的具有自适应边界与最优引导的莱维飞行蚁狮优化算法(Levy Flight Ant Lion Optimizer with Adaptive Boundary and Optimial Guidance,ABLALO),摆脱了局部最优解。以上改进策略虽在一定程度上优化了算法性能,但无法兼顾算法的收敛速度、收敛精度和局部最优问题。

针对ALO算法易陷入局部最优解和收敛速度较慢的问题,本研究拟使用以下策略优化算法,首先引入Bernouilli shift混沌映射用于初始化种群。其次改进蚁狮为捕获蚂蚁而设置陷阱的比例参数。再次采用莱维飞行变异操作和动态参数改变蚂蚁位置的更新方式。最后使用9个基准测试函数进行测试验证以上提出的改进策略。

1 ALO算法

ALO标准算法包含蚂蚁、蚁狮和精英蚁狮3种角色,分别代表着问题的可行解、局部最优解和全局最优解。一次迭代中,蚂蚁在一定范围内随机游走,当其适应度值高于蚁狮时,就会掉入蚁狮的陷阱内。蚂蚁被蚁狮吃掉的过程可以等同于问题的可行解成为局部最优解,蚂蚁群体被蚁狮捕获之后,计算蚁狮群体的适应度值,从中选出最高的成为精英蚁狮,即问题的全局最优解。多次迭代过程中,通过比较蚂蚁与蚁狮的适应度值大小,不断更新蚁狮和精英蚁狮的位置信息。迭代结束后,最后会得到一个较为精确的全局最优解。

该算法引入随机游走策略以实现对解空间的探索,轮盘赌策略实现种群的“优胜劣汰”,以更精确的搜索精度和更好的算法收敛速度求得问题的全局最优解。

蚂蚁的随机游走可建立以下数学模型[13]

X(t)=[0,cumsum(2r(t1)-1),cumsum(2r(t2)-1),…,cumsum(2r(Tmax)-1)]

(1)

式中,cumsum表示蚂蚁种群随机游走路径的累积总和;t表示当前迭代次数;Tmax表示最大迭代次数;r(t)为随机分段函数,公式如下

(2)

式中,rand表示位于(0,1)之间的随机数。

为保证蚂蚁指定区间内进行随机游走,对式(1)归一化处理得到

(3)

蚂蚁在蚁狮周围随机游走可表示如下:

(4)

蚂蚁掉入蚁狮陷阱内的过程可用以下数学模型表示:

(6)

(7)

(8)

(9)

式中,ω为受t影响的常数;ratio为控制陷阱范围大小的系数,与t有关。

如果蚂蚁的适应度值高于蚁狮,则掉入蚁狮陷阱内,被蚁狮捕获。蚁狮会获得猎物蚂蚁的最新位置。蚁狮位置更新如下

(10)

蚂蚁位置更新由蚁狮和精英蚁狮的位置共同决定,计算如下

(11)

2 ABALO算法改进策略

2.1 Bernouilli shift映射

标准ALO算法在求取问题最优值时使用随机数进行种群初始化,这样可以保证初始种群的随机性,但种群分布的稳定性无法保障,进而会影响算法的寻优效果。ABALO算法在初始化种群时引入混沌这一概念。混沌映射用于生成混沌序列,生成的序列具有随机性、整体稳定而局部不稳定性和不可预测性[14],这些特性可以很好地保证初始种群的随机性和群体稳定性,从而增强算法的寻优效果。研究发现Tent映射和Bernouilli shift映射比Logistic映射、Sine映射、ICMIC映射更具有分布均匀性[15]915,这种性质可以有效地提高搜索效率,从而提高算法的寻优性能。

图1为种群数量为50、维度为50时的两种种群初始化方式的散点分布图,对比图1(a)、(b)可知,Bernouilli shift映射分布均匀且波动平稳,可增强种群的多样性和稳定性。

(a)种群Bernouilli shift分布 (b)种群随机分布

因此,本研究选取Bernouilli shift映射来随机初始化蚂蚁和蚁狮种群。Bernouilli shift映射的数学表达式如下[15]914

(12)

式(12)中的λ取0.5,可以得到

(13)

2.2 自适应可调节陷阱边界

由式(8)和式(9)可知,ratio的大小与常数ω相关,而ω的取值由迭代次数t决定。ratio在迭代次数分别为100和500时的曲线图如图2所示。

(a)迭代次数为100 (b)迭代次数为500

设置搜索空间[16]的上界ub=100、下界lb=-100,当迭代次数分别为100和500时,蚁狮捕获蚂蚁的陷阱大小变化趋势如图3所示。

(a)迭代次数为100 (b)迭代次数为500

由图2和图3可知,无论迭代次数为多少,陷阱大小只和t/Tmax的占比相关,蚁狮捕获蚂蚁的陷阱越小,捕获的蚂蚁的适应度值则会更优。迭代次数过多不仅不能帮助提升算法精度,反而会使算法陷入局部最优解中,导致算法的搜索精度距离理论最优值差距较大。

将式(4)~(7)代入式(3)得出蚂蚁位置的更新如下

(14)

根据式(14)可知,同一次迭代中,第i只蚂蚁的位置更新只与蚂蚁选中蚁狮的策略有关,其他参数数值不变。本研究意在改进式(8)中的ratio,减弱陷阱大小与t/Tmax的占比的相关性,让陷阱收缩得更快,波动得更随机,进而影响迭代中蚂蚁位置的更新。

(15)

式中,Tζ为可调节的迭代次数数值;ratio初始值为1;ω满足于式(9)。经反复实验测试,当Tζ设置为10,算法的搜索精度较高,且陷入局部最优解的次数较少。

2.3 莱维飞行变异策略

莱维(Lévy)飞行[17-18]是一种行走步长服从莱维分布的随机游走方式,该方式的游走轨迹具有不可预测性,大多数步长较小,有一定的概率出现大跨步。在种群迭代中,当种群的最优适应度值在一定次数内未发生变化,即判定为算法处于停滞状态,算法陷入局部最优解。为了摆脱这种困境,同时加快算法的收敛速度,引用莱维飞行的步长λ作为对蚂蚁位置更新的变异参数。

步长λ满足以下分布[19]

(16)

式中,u、v为正态分布的随机数,服从以下正态分布:

(17)

(18)

式中,Γ表示伽马函数,β=1.5。

(19)

虽然莱维飞行可以使种群产生变动,但是这种变动对蚂蚁位置的更新并不一定会向好的方向发展。因此,本研究采用贪心思想,仅保留位置变动后适应度值有改进的解,其他的解则舍弃。

(20)

2.4 自适应动态参数

(21)

其中,w(t)为引入的自适应权重;t为当前迭代次数;Tmax为最大迭代次数;rand生成大小位于(0,1)内的随机数。

将式(21)代入式(11)得到

(22)

2.5 算法步骤

ABALO算法步骤具体实施如下:

1)设置ABALO算法的初始参数,如种群数量、最大迭代次数Tmax、维度、ratio、适应度函数及其变量的上界和下界等;

2)使用Bernouilli shift映射初始化生成蚂蚁和蚁狮的位置信息,计算和比较相应的适应度值,选出本次迭代中的精英蚁狮;

4)如果蚂蚁的适应度值优于蚁狮,蚂蚁的位置信息会被蚁狮获取;

5)计算蚁狮群体的适应度值,适应度值最优的蚁狮如果优于精英蚁狮,则成为新一代的精英蚁狮;

6)判断迭代是否达到临界条件Tmax,如果达到则执行步骤7,否则执行步骤3;

7)算法结束,输出此时精英蚁狮的位置信息和相应的适应度值。

算法流程如图4所示。

图4 算法流程图

3 仿真实验与结果分析

3.1 参数设置

实验仿真软件为MATLAB,版本为R2022b。算法的参数设置为初始种群数为50,最大迭代次数为500次,维度为50维。所有算法独立运行30次,取这30次独立实验的平均值(mean)及标准差(std)作为算法检验测试的评测指标。

3.2 基准测试函数

选用9个基准测试函数作为模拟实验的对象来测试验证ABALO算法的性能。基准测试函数包括高维单峰函数[F1(x)~F6(x)]和高维多峰函数[F7(x)~F9(x)]这两类,前者主要用于衡量算法的收敛速度和收敛精度,后者则用来检验算法的全局搜索以及跳出局部最优的能力。测试基准函数的具体信息如表1所示。

表1 基准测试函数

3.3 测试结果与分析

为了验证ABALO算法的有效性,现将该算法与其他改进方式的蚁狮优化算法就算法测试结果的最优值、平均值(mean)和标准差(std)进行比较。其中包括标准蚁狮算法(ALO)、基于位置策略的蚁狮算法(LSALO)[9]40、自适应动态权重和高斯变异的蚁狮算法(GALO)[10]299、优选策略的自适应蚁狮优化算法(PSALO)[11]127、具有自适应边界与最优引导的莱维飞行蚁狮优化算法(ABLALO)[12]24和反调节混沌蚁狮优化算法(HALO)[20]。

由表2可知,在50维的参数设定下,ABALO不论是从收敛速度上还是收敛精度上都表现出较高的寻优性能,在9个测试函数中,100%优于ALO,全部为正优化。通过比较各个算法测试结果的平均值和标准差,可以看出在寻优精度上ABALO整体是高于ALO、GALO、PSALO、ABALO和HALO,且ABALO的最优值与平均值差距较小,这说明算法的鲁棒性较强。在函数F1(x)~F4(x)上,ABALO的寻优精度较高且较为稳定,收敛精度在平均值上较ALO分别提升了18、13、21和13位,与其他蚁狮优化算法差距较为明显,但是稍低于理论最优值。在函数F5(x)、F7(x)和F9(x)上,ABALO算法达到了100%寻优,即达到理论最优值。PSALO和GALO也在F7(x)和F9(x)上表现出较好的寻优精度,在F7(x)上达到了理论最优值。ABALO算法在F6(x)上寻优精度高于ALO,等同于PSALO和DFALO。由图5(f)可知,这是由于算法在迭代后期陷入局部最优解中且无法跳出。ABALO算法在F8(x)上寻优精度高于ALO、PSALO、LSALO和GALO,但直到迭代结束还未达到理论最优值。由图5(h)可知,这是由于算法虽没有陷入局部最优解中,但整体收敛速度稍微慢了点,导致精度较低。

表2 测试结果对比

(a)F1(x)收敛曲线 (b)F2(x)收敛曲线

经以上对测试结果的分析得知,ABALO算法在收敛精度和收敛速度上较其他蚁狮优化算法都有明显的提升,表现出较高的稳定性,但是在寻优精度上距离理论最优值还是有差距的,这也是ABALO算法存在的不足。

3.4 收敛曲线及分析

为了直观地看出ABALO算法的收敛特性,现将ABALO算法与标准ALO算法、PSO算法、PPSO算法和DE算法的迭代收敛曲线进行对比。图5(a)~图5(i)为9个基准测试函数在独立运行30次中的一次收敛曲线图。

由图5可知,经过改进ABALO无论是收敛速度还是收敛精度大体上都高于其他算法,停滞次数较少,基本不会处于局部最优值,与标准ALO算法相比,收敛精度和速度都有较为明显的提升。ABALO算法只有在F5(x)、F8(x)和F9(x)时达到理论最优值且一直保持,收敛性较好,其余测试函数都只是接近理论最优值。F1(x)、F3(x)和F4(x)在迭代前期收敛速度和精度都较优,但在迭代中期会短暂地陷入局部最优值中,导致精度没有达到理想数值。F2(x)的收敛速度在迭代前期较慢,但后期的收敛速度较前期显著提升。F6(x)在迭代过程的中后期会长时间陷入局部最优值,且不能很好地跳出,导致算法的寻优精度较差,但还是很明显地优于其他几个算法。F8(x)在迭代过程中收敛速度逐渐降低,并在迭代后期陷入局部最优值中,直到迭代结束都未能跳出。

以上分析表明ABALO算法在函数优化上具有良好的寻优性能,且收敛速度和精度较高,这是因为加入莱维飞行作为变异参数提升了算法的收敛速度,可以较好地摆脱局部最优解的困扰。通过对边界的自适应调整,提升了算法的收敛精度。除此以外,算法还具有较强的鲁棒性。

4 结束语

针对ALO算法收敛速度慢、寻优精度低和无法很好地摆脱局部最优解等问题,本研究提出了一种新的解决思路,引入Bernouilli shift混沌映射初始化种群,设置比例参数来控制蚁狮捕食蚂蚁的陷阱大小,大大地提升了算法的收敛速度;莱维飞行变异操作与动态参数结合共同控制迭代过程中蚂蚁位置的更新,提升了算法的寻优精度;最后使用9个多峰和低峰基准函数进行仿真实验。结果表明ABALO算法具有良好的寻优精度和收敛速度。

本研究通过测试函数对ABALO算法进行结果验证,虽在测试函数中取得良好的效果,但缺乏实际工程应用的检验,这也是本研究的不足之处。下一步可将ABALO算法应用于电网调度研究中,验证算法在实际工程应用中解决复杂问题的能力。

猜你喜欢

测试函数适应度蚂蚁
改进的自适应复制、交叉和突变遗传算法
我们会“隐身”让蚂蚁来保护自己
具有收缩因子的自适应鸽群算法用于函数优化问题
蚂蚁
带势函数的双调和不等式组的整体解的不存在性
基于空调导风板成型工艺的Kriging模型适应度研究
约束二进制二次规划测试函数的一个构造方法
蚂蚁找吃的等
面向真实世界的测试函数Ⅱ
少数民族大学生文化适应度调查