杨子琴
江南大学物联网工程学院 江苏 无锡 214122
各种群智能算法被应用在无线传感器网络方面,这些算法具有性能稳定、容易操作等优点。蚁狮优化算法(Antlion Optimizer, ALO)是由Seyedali在2015年提出的一种群智能算法[1]。该算法的思想是根据蚁狮构造陷阱捕食蚂蚁,蚂蚁逃离陷阱的行为。目前被用在航线规划[2]、天线布局优化[3]等领域。虽然蚁狮优化算法在各个领域表现出了优良的性能,但是其还是跟其他优化算法一样存在收敛速度慢以及容易陷入局部最优的问题。针对此问题,提出一种基于黑洞策略和反向学习的蚁狮优化算法。利用黑洞策略向精英蚁狮的位置靠近,从而提高算法的收敛速度。但是在向精英蚁狮靠近的时候,过多的蚂蚁聚集在精英蚁狮周围,使得蚂蚁种群的多样性降低,因此使用反向学习解决此问题。通过选择函数进行测试,所提出的算法具有良好的性能。
蚂蚁在自然界中可以随意活动,因此在建模中其在搜索空间内的运动过程也应该是随机的,具体行为定义为:
当一只蚂蚁落入一个由蚁狮搭建的陷阱时,蚂蚁会绕着陷阱随机游走,以便自己能够逃离陷阱,与此同时,蚁狮为了阻止其逃跑,会不断缩小陷阱的大小,使其无法逃离,定义为:
黑洞策略的概念源于外太空的黑洞现象。根据黑洞的概念,在黑洞策略中,将种群中最优个体作为黑洞,而其他个体作为正常的恒星,当恒星靠近黑洞时,就是当其他个体靠近最优个体时,其他个体根据自身的位置和随机数向最优个体移动的方向移动。受Hatamlou[4]和陈民铀[5]等人的启发,将黑洞策略引入到蚁狮优化算法中。在算法中设置一个阈值,并且产生一个随机数,比较它们的大小,如果小于等于时,蚂蚁的位置是通过原算法进行更新,反之若大于时,蚂蚁被黑洞捕获,蚂蚁的位置是通过黑洞策略进行更新,定义为:
运用此方法对经过黑洞策略后的蚂蚁个体,进行反向学习,最后将不同维度的反向解,进行组合得到新的解,比较原始解和反向解的适应度值大小,选择适应度值更优的进入下一次迭代中。由于使用了不同维度的反向解进行组合,可以达到丰富蚂蚁种群多样性的目的。
仿真实验在MATLAB2016(b)上进行,测试函数如表1所示,利用GWO[7]、ALO以及IALO进行求解,测试结果可以用来说明改进优化算法的性能。
表1 测试函数
各算法中设置30为种群规模,100为最大迭代次数。表2为各算法进行10次仿真结果的各项指标,其中为单峰函数,函数上改进的算法IALO的在四个指标中的最优值、平均值均优于GWO以及ALO,在最差值和方差优于GWO以及ALO在函数算法的各方面均为最优,从两个单峰函数的整体结果来看,IALO的寻优能力优于其他算法。对于多峰函数不同于只有一个最优值的单峰函数,它具有多个最优值。在求解函数时,IALO最优值1.91E-12优于其他算法的最优值。对于函数,GWO的最优值为5.15E-8低于IALO的最优值4.42E-05,但是其方差5.02E-02高于IALO的方差2.74E-03,因此IALO的稳定性能优于GWO。综合表2可以得出IALO的性能优于其他算法。
表2 测试函数寻优结果
本文针对蚁狮优化存在的缺点,提出一种基于黑洞策略和反向学习的蚁狮优化算法。该算法中,对蚂蚁的位置更新方式,利用黑洞策略进行更新,使蚂蚁个体快速地靠近精英蚁狮,从而快速收敛。然而该方式容易限制算法种群多样性,因此利用反向学习提高多样性。从仿真实验的结果来看,本文提出的方法提高了算法的寻优性能。