收敛因子和黄金正弦指引机制的蝴蝶优化算法
文章目录
- 收敛因子和黄金正弦指引机制的蝴蝶优化算法
- 1.蝴蝶优化算法
- 2. 改进蝴蝶优化算法
- 2.1 收敛因子
- 2.2 黄金正弦指引机制
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:针对蝴蝶优化算法(butterfly optimization algorithm,BOA)中存在的局部开采和全局探索能力不均衡,易陷入局部最优值,收敛精度低等缺陷,提出收敛因子和黄金正弦指引机制的蝴蝶优化算法(convergence factor and gold sinusoidal guidance mechanism of butterfly optimization algorithm,AGSABOA)。受到鲸鱼优化算法的启发将收敛因子融入算法的全局位置更新处,提高算法全局搜索的多样性;结合黄金正弦指引机制,弥补BOA算法迭代后期种群多样性下降,易陷入局部最优的不足。
1.蝴蝶优化算法
2. 改进蝴蝶优化算法
2.1 收敛因子
为进一步增强 BOA 算法的探索能力和提高收玫精度, 受到鲸鱼优化算法的启发, 将鲸鱼优化算法中非线性收玫 因子 引入基本蝴蝶优化算法的全局位置更新处, 希望迭 代前期 值较大以增强全局勘探能力且递减速度较快, 而 迭代后期 值收玫到较小值且递减速度变缓慢, 以实现前 期快速收玫, 提高算法后期的收玫精度。 随着迭代次数的 增加由 2 减小到 0 。公式如下
式中: 是当前迭代次数, 是最大迭代次数。
改进后全局位置更新公式如下
2.2 黄金正弦指引机制
黄金正弦算法 (golden sine algorithm, Golden-SA)
是 Tanyildizi 提出的新型元启发式算法。根据正弦函数定义 中与单位圆的关系, 遍历单位圆上所有正弦值的行为与优 化算法中搜索代理在搜索空间中进行寻优的原理是一致的, 受此启发产生了黄金正弦算法。在该算法中, 创建随机个 体的数量与每个具有均匀分布的搜索代理的数量相同。与 其它元启发式方法相比, Gold-SA 具有更少的依赖于算法 的参数和运算符, Gold-SA 算法通过使当前解空间更接近 目标值的方式来搜索以在每次迭代中得到更好的搜索空间, 搜索空间被黄金比例系数缩小以便获得更小的解空间而不 是整个解空间, 从而有效提升寻优速度。黄金正弦算法的 具体定义及推导过程请参考文献
Gold-SA 算法的主要过程是其解的更新过程, 首先随 机产生 个个体的位置, 假设优化问题的每个解对应搜索 空间中对应个体的位置, 并用 表示 维个体空间中第 个个体的解向量, 是最大迭代次数, 是第 次迭代中的最 优位置, 第 个个体位置更新公式如式 (6) 所示
式中: 和 是随机数, 决定算法在下一次迭代中个体的 移动距离, 控制下一次迭代中第 个个体的 位置更新方向, 和 是引人黄金比例系数获得 的系数, 它们缩小了搜索空间, 并且指引个体逐步向最优值 靠近, 提高了算法的收玫速度, 黄金分比例系数 是一个无
理数 , 和 的初始值取 和 , 在迭代过程中, 和 的值会随着目标函数值的变化而变化, 和 的值也随之更新。
本文将黄金正弦算法作为局部算子融人基本 中, 在迭代后期对整个 BOA算法进行黄金正弦优化, 能够弥补 算法在迭代后期的收玫速度慢, 收玫精度不高的缺陷, 基 本的 算法在局部搜索阶段采用随机游走的方式, 搜索 空间比较广泛; 然而元启发式算法的主要目标是探索被认 为是最佳搜索空间的区域, 并确保尽可能完整地扫描这些 区域, 搜索空间的广泛性是解决问题的主要问题。在解决 问题时缩小搜索空间的效果会显著影响寻优效果, 而在 Gold-SA 算法中的参数 和
3.实验结果
4.参考文献
[1]高文欣,刘升,肖子雅,于建芳.收敛因子和黄金正弦指引机制的蝴蝶优化算法[J].计算机工程与设计,2020,41(12):3384-3389.
5.Matlab代码
6.Python代码