-
人工蜂群算法 (ABC) 是文献[1]为解决函数优化问题而提出的。其原理是模拟蜜蜂的采蜜机制,通过不同分工的蜂群间相互协作完成进化搜索工作,具有操作简单、设置参数少、收敛速度更快、收敛精度更高的优点,已逐步应用到智能优化、模式识别、工业控制、图像识别、神经网络优化和聚类分析等[2-8]领域。
文化作为存储知识的载体在生物群体中不断的传递和继承,对种群进化的加速作用比单纯依靠基因遗传快,可以很好地指导生物个体行为[9]。多数学者研究进化算法主要集中在生物进化选择机理方面,本文将文化算法思想[10]嵌入到ABC中,提出一种自适应混合文化蜂群算法 (AMC-ABC)。首先,整个蜜蜂种群个体采用佳点集理论产生;其次,将蜜蜂种群分为群体空间、信念空间和外部空间,并引入云模型理论、差分变异策略和反向混沌理论改进3个空间内个体的进化方式;最后,通过影响函数完成整个群体知识的存储和传播。
HTML
-
为验证本文算法性能,以8个函数极值优化为例,与标准粒子群算法 (PSO)、经典遗传算法 (GA)、蛙跳算法 (SFLA) 和经典蜂群算法 (ABC) 的寻优性能进行对比。5种算法的种群个体均设置为100,最大进化次数均设置为4 000,寻优精度均设置为10×10-10,各测试函数独立运行20次;PSO运行参数:惯性因子0.729 8,自身因子1.496 18,全局因子1.496 18;GA运行参数:交叉概率${P_c}=0.8$,变异概率${P_m}=0.01$;SFLA运行参数:分为10个子群,每个子群10个青蛙,子群内部迭代次数为20次;ABC算法的${\rm{limit}}={\rm{100}}$,比较5种算法的最优结果、最差结果、平均结果、平均运行时间和方差。其中,最优结果、最差结果反映解的质量,平均结果显示算法所能达到的精度,平均时间反映算法的收敛速度,方差反映算法的稳定性和鲁棒性。
该函数是二维的复杂函数,具有无数个极小值点,最小值0。
该函数存在许多局部极小点,全局最小值0。
该函数全局最小值0。
该函数有一个全局最小值0。
该函数存在许多局部极小点,全局最小值0。
该函数有一个全局最小值0。
该函数存在许多局部极小点,数目与问题的维数有关,全局最小值0。
该函数是个多峰值的函数,全局最小值0。
从表 1~表 8的运行结果可知,AMC-ABC的求解精度和速度都要优于其他4种算法。从以下两方面进行分析:
算法 f1 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 1.410 6×10-12 0.009 7 9.72×10-4 22.957 3.53×10-1 GA 2.932×10-10 0.642 0. 261 25.687 1.62×103 SFLA 8.128×10-12 9.356×10-11 5.753×10-11 19.217 4.08×10-21 ABC 9. 153×10-12 8.197×10-6 2.173×10-8 15.361 7.19×10-10 AMC-ABC 8. 203×10-12 6.215×10-10 4.127×10-11 5.386 4.923×10-21 算法 f2 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 33.907 148.942 104.779 23.618 3.28E×10-1 GA 40.918 369.462 267.396 26.397 1.03×102 SFLA 2.098×10-4 9.359×10-2 5.256×10-3 15.496 7.31×10-5 ABC 3. 852×10-3 7. 265 6. 527×10-2 16.038 5.25×10-1 AMC-ABC 6.025×10-10 8. 307×10-8 3.418×10-9 6. 014 5.43×10-17 算法 f3 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 3.603×10-4 0.632 0.273 33.268 3.62×104 GA 5.038×10-2 7.62 4.826 36.623 5.43×105 SFLA -0.999 7.317 3.126 25.096 1.00 ABC 2. 295×10-2 8.015 4.095 17.629 6.21×102 AMC-ABC 2. 521×10-12 6.538×10-9 5.612×10-10 5.712 4.02×10-19 算法 f4 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 2. 138×10-10 9. 402×10-8 5. 504×10-9 33.405 2.63×10-13 GA 2.459×10-8 7.713×10-7 6.748×10-8 36.526 6.25×10-11 SFLA 3.261×10-11 6.237×10-9 7.139×10-10 19.185 7.39×10-14 ABC 3.258×10-10 6.132×10-7 5.359×10-9 15.712 6.31×10-13 AMC-ABC 6.307×10-12 8.125×10-9 4.146×10-10 5.729 4.28×10-19 算法 f5 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 9.667×10-5 0.019 9.81×10-4 132.875 1.25×10-5 GA 0.288 0. 716 0.392 148.28 5.38×101 SFLA 1.088×10-10 9.971×10-10 7.723×10-10 14.63 6.59×10-19 ABC 3. 127×10-6 5.157×10-2 8.302×10-4 18.03 5.34×10-4 AMC-ABC 2.719×10-12 7.627×10-10 5.841×10-10 6. 578 1.37×10-19 算法 f6 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 8. 416×10-5 3. 583 1.586 144.748 4.96 GA 2.783 11.687 7.539 162.846 1.07×102 SFLA 1.840 1.840 1.840 16.981 3.39 ABC 5.016×10-4 2.018 2.129 18.163 5.08 AMC-ABC 4.126×10-10 8.702×10-8 6.108×10-9 6.852 5.12×10-17 算法 f7 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 0.072 0.529 0.264 147.376 8.62×10-2 GA 1. 287 13.643 1.951 168.21 6.38×102 SFLA 0.029 0.121 0.067 15.284 5.21×10-3 ABC 0. 062 0. 561 0.301 18.581 4.28×10-2 AMC-ABC 6.267×10-11 8.137×10-8 6.01×10-9 6. 318 3.58×10-17 算法 f8 最优结果 最差结果 平均结果 平均时间/s 方差 PSO 5.952 40.732 17.725 139.393 4.31×102 GA 9.924 78.752 30.639 162.634 6.35×103 SFLA 4.767×10-11 1.989 0.597 13.671 9.91×10-1 ABC 5. 236×10-5 2.243 7.845 19.235 5.72×10-2 AMC-ABC 8.208×10-12 9.315×10-9 5.137×10-10 6.815 3.29×10-19 1) 对比最优结果、最差结果、平均结果可知,AMC-ABC的求解性能最好。①因为蜜蜂种群采用佳点集理论进行初始化,增加了蜜蜂个体快速定位到最优解的概率;②信念空间采用的云模型算法有益于最优个体向其附近更优值进行自适应定位,同时云模型的随机性又保持了蜜蜂个体的多样性,进而起到提高寻优性能和速率的作用;③由反向理论和混沌理论产生的个体变异,有利于算法在寻优后期增加个体多样性,可有效地在收敛区域以外空间搜索全局最优位置,进而改善算法在求解一些高维优化函数收敛速率慢、易早熟等问题。2) 对比运行时间和方差可知,AMC-ABC的性能要优于其他进化算法,分析其原因是:SFLA和ABC的进化方式较PSO和GA的简单,且调整参数少,同时它们利用小生镜的方式进行寻优,速度相对快一些。SFLA在分组内迭代一定次数后再重新分组,在一定程度上与ABC的经过${\rm{limit}}$次迭代后变成侦查蜂相似,所以二者的性能较相似。而AMC-ABC在进化过程中采用云模型和最优排序差分变异策略使得个体更新时既保持了随机性,又使得个体变化带有确定性,与经典算法的随机方式相比更易向最优解方向靠近。而基于最优觅食理论的群体空间更新机制有利于避免算法参数试算,虽然在每次迭代进化过程中增加了计算量,但通过迭代次数可以看出,其收敛的速度确实得到很大提高,使得运行时间较短。同时仿真结果表明AMC-ABC对高维多峰函数的求解具有很好的适应性。