一种基于非线性惯性权重的海鸥优化算法
文章目录
- 一种基于非线性惯性权重的海鸥优化算法
- 1.海鸥优化算法
- 2. 改进海鸥优化算法
- 2.1 改进海鸥优化算法惯性权重
- 2.2 莱维飞行
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.Python代码
摘要:针对海鸥算法(SOA)在求解最优化问题中的不足和算法性能依赖于参数的选取等缺点,提出一种基于惯性权重的海鸥优化算法(Inertia Seagull optimization algorithm,I-SOA),采用非线性递减的惯性权重计算附加变量A的值来调整的海鸥的位置,通过莱维飞行和随机指数值增加海鸥飞行的随机性,增强算法搜索寻优的全局能力,避免算法寻优搜索陷入局部优值;
1.海鸥优化算法
2. 改进海鸥优化算法
2.1 改进海鸥优化算法惯性权重
海鸥的迁徙行为是海鸥优化算法的一个重要 部分, 其中附加变量 用来控制海鸥群位置, 避 免海鸥在飞行的过程中发生个体间的碰撞, 不产生 重复的优化值, 附加变量
对解决优化问题以及 平衡算法有着重要作用。常用的
的更新方式如 下:
其中, 为当前迭代次数; maxgen 为最大迭代 次数; fc 为频率控制参数, 初始值设置为 2 ; 式 (11) 表示
的值由 2 线性递减至 0 。记海鸥优化算法为 SOA。
本文提出的非线性递减控制因子的海鸥优化 算法 (I-SOA), 该方法中 A 的值在递减的过程中 呈现一个非线性的变化趋势, 可以更好的改善全局 寻优能力, 每次迭代既能避免海鸥之间的位置冲突, 也可以更好的平衡探索与开发。该策略可以被形式 化描述,如式 (12) 所示:
其中, 为算法当前执行迭代次数,
2.2 莱维飞行
莱维飞行提供了一种随机游走机制来正确控 制局部搜索, 这种机制被用来进一步缓解 SOA 过 早收玫的缺点, 它是由法国数学家 Paul Levy 提出,
其中, 是 Gamma 函数,
表示步长,
。
增加莱维飞行后更新的海鸥群体更新位置算法部分为:
3.实验结果
4.参考文献
[1]秦维娜,张达敏,尹德鑫,蔡朋宸.一种基于非线性惯性权重的海鸥优化算法[J/OL].小型微型计算机系统:1-8[2021-05-06].http://kns.cnki.net/kcms/detail/21.1106.TP.20210330.1445.028.html.
5.Matlab代码
6.Python代码