摘 "要: 针对人工蜂群算法在处理复杂问题时易陷入局部最优的不足,提出一种自适应人工蜂群算法(APABC)。通过蜂群寻蜜的加速度系数随搜索过程而动态适应变化来提高算法的局部搜索性能,引入搜索蜜源能力较差的观察蜂向能够寻觅到更多蜜源的引领蜂学习交互策略,来进一步提高算法的全局搜索性能。将APABC算法与ABC算法进行性能对比测试,测试结果表明文中算法具有较快的收敛速度和较高的寻优精度,计算结果优于传统的ABC算法。
关键词: 人工蜂群算法; 自适应; 局部搜索; 和声微调幅度; 加速度系数; 差分学习; 收敛速度; 寻优
中图分类号: TN919⁃34; TP18 " " " " " " " " " " " 文献标识码: A " " " " " " " " " "文章编号: 1004⁃373X(2024)21⁃0183⁃04
Adaptive improved artificial bee colony algorithm
XU Jie, ZHU Jingjing, NIU Sijie, WANG Zhifeng
(School of Intelligent Manufacturing and Control Engineering, Shanghai Polytechnic University, Shanghai 201209, China)
Abstract: An adaptive artificial bee colony (APABC) algorithm is proposed to eliminate the disadvantage of falling into local optimum when dealing with complex problems. By dynamically adapting to changes in the acceleration coefficient of bee colony honey seeking along with the search process, the local search performance of the algorithm is improved. The interaction strategy of observing bees with poor ability of honey source searching learning from leading bees which can find out more honey sources is introduced to further improve the overall search performance of the algorithm. The performance testing of APABC algorithm and ABC algorithm are performed. The testing results show that the proposed algorithm has fast convergence speed and high optimizing accuracy, and its calculation results are better than those of the classical ABC algorithms.
Keywords: ABC algorithm; self⁃adaption; local search; BW; acceleration coefficient; differential learning; convergence speed; optimizing
0 "引 "言
人工蜂群算法是一种新兴的集群智能优化算法,无论在理论方面,还是在实际应用方面,它都受到广泛关注[1]。由于其在多个领域表现优异,已成为生物智能计算领域中的重要优化算法[2]。然而,作为一种基本的蜂群算法,它存在容易陷入局部最优解和演化后期收敛速度较慢等问题[3]。
ABC算法存在一个根本性问题,即在后期难以保持群体的多样性。侦查蜂在寻找新蜜源时采用一种称为“贪婪算法”的策略,导致群体的活动趋向一致性。而且,一旦找到局部最优解,算法无法快速朝向全局最优解前进,容易陷入局部最优解。为了解决这个问题,许多研究者采取了不同的优化方法,并取得了一定的成果。在文献[4]中,加入了局部搜索算子,搜索局部区域的最优蜜源,以解决算法过早收敛的问题。文献[5]提出了一种动态调整子种群个体数目的方法,以增强局部搜索能力。文献[6]使用了一种基于邻域半径的新选择方法生成最优种群。
为了克服上述问题,本文进行了改进,以防止算法陷入局部最优解并提高性能。经过实验验证,改进后的人工蜂群算法能够有效预防模型陷入局部最优解。
1 "人工蜂群算法
在自然界中,蜜蜂群体主要由三个部分构成:引领蜂(雇佣蜂)、观察蜂和侦察蜂。根据三种不同种类的蜜蜂在蜂群中的行为方式,创建了一种名为ABC算法的迭代算法。
初始化阶段的初始食物源位置是在一个参数范围内随机获得的。
[xji=xjmin+rand(0,1)(xjmax-xjmin)] (1)
式中:[i=1,2,…,N],[N]为蜜源个数即解的个数;[j=1,2,…,S],[S]是解的维数[7]。初始化后,蜂群(引领蜂、观察蜂和侦查蜂)会经历一系列的循环搜寻。
1) 引领蜂根据蜂群自身的局部信息(视觉信息)对蜜源定向定位,并寻找邻近的蜜源,对其品质评价。在ABC中,通过式(2)来查找附近的蜜源。
[xji=vji+φji(xji-xjk)] (2)
式中:[vji]表示搜索到的新食物源;[xjk]表示从种群中随机选取且与[xji]不同的食物源,[xji]也是随机选取的食物源,[i]∈[[1,N]],[j]∈[[1,S]],[k]为整数随机变量,是一个在[[1,N]]中不等于[i]的下标[8];[φji]表示范围为[-1,1]的随机实数。当新的蜜源形成时,采用贪婪选择法选择其中的优质蜜源。对于新解超出范围时,可以替换为它们相应的上、下界,即:
[xji=xmini, " " xjilt;xminixmaxi, " " xji≥xmaxi] (3)
2) 雇佣蜂选中相应的引领蜂,计算得到适应度值,并按照与其适应度值成正比的轮盘选取机制,评估蜜源的质量。该算法在引领蜂群寻蜜时期使用了贪婪选择策略,使得雇佣蜂能够挑选出较优质的蜜源,并产生正反馈。
在引领和观察蜂群都完成搜索之后,侦察蜂会对其中的资源进行检测,以确定是否存在资源枯竭的情况。该算法利用一个计数器记下更新的次数,以决定是否要丢弃食物源。
2 "改进人工蜂群算法
2.1 "改进蜜源自适应搜索机制
在传统人工蜂群算法里,引领蜂寻找到新蜜源只与原始蜜源有关,且步长为定值。遇到复杂问题时收敛过程较慢且最优解的精度不高。受文献[9]的启发,本文引用动态变化的AP代替原始步长。在和声搜索算法中,为实现有效的全空间搜索,将搜索重点集中于性能高的区域,以提高算法效率,采用动态变化的和声微调幅度BW,较大的BW值使算法容易跳出当前搜索空间的局部最优解,而较小的BW值则有利于算法更深入地探索局部区域。因此,本文中自适应搜索算子AP是相比和声搜索算法中BW蜂群寻蜜的微调振幅,AP的数值越大使算法更易于跳出局部极值,而AP的数值越小使算法更易于对局部区域进行精细搜索。所以,要对整个空间进行高效的搜索,并将搜索的焦点尽量聚焦在性能高的区域上,从而提高算法的效率。因此,本文AP由大到小变化,其公式如下:
[AP(t)=APmaxelnAPmin APmaxNI×t] (4)
式中:[t]是迭代数;NI表示最大迭代数。AP从初始的最大值随时间呈指数下降,在[t]接近NI时,AP接近于最小值。
AP的指数曲线变化如图1所示。
在搜索阶段,可以使用更大的AP,在算法搜索的后期,选择更小的AP有利于在小区域内进行更细致的搜索。这使得算法能够跳出局部极值点,继续搜索模型中的其他解,进而获得全局最优解。
2.2 "多项式差分学习
智能算法具有一定的随机特性,无法保证全局搜索到所有解,极易陷入局部极小值。故在观察蜂阶段,将寻找到的蜜源分别向最多蜜源位置的学习随机交叉,动态产生新蜜源向量的第[j]([j]=1,2,…,[N])维分量[xnewj],即:
[xnewj=xminj+rand(0,1)×2(xmaxj-xminj)] (5)
式中[xmaxj]代表最大蜂源矢量中的第[j]维成分;[xminj]表示最差蜂源矢量中的第[j]维成分。该方法利用搜寻到最差食物源的蜂群在其邻近的对称区间上的随机学习[10],有效地挖掘其邻近的蜜源信息。特别是在优化初期,各品种间的蜜源品质差异明显。用寻找最优蜜源来指导新的蜜源,当前搜寻到最差蜜源的蜂群向寻到最优蜜源的蜂群学习,使其能够快速地向搜寻到最优蜜源的蜂群聚集,根据蜜源的适应度对整体蜜源排列和挑选,放弃效果较差的蜜源,保留适应度值高的精英蜜源,避免无效邻域搜索,减少了迭代次数,加速算法的收敛精度。从而提升蜜源搜索算法的全局搜索性能。
2.3 "改进后人工蜂群算法的步骤
改进后人工蜂群算法的步骤如下。
步骤1:初始化算法参数,包括算法最大迭代次数iterMax和蜂群总数[N],采用公式(1)初始化种群[X],初始化成功历史记录存储在empty_Bee。
步骤2:引领蜂以式(4)代替式(2)的随机选择部分,在初始蜜源位置搜索邻域以更新下一代蜜源位置,并计算初始种群中食物源的适应度值。
步骤3:雇佣蜂搜索阶段。每个雇佣蜂根据其成功历史记录,运用轮盘赌的方法计算新食物源的适应度值,依据贪婪选择策略保留食物源,将大概率的部分采用式(4)改进的自适应搜索机制来搜索新食物源,小部分用式(5)多项式差分学习的方法,在最高适应度的蜜源邻域寻找新食物源,并记录食物源信息值Trial。
步骤4:侦查蜂搜索阶段。若某食物源经过计数limit后仍然没有变化,且适应度比历史存储的适应度小,则使用式(1)随机初始化一个新的食物源代替该食物源,此时的雇佣蜂变成侦查蜂。
步骤5:判断是否满足结束条件,若满足,算法结束;否则,重复步骤2~步骤4。
步骤6:输出最优解。
改进后人工蜂群算法流程如图2所示。
3 "仿真实验
为了验证提出的APABC算法有效性,本文将与经典的ABC算法、文献中的IABC[11]和PSO[12]三种算法在4个经典测试函数下进行优化求解。在4个测试函数中,[f1]、[f2]为单峰函数Sphere和Rotated hyper⁃ellipsoid,[f3]、[f4]为多峰函数Rastrigin和Griewank[13]。其中,[f1]~[f4]函数的维度设置为固定维度5维。每个算法单独运行30次,最大迭代次数为200次。
改进算法中种群大小取100,以实际输出标记值与期望输出标记值的差的平方和作为目标函数[14]。仿真数据以最优值、平均值和均方误差(MSE)表示,均方误差是衡量参数精确度的指标,MSE值越小,则参数的精度越高。
四个目标函数的实验对比结果如表1所示。
将改进的ABC算法与典型的ABC算法进行参数优化,各独立运行30次,取各自30次运行中迭代完成后目标函数值最小的一次做实验对比。如图3~图6所示,分别给出了算法在4个经典测试函数优化下的进化曲线结果,算法性能优劣体现在其目标函数值和收敛速度上,通常和目标函数值呈反比,与收敛速度呈正比[15]。
从图3~图6可以看出,APABC算法在收敛速度和收敛精度上都有着明显的优势,尤其是在收敛速度方面,APABC算法要比ABC算法快得多。此外,在收敛精度上,APABC算法也要比ABC算法更高,这表明APABC算法可以更加准确地捕捉到最优解。
从表1的实验结果和图3~图6中函数的进化曲线可以看出,APABC算法对于4个标准函数优化的寻优精度得到了根本性的提高。此外,与传统的ABC算法相比,APABC算法收敛速度也更快。
4 "结 nbsp;语
对于经典的ABC算法,步骤相对固定。而本文提出的改进人工蜂群算法,将自适应融合到ABC算法中,在求解过程中,使得ABC方法在初始阶段可使用动态适应的步长寻求新解,从而更容易避免陷入局部极值。这不但保留了人工蜂群算法简单易实现的优势,而且利用自适应函数,在保证群体多样性的同时,采用自适应的权重更新策略使得搜索得到的解质量明显增强,提高了收敛的准确度和对空间的探查能力,避免了ABC算法容易陷入局部最优解的缺点。
本文提出的基于自适应的人工蜂群算法不仅仅是在算法上的完善,更反映了进化过程和搜索在形式上的相互补充。在具体使用时,因为其本身的特性,也可以很好地解决一些较复杂的优化问题。
注:本文通讯作者为徐洁。
参考文献
[1] 张业清,李婧芳,胡鹏伟.基于模拟退火思想的改进人工蜂群算法[J].软件,2020,41(7):15⁃21.
[2] 贺佳琳.基于改进人工蜂群算法的含DG配电网无功优化的研究[D].郑州:华北水利水电大学,2020.
[3] 李东麟,朱建宏,王华广,等.基于改进人工蜂群动态规划的厂级负荷优化分配[J].热力发电,2022,51(3):153⁃158.
[4] 姚江云,吴方圆.基于混合搜索蜂群算法的机器人轨迹规划[J].自动化与仪表,2022,37(10):40⁃43.
[5] WANG H, WANG W J, XIAO S Y, et al. Improving artificial bee colony algorithm using a new neighborhood selection mechanism [J]. Information sciences, 2020, 527: 227⁃240.
[6] 陶霜霜,胡天乐,许崇海,等.基于Payload2Vec的Tor匿名网络流量识别和分类[J].网络安全技术与应用,2023(6):10⁃14.
[7] 赵恪振.基于改进人工蜂群算法的云资源调度策略[J].计算机时代,2023(11):1⁃5.
[8] 刘晓芳.求解全局优化问题的人工蜂群算法的改进研究及应用[D].厦门:华侨大学,2018.
[9] 花胜强,陈意,郑慧娟,等.和声搜索改进的形态学分析在库区漂浮物体量预估中应用的研究[J].水力发电,2022,48(9):108⁃113.
[10] 姜云.灰狼优化混合算法及其K⁃means聚类优化研究[D].新乡:河南师范大学,2021.
[11] 陶涛,毛伊敏.基于MapReduce和改进人工蜂群算法的并行划分聚类算法[J].科学技术与工程,2021(21):8989⁃8998.
[12] 刘树赵,邹德旋,罗鸿赟,等.改进遗传算法求解旅行商问题[J].计算机时代,2023(5):66⁃71.
[13] 张领先,谢长君,杨扬,等.基于改进混沌粒子群的PEMFC模型参数辨识[J].电工电能新技术,2023,42(1):29⁃39.
[14] 江威.基于改进和声搜索算法的模糊Petri网自适应能力研究[D].吉首:吉首大学,2021.
[15] 刘继宗,吴小平,孔维华.基于鱼群优化算法的有轨电车用燃料电池混合动力系统参数配置[J].吉林大学学报(工学版),2022,52(9):2004⁃2013.
作者简介:徐 "洁(1979—),女,上海人,硕士研究生,讲师,主要研究领域为控制理论与控制工程。
朱晶晶(2000—),女,安徽人,硕士研究生,主要研究领域为智能优化算法及应用。
牛思杰(2000—),女,江苏人,硕士研究生,主要研究领域为机器视觉图像处理、虚拟仿真。
汪志锋(1970—),男,安徽人,博士研究生,教授,主要研究领域为工业过程控制、图像处理、虚拟仿真。