蜂群算法是受到自然界的蜜蜂行为启发而提出的一种比较新的元启发式优化算法。根据不同的机理,蜂群算法可分为两大类:基于蜜蜂繁殖机理的蜂群算法(BCO on propagating)和基于蜜蜂采蜜机理的蜂群算法(BCO on gathering)。61719
对于基于繁殖机理的蜂群算法。Abbass发展出一种蜜蜂繁殖优化模型(BMO,Bee Mating Optimization)[14~15]。 Bozorg Haddad和A.Afshar共同将其发展并应用基于离散变量的水库优化问题中[16]。随后,Bozorg Haddad等将同一理论在三种数学问题的测试平台上进行了应用[17]。
而对于基于蜜蜂采蜜行为的蜂群算法,Yang发展出一种虚拟蜜蜂理论(VBA,virtual bee algorithm)[18]来解决数值优化问题。2005年,Karaboga提出了人工蜂群算法(Artificial Bee colony,ABC)[19]。随后,Karaboga和Basturk成功将ABC算法应用于无约束函数优化问题[20]。2007年Karaboga提出了用于解决约束数值优化问题的人工蜂群算法,通过对13个标准的约束性优化问题的测试,以及与差分进化算法(DE)、微粒群算法(PSO)的比较,实验结果表明改进的蜂群算法可以有效的解决约束性的优化问题[21]。
路径优化方面, 2007年,新加坡南洋大学的Li.Pei Wong等[22]人应用ABC算法成功地解决了车间作业调度问题;2008年,他们又在此基础上结合2-Opt方法,很好地解决了旅行商问题[23]。2008年,Alok Singh[24]利用人工蜂群算法在一个给出的无向带权图中成功找出具有叶子约束的最小生成树。在国内,河海大学的丁海军、李峰磊[25]成功地将人工蜂群算法应用到解决TSP问题上,并且提出了参数选取的改进,取得很好的效果。2009年,南京航空航天大学的胡中华、赵敏[26]利用人工蜂群算法,将机器人路径空间以网格划分,通过固定起始节点和设定最大允许路径节点数等方法解决了人工蜂群算法应用于路径规划的两个难题一一路径节点不固定和邻域构造困难,实现了将ABC算法应用于路径规划问题中。同年,李瑞明[27]利用人工蜂群算法结合遗传算法中的变异操作对工件尺寸有差异的单机批调度问题进行了成功优化。杨进、马良[28]将蜂群算法应用于解决VRP问题,通过计算若干benchmark问题,并将结果与其他算法相比较与分析,验证了算法的有效性。
为了克服ABC算法的早熟收敛问题,加快收敛速度、文献综述提高算法寻优能力,许多学者对ABC算法做了改进。2009年,丁海军、冯庆娴[29]提出了一种基于Boltzmann选择机制的人工蜂群算法,并用来优化多变量函数;Mohanmmad等[30]提出了一种基于指数分布式的自适应变异步长机制的人工蜂群算法,使算法搜索方程中的搜索步长自适应的变化以动态的控制蜂群的开发和探索;Wei-ping Lee等[31]在ABC算法中引入种群多样性的判别机制,使侦察蜂决定使用那种机制探索蜜源。另外,将ABC算法与其他智能优化算法相结合,如Shi等[32]提出了一种基于PSO和ABC的混合算法,为了使粒子群和蜂群之间交互式的分享信息,引入两种信息交换机制,以提高算法的整体寻优能力;借鉴遗传算法中的交叉选择特性,罗钧等[33]提出一种遗传算法和蜂群算法相结合的算法,增强种群的多样性,有效降低种群个体陷入局部极值的概率。
目前,对人工蜂群算法主要是从算法的性能和应用方面进行研究,已有研究结果表明,该算法具有极好的鲁棒性和广泛的适用性,但人工蜂群算法的研究的水平还较低,国内外的学者都在不断设法改进人工蜂群算法的不足,以提高算法的适用性。