2025年8月SCI-汉尼拔·巴卡优化算法Hannibal Barca optimizer-附Matlab免费代码

引言

本期介绍一种新的创新算法------汉尼拔·巴卡优化算法Hannibal Barca optimizer,HBO。灵感来自古代迦太基将军的战略智慧,HBO通过将汉尼拔著名的钳形运动的战略原则与视差学习的新先进优化方法相结合,巧妙地解决了复杂的多维优化挑战,于2025年8月最新发表 在 JCR1区,中科院3区SCI 期刊 Cluster Computing。

坎尼战役发生在公元前216年的第二次布匿战争期间,因汉尼拔精湛的钳形战术(也被称为双包围战术)而闻名于世。这场精确而富有创造力的战役包围并困住了由执政官卢修斯·埃米留斯·保卢斯和盖乌斯·特伦提乌斯·瓦罗指挥的一支规模大得多的罗马军队。

HBO算法分为三个不同的阶段,每个阶段都针对优化过程的特定阶段进行了定制。不同的阶段与所执行的迭代次数相关联,强调了开发和探索阶段的重要性。为了做到这一点,将定义四个主要动作来反映每个侧翼的进攻策略。这幅画反映了坎纳战役的战斗过程。

  1. 初始化:和其他群优化算法一样,采用随机初始化。

在HBO算法中,N个候选解的初始种群被分为两组:Romans和Carthagos,后者是为了简洁而采用的术语,指的是迦太基人。这种划分是基于坎尼战争期间罗马人对迦太基人的数量优势的历史记载,导致了一个预定的比例。这个比率表示为α,α=2/3,表明罗马人在总人口中的比例

这个公式确保了罗马人的数量反映了罗马士兵的历史代表性。剩下的人口,被命名为Carthagos,然后通过从总人口中减去罗马人的数量来计算。按照同样的逻辑,我们根据预先设定的权重对罗马和迦太基的人口进行了划分,力求与现实紧密结合,生成了每支军队的左右侧翼和中路。为此,我们将军队各部分的权重定义如下:

其中Nlfr, Nrfr和Ncr分别代表罗马军团的左翼,右翼和罗马军团的中心。类似地

  1. 右路进攻策略:这一战略旨在模拟迦太基军队如何在最初部署在右翼的情况下,实施比罗马军团更机动的行动,从而取得历史性胜利。从元启发式的角度来看,该操作旨在积极探索搜索空间的边界,促进扩展的探索。
  1. 左路进攻策略:左攻战略是对右攻的一种补充机动,提供了一种多方位的方法,以确保战场地形和战略目标的全面覆盖。该策略的数学公式表示为:
  1. 中路进攻策略:
  1. 逃跑移动策略:种移动是一种战术撤退,用于持续交战造成重大损失或战略劣势的风险。当部队处于困境或撤退可能带来更好的战略机会时,会考虑这种机动。

算法伪代码:

03. 对比验证

原文作者使用CEC2022测试套件对所提出的HBO算法进行了8种最新且成熟的元启发式评估,以验证其可靠性。并对13个经典工程设计问题进行了测试。为了进一步证明其有效性,将HBO应用于图像多阈值分割问题。实验结果表明,当使用CEC ' 22基准进行评估时,HBO算法比现有的最先进的元启发式方法更具竞争力。

参考文献

Ouertani, M.W., Manita, G. & Korbaa, O. Hannibal Barca optimizer: the power of the pincer movement for global optimization and multilevel image thresholding. Cluster Comput 28, 482 (2025). https://doi.org/10.1007/s10586-025-05134-1.

Matlab代码下载

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

完整代码

Hannibal Barca Optimizer (HBO).zip

点击链接跳转

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

相关推荐
流烟默19 小时前
机器学习中模型的鲁棒性是什么
人工智能·机器学习·鲁棒性
粉色挖掘机19 小时前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学
Baihai_IDP20 小时前
并行智能体是否将重塑软件开发模式?
人工智能·程序员·ai编程
周杰伦_Jay20 小时前
【主流开发语言深度对比】Python/Go/Java/JS/Rust/C++评测
开发语言·python·golang
七七七七0720 小时前
【计算机网络】UDP协议深度解析:从报文结构到可靠性设计
服务器·网络·网络协议·计算机网络·算法·udp
ldmd28420 小时前
Go语言实战:入门篇-5:函数、服务接口和Swagger UI
开发语言·后端·golang
飞哥数智坊20 小时前
当你还在用 AI 写周报,别人的 AI 已经在炒币炒股了
人工智能
TitosZhang20 小时前
排序算法稳定性判断
数据结构·算法·排序算法
Juchecar20 小时前
翻译:软件开发的演进:从机器码到 AI 编排
人工智能
光子物联单片机20 小时前
C语言基础开发入门系列(八)C语言指针的理解与实战
c语言·开发语言·stm32·单片机·mcu