当前位置:首页 期刊杂志

基于Tent映射的改进型人工蜂群算法

时间:2024-05-04

王贺琦,王 然,刘诗琳,唐浩桁,马云鹏

(天津商业大学信息工程学院,天津 300134)

384410733@qq.com;kad2001628@163.com;1595996480@qq.com;tanghaoheng@163.com;mayunpeng@tjcu.edu.cn

1 引言(Introduction)

群体智能(Swarm Intelligence)是指具有简单智能的个体通过相互协作和组织表现出群体智能行为的特性,具有天然的分布式和自组织特征。无论外界环境如何变化,蜜蜂总能找到蜜源和巢穴,对外界环境变化具有很好的适应性。蜜蜂属于群居性昆虫,其行为目标简单明确,各司其职,可以高效快速地找到蜜源。当外界环境变化时,蜜蜂可以灵活地调整劳动分工,如减少或增加采蜜的工蜂。针对以上现象和行为,文献[3]提出了ABC算法,并将其应用于函数的数值优化问题上,且取得良好的效果。类比自然界中的蜜蜂采蜜行为,ABC算法是将各蜜蜂的初始位置定义为搜索空间的初始点;把蜜蜂的进化和觅食行为模拟为种群个体更新机制;将蜜蜂对环境的适应性类比为解的适应度函数值;将蜜源的质量作为目标函数值。根据以上分析,ABC算法属于一种启发式迭代优化算法。

ABC算法具有控制参数少、全局优化能力强的优点,引起国内外研究学者的广泛关注,并将其成功应用于各个领域。然而,ABC算法仍存在一些不足,如局部搜索能力差、收敛精度低、收敛速度慢等。针对上述不足,文献[4]提出了分段式蜜源搜索半径公式,提高了算法的收敛精度和收敛速度,并采用改进的ABC算法对径向基神经网络的初始参数进行优化。文献[5]针对传统ABC算法收敛速度慢的问题,引入自适应参数,加快了算法的后期收敛能力,实验结果表明改进的算法收敛能力更强,收敛速度更快。文献[6]在ABC算法的跟随蜂阶段,使种群依概率进行反向学习代替跟随蜂搜索方式,雇佣蜂和侦察蜂阶段用以保证种群的探索能力以及种群的多样性。文献[7]运用最大最小距离积法处理初始蜜源,将K均值聚类算法与ABC算法相结合,提高了ABC算法的收敛速度,具有较好的解适应度。ZHU等人改进ABC算法的搜索模式来提高局部搜索能力,提出改进的ABC算法。文献[9]将交叉机制与全局最优解信息融入ABC算法,增强了ABC算法的开发能力和探索能力。曾志文等人提出一种双种群架构ABC算法,将交叉变异操作和最优解邻域搜索融入不同种群,提高了算法的寻优能力。

为进一步提高ABC算法的性能,本文提出一种改进的ABC算法(Modified Artificial Bee Colony,MABC)。首先,分别采用Tent混沌映射函数和反向学习机制初始化种群个体的位置,使初始解在搜索空间中的分布更加均匀,以增强种群的多样性,有助于提高算法的全局搜索能力;然后,在雇佣蜂阶段,将分组机制和惯性权值引入种群个体的更新机制中,以提高算法的收敛精度和平衡算法的探索能力与开发能力。

为验证MABC算法的有效性,本文应用13 个基准数学函数对MABC算法的收敛精度和全局搜索能力等性能进行测试。与原始ABC算法对比,实验结果表明MABC算法具有良好的收敛速度和收敛精度。

2 ABC算法简介(Introduction to ABC algorithm)

在标准ABC算法中,有三种角色:引领蜂、跟随蜂、侦察蜂。引领蜂又称为雇佣蜂,跟随蜂和侦查蜂被称为非雇佣蜂。ABC算法的搜索过程简要描述如下:首先,所有蜜蜂都是侦查蜂,在整个解空间随机搜索。当侦查蜂搜索到蜜源后,将蜜源质量信息带回蜂巢与其他蜜蜂共享,对侦察蜂带回的所有信息进行比较。当该蜜源的质量排名靠前时,该侦查蜂就转变为引领蜂,蜜源和引领蜂一一对应,另外招募到一些跟随蜂到引领蜂所在的蜜源附近搜索新的蜜源;当蜜源的质量排名居中时,该侦查蜂就转变为跟随蜂,然后根据一定的规则选择引领蜂,到引领蜂对应的蜜源附近进行搜索;当该蜜源的质量排名靠后时,该侦查蜂就放弃已经搜索到的蜜源,再次成为侦查蜂,在整个区域进行新一轮的随机搜索。

ABC算法在求解优化问题时,蜜源的位置代表优化问题的可行解,蜜源的质量代表优化问题的值,寻找蜜源的过程就是优化问题的过程,蜜源的最大质量即优化问题的最优解。在整个算法中,引领蜂和跟随蜂是为了加快算法的收敛,侦察蜂主要负责跳出局部最优解。

在该算法中,控制参数的设置能有效平衡全局搜索与局部搜索。如果引领蜂在其蜜源邻域搜索次数达到最大未更新次数时,仍没有找到适应度值更高的新解,表明这个解为局部最优值,就放弃该蜜源;然后,根据式(1)再次随机初始化该引领蜂的位置。

3 MABC算法(MABC algorithm)

3.1 初始解产生方式的改进

3.2 种群个体更新机制的改进

在原始ABC算法中,是[-1,1]之间的一个随机数。解更新操作对原个体的影响较小,保留了很多特征到新解,极大影响了种群收敛的速度和精度。另一方面,系数是一个随机数,不能动态地、自适应地改变搜索步长,造成了原始ABC算法随机性大的缺陷。本文采用一种新雇佣蜂更新机制,其基本思想如下:每次迭代更新前,找出当前解中最优秀的解向量,让较差解向最优解学习,让雇佣蜂根据式(7)进行更新,以便较快地提高算法的收敛精度和收敛速度。随着种群迭代的进行,在算法前期,较差解向最优解加速靠拢;在算法后期,较差解在其周围邻域内搜索。此外,引入惯性权值,如式(8)所示。惯性权值是非线性收敛因子调整策略,它是逐级递增的,前期距离控制参数较大,保证较少的特性遗留到下一代,搜索范围较大,因此有利于全局寻优;在迭代后期距离控制参数大,较多保留了上一代优秀解的特性,在优秀解附近进行精细搜索,有利于局部寻优,能够有效平衡算法的全局搜索能力和局部搜索能力。三角函数权值系数也有助于提高算法的运行速度和全局搜索能力。

4 MABC算法的性能测试(Performance test of MABC algorithm)

为验证MABC算法的性能,本文选用13 个经典数学函数集测试MABC算法的收敛速度和收敛精度。表1给出13 个函数的详细描述,包括函数表达式、解的取值范围、最优点的位置及最优值等。在表1中,F1—F7为单峰函数,用于测试MABC算法的收敛精度和求解能力;F8—F13为多峰函数,用于验证MABC算法的全局搜索能力。本文将MABC算法与原始ABC算法进行对比,两种算法的相关设置参数如表2所示。为验证算法的稳定性和对比公平性,每个算法独立运行20 次,每次迭代1,000 次,分别测试每个函数10 维、30 维、50 维的函数值,并求20 次最优函数值的平均值和均方差,实验结果记录于表3。平均值和均方差越小,说明算法的收敛精度和稳定性越好。表3中加粗的字体表示最优性能参数。本文采用的实验设备为:64 位MateBook X Pro 2019款笔记本;处理器型号为:Intel(R) Core(TM) i5-8265U CPU @1.60 GHz 1.80 GHz;运行内存为8.00 GB;仿真软件为:MATLAB 2014b。由表3可知,相较于ABC算法,MABC算法在F1、F2、F3、F4、F7、F9、F10、F11、F12等9 个函数上取得更小的最优解的平均值和均方根误差,说明MABC算法具有良好的收敛精度和稳定性。虽然ABC算法在F5、F6、F8及F13等4 个函数上表现出较好的收敛精度和稳定性,但两种算法在收敛精度上差距不大。

表1 经典测试函数集Tab.1 Classic test function set

表2 初始参数设置Tab.2 Initial parameter setting

表3 测试结果Tab.3 Test results

为了更加直观地对比MABC算法与ABC算法的收敛性,图1—图8分别给出部分函数在两个算法中某个维度的仿真图,其中MABC算法用虚线表示,ABC算法用实线表示。由8个仿真图可知,无论是单峰函数还是多峰函数,MABC算法的收敛速度和收敛精度明显优于原始ABC算法。综上所述,MABC算法具有良好的收敛速度和全局搜索能力。

图1 F1=10适应度值对比Fig.1 Comparison of fitness value of F1 with dim=10

图2 F2=30适应度值对比Fig.2 Comparison of fitness value of F2 with dim=30

图3 F5=50适应度值对比Fig.3 Comparison of fitness value of F5 with dim=50

图4 F7=30适应度值对比Fig.4 Comparison of fitness value of F7 with dim=30

图5 F8=30适应度值对比Fig.5 Comparison of fitness value of F8 with dim=30

图6 F9=50适应度值对比Fig.6 Comparison of fitness value of F9 with dim=50

图7 F10=30适应度值对比Fig.7 Comparison of fitness value of F10 with dim=30

图8 F13=50适应度值对比Fig.8 Comparison of fitness value of F13 with dim=50

5 结论(Conclusion)

为进一步提升ABC算法的性能,分别对ABC算法的种群个体初始化方式和雇佣蜂阶段的种群个体更新机制进行改进。应用Tent混沌映射函数和反向学习机制对种群个体的位置进行初始化,增强了初始个体在解空间的均匀分布性,提高了种群个体多样性。在雇佣蜂阶段,引入新型惯性权值和改进种群个体更新机制,有利于提高收敛速度和平衡算法的全局探索能力及局部开发能力。通过13 个基准测试函数的验证,实验结果显示MABC算法具有良好的收敛速度和全局搜索能力。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!