2026年6月中科院一区SCI-重球优化算法Heavy Ball Optimizer-附Matlab免费代码

引言

近年来,在合理框架内求解优化问题的元启发式算法的发展引起了全球科学界的极大关注。本期介绍一种新的创新算法------重球优化算法Heavy Ball Optimizer,HBO。该算法这是一种基于物理启发的基于种群的算法,源自经典的重球方法。该算法集成了三个主要组成部分:用于增强探索的重球搜索规则(HBSR)、用于平衡探索和开发的有效重球策略(EHBS)和用于提高收敛速度和稳定性的加速收敛机制(ACM)。于2026年6月最新发表 在 JCR 1区,中科院1区、新锐1区期刊 Communications in Nonlinear Science and Numerical Simulation。

注:本公众号轻理论,重代码分享

请下载原论文细读

小编能力有限,如有翻译不恰之处,请多多指正~

"参照、模仿、思考,站在巨人肩膀,才能看得更远"

文末下载代码

02. 数学建模

本节介绍了所提出的HBO的概念,这是一种基于HBM的基于人群的元启发式算法。本节详细介绍其灵感来源、制定过程、数学模型和实现步骤。HBO通过三个关键的操作规则定义了搜索路径:1.重球搜索规则(HBSR)2.有效的重球策略(EHBS),以及3.加速收敛机制(ACM)。这些规则对于增强对最优解的探索至关重要,从而与原始HBM相比显着提高了搜索过程的整体效率。

1.初始化。 与其他优化算法类似,通过在定义的决策空间范围内随机初始化种群来开始搜索优质解决方案。

  1. 重球搜索规则(HBSR)。在重球搜索规则中,对矢量的运动进行策略引导,使搜索过程在可行域内加快,并识别出最优位置。为了提高勘探能力,加速HBO的融合,HBSR是基于GD原理发展起来的。具体来说,HBSR来源于基于梯度的HBM。在本研究中,使用了Eq.(2)中描述的HBM的一个新变体来制定所提出的优化器,其定义为

在α(步长)和β(动量)是HBM的参数。如果α太大,HBO可能会出现分歧,而如果α太小,HBO就会收敛得很慢。另一方面,β通过考虑过去的梯度方向有助于加速收敛,并减少梯度下降中的振荡。

如式(5)和(7)所示,HBSR及其参数要求一阶导数;可以用下式对函数进行定义:

计算不等间隔数据导数的一种方法是对数据点拟合一个多项式,然后对其求导. 例如,使用二阶拉格朗日多项式拟合三个点并对其求导,得到如下公式

为进一步阐明,对式(9)中的公式进行修改,建议如下:

为了增强HBO算法的多样性,防止过早收敛,减少迭代次数,对参数α和β进行了优化。修改如下:

为了保持Eq.(5)第三项的动量,防止优化过程中当前解与前一解相同,我们将前一解重新定义为:

  1. 有效的重球策略(EHBS)。第一个方面涉及利用以前的解决方案来深入了解有前途的地区,同时避免非生产性地区。通过分析过去的解,该算法可以细化其搜索方向,提高其更有效地挖掘有潜力区域的能力。该策略的第一个方面表示为Eq. (17):

第二个方面侧重于确定在上一代中以前未被探索或忽视的有前途的领域。通过对搜索空间内的高质量区域进行更深入的探索,这种持续的细化增强了算法接近最优解的能力。策略的第二个方面如式(19)所示:

EHBS通过利用以前解决方案中的历史信息来提高HBO搜索的效率,从而改善全局勘探和局部开发,从而优化性能(式(17))。同时,Eq.(19)有助于防止过早收敛,同时保证搜索空间的全面覆盖。这两个方程之间的过渡由以下公式控制:

  1. 加速收敛机制(ACM)。大多数优化算法在解决高维问题时收敛速度慢。为了提高算法的性能,我们引入了一种基于Aitken方法的新型ACM。

虽然ACM有效地增强了收敛性,但已经观察到,在某些情况下,搜索过程可能过早地收敛到局部最优,从而限制了对搜索空间的进一步探索。为了解决这一限制,我们建议使用公式(27)更新解决方案。这一策略确保了勘探和开采之间的动态平衡,既保持了加速趋同的好处,又降低了过早趋同的风险。


算法伪代码:

03. 对比验证

原文作者将HBO的性能在23个经典基准函数(维度为30、100、500和1000)、30个CEC2014函数、10个CEC2019函数和12个CEC2020现实约束工程问题上进行了评估,并与12个最先进的算法进行了比较。结果表明,与竞争对手的方法相比,HBO表现出极具竞争力的性能,在经典基准上实现了最低的弗里德曼平均排名,分别为2.96、2.62、2.38和2.23,在CEC2014、CEC2019和CEC2020问题上分别为2.17、2.50和2.21,表明在所有测试套件中具有强大而稳定的统计性能。此外,在基于脑电图的阿尔茨海默病特征选择中,HBO在两个数据集上的分类准确率分别达到了98.50%和99.40%,验证了其在医学特征选择任务中的鲁棒性和实用性。

参考文献

Matlab代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

Heavy Ball Optimizer.zip

链接:https://pan.quark.cn/s/29556d4fcd1c

点击链接跳转

400多种优化算法免费下载-matlab

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLihttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247488871&idx=1&sn=ea026691584099bc23b5d9a8c0d9d9cf&scene=21&poc_token=HG5-tWijLKDzrao_cHY0NlLHnIgBxRgsfIQFxbLi

求解cec测试函数-matlab

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载

绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

《一行破万法》:80余种改进策略仅需一行,可改进所有优化算法(附matlab代码)

https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4Chttps://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247487693&idx=1&sn=2e112a6ecad1a302179ed83a955fb26b&scene=21&poc_token=HBF_tWijdJadHRqwV2szg8ee9k-p1DTwa8W7GF4C

【有经典,有最新】24种信号分解方法(附matlab代码)

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

【分类新范式】28种一维数据转换成二维图像的方法-matlab代码

2025年故障诊断的创新思路在哪里?赶紧来学习这28种创新方法!https://mp.weixin.qq.com/s/EdRYeziIhnZE5zK0ZZhwmg