基于小范围淘汰的初始化方法
根据人工蜂群算法的机制我们可以看出,算法的初始化对算法的影响较大,初始化的蜜源如果在解空间中分布的不够均匀,覆盖解空间的范围小,将会限制算法在解空间中的搜索范围,导致对解空间中的一些区域搜索不到,影响算法的全局搜索能力。初始化中若蜜源分布过近会影响算法的性能。如图所示
个体分布不均示意图
发生如上图所示的情况,初始种群中 A,B 出现扎堆现象,A,B 的搜索范围的很大一部分发生了重叠,这将会导致多个个体对同一区域进行重复搜索,浪费搜索资源,并且还有可能导致解空间中一些其他区域因为覆盖不到而无法搜索。因此,为了使初始化的种群在解空间中分布的更加均匀,本文基于贪心算法的贪心选择思想设计了一种小范围淘汰的初始化方法,通过比较种群中距离较近的两个个体的优劣程度,淘汰掉较差的个体,避免了种群中的个体因为距离过近所产生的重复搜索现象。具体操作方法如下:
(1)初始化若干倍种群规模的蜜源;
(2)计算每一个蜜源的适应度值及蜜源两两之间的距离;
(3)找出距离最近的两个蜜源,比较两个蜜源的适应度值并剔除掉适应度值较低的那一个;
(4)重复第(3)步直至剩下种群规模规定的数量的蜜源。
这样做可以将蜜源尽可能的在解空间中分布均匀,使用更少的个体覆盖了更大范围的解空间,增强算法对解空间的全局搜索能力。