机器人路径规划_人工蜂群算法
原理
ABC(Artificial BeesColony)算法最先由Basturk等人提出并应用于函数优化问题,蜂群采蜜行为与函数优化问题对应关系如表1所示。由表1可知,ABC算法中,蜜源的位置对应函数优化问题的一个可行解,而蜜源的收益度(蜜量)对应问题的适应度(函数值),寻找并采集蜜源的速度对应问题求解的速度。算法中参数描述为:NE 为采蜜蜂数量;NO 为跟随蜂数量;NS 为蜜蜂总数;Q 为解空间维数;MCN 为最大循环迭代数;Limit 为采蜜蜂持续保持不变代数;Cycle 为当前迭代数。
初始化时,随机生成NS 个可行解,计算函数值,将排名前50%的解作为蜜源位置,即前50%为采蜜蜂,后50%为跟随蜂。蜜源个数始终是NE 个,不会随着迭代的进行而改变。具体随机产生的可行解为
式中 j∈{1,2,···,Q }为Q维解向量的某个分量。
采蜜蜂记住自己以前的最优解,在采蜜源附近邻域搜索,搜索公式为
式中j∈{1,2,···,Q},k∈{1,···,i-1,i+1,···,EN},即k 随机生成,且k≠ , 为[-1,1]之间的随机数,随着迭代次数的累加, 之间的距离缩小,搜索的空间也缩小,也即搜索的步长缩小,动态的调整步长,有助于算法提高精度,并最终获得最优解,非常接近最优解的次优解。
采蜜蜂采用贪婪准则,比较记忆中的最优解和邻域搜索解,当搜索解优于记忆最优解时,替换记忆解;反之,保持不变。在所有的采蜜蜂完成邻域搜索后,采蜜蜂跳摆尾舞与跟随蜂共享蜜源信息。跟随蜂根据蜜源信息以一定概率选择采蜜源,蜜量大的采蜜蜂吸引跟随蜂的概率大于蜜量小的采蜜蜂。同样,跟随蜂在采蜜源附近邻域搜索,采用贪婪准则,比较跟随蜂搜索解与原采蜜蜂的解,当搜索解优于原采蜜蜂的解时,替换原采蜜蜂的解,完成角色互换;反之,保持不变