更多内容,第一时间发布,可以关注我的个人公众号:算法仓库
蝴蝶优化算法具有良好的全局搜索能力,能够在复杂的搜索空间中找到全局最优解,适用于解决多种优化问题。
虽然BOA算法在很多优化问题的求解中得到了应用,但研究也表明其仍然存在有陷入局部最优、后期种群多样性 降低等问题。
为解决上述问题,本文对其进行改进设计,主要在以下几个方面进行:
(1)引入反向学习。主要是为了在初始时构建精英 种群,提高搜索到最优解所在空间的概率,反向学习策略 如下:
式中:为第i只蝴蝶在第j维的值;为 的反向解;为精英反向学习系数,在[0,1]范围内随机取值; 和 分别表示 xi在j维中的最大值和最小值.
(2)引入柯西变异。对全局最优解所在位置进行柯西变异,增强算法跳出局部最优的能力,达到搜索到更优解的目的,对最优解进行柯西变异的方式如下:
Cauchy
式中:Cauchy(0,1)表示标准的柯西函数,为当前全局最 优解,为柯西变异后的全局最优解。从上式中可知,对最优解进行柯西变异,相当于在最优解周围进行了一次局 部的搜索。通过上式产生的新解,并不一定比原解更优。 因此,在计算中,如新解的适应度值更好,则对原解进行替换,否则保持不变。
(3)引入余弦指引机制。主要在蝴蝶种群完成全局和局 部搜索后,进一步对蝴蝶个体的位置进行优化更新,从而提 高蝴蝶种群的多样性和稳定性,引入余弦指引机制后的蝴蝶 位置更新公式为:
其中:决定了下一次迭代中第i只蝴蝶的移动方向;决 定了下一次迭代中第i只蝴蝶的移动距离,为[0,2π]范围内 的随机数;为权重系数,为[0,2]范围内的随机数; 决定 了蝴蝶是通过正/余操作进行位置更新,为[0,1]范围内的随 机数;为截止到当前的全局最优解。
在BOA算法中引入方向学习策略、柯西变异和余弦指 引机制后,就可以得到改进蝴蝶优化算法(IBOA),其主要流 程如图2所示。
仿真分析图:
结论:IBOA在求解精度和求解稳定性上均更胜一筹。IBOA在收敛速度和收敛精度上同样优势明显。对于改进其他算法具有很强的参考价值。
参考文献:邵长春等:基于改进蝴蝶优化算法的冗余机器人逆运动学求解
matlab源码获取链接: