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

坎尼战役发生在公元前216年的第二次布匿战争期间,因汉尼拔精湛的钳形战术(也被称为双包围战术)而闻名于世。这场精确而富有创造力的战役包围并困住了由执政官卢修斯·埃米留斯·保卢斯和盖乌斯·特伦提乌斯·瓦罗指挥的一支规模大得多的罗马军队。
HBO算法分为三个不同的阶段,每个阶段都针对优化过程的特定阶段进行了定制。不同的阶段与所执行的迭代次数相关联,强调了开发和探索阶段的重要性。为了做到这一点,将定义四个主要动作来反映每个侧翼的进攻策略。这幅画反映了坎纳战役的战斗过程。
- 初始化:和其他群优化算法一样,采用随机初始化。



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

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

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

- 右路进攻策略:这一战略旨在模拟迦太基军队如何在最初部署在右翼的情况下,实施比罗马军团更机动的行动,从而取得历史性胜利。从元启发式的角度来看,该操作旨在积极探索搜索空间的边界,促进扩展的探索。

- 左路进攻策略:左攻战略是对右攻的一种补充机动,提供了一种多方位的方法,以确保战场地形和战略目标的全面覆盖。该策略的数学公式表示为:

- 中路进攻策略:

- 逃跑移动策略:种移动是一种战术撤退,用于持续交战造成重大损失或战略劣势的风险。当部队处于困境或撤退可能带来更好的战略机会时,会考虑这种机动。

算法伪代码:


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
求解cec测试函数-matlab
cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!
215种群智能优化算法python库
解决12工程设计优化问题-matlab
求解11种cec测试函数-python
解决30种工程设计优化问题-python
《一行破万法》:80余种改进策略仅需一行,可改进所有优化算法(附matlab代码)
【有经典,有最新】24种信号分解方法(附matlab代码)
【分类新范式】28种一维数据转换成二维图像的方法-matlab代码
2025年故障诊断的创新思路在哪里?赶紧来学习这28种创新方法!
https://mp.weixin.qq.com/s/EdRYeziIhnZE5zK0ZZhwmg