Nature-Inspired 元启发式算法综述:群智 / 生物 / 物理 / 化学四条启发源
- 关联论文:1307.4186
- 作者:flyP
- 更新:2026-08-13
一句话结论
这篇 2013 年的短综述把"自然启发的元启发式算法"按灵感来源(swarm intelligence / bio-inspired / physics-based / chemistry-based)切成四大类,用一张相对完整的清单把当时散落在各处的算法收编进同一框架——它本身不发明新算法,而是一张地图,后续二十多年优化领域几乎都从这张地图出发。
解决什么真问题
优化领域长期存在一个结构性混乱:每年都有几十种"新元启发式算法"被提出,名字各异(PSO、GA、ACO、ABC、CS、Firefly、TLBO、Krill Herd、Grey Wolf…),各自挂上不同的生物/物理隐喻,但对算法之间关系、彼此性能边界、共同设计原则始终缺乏统一索引。
研究者真正想要的回答是:当面对一个新问题时,该选哪个族、用哪个变体、调哪些参数?综述给的不是"答案",而是"候选清单 + 分类法"——这恰恰是后续 benchmark 论文(如 CEC 竞赛、Niching benchmark)和"算法组件统一框架"(如同年后的自动算法选择 metalearning)能站住脚的底座。
核心方法(机制)
论文结构非常工程化——按灵感源分类 + 简要描述每个算法的更新规则。核心机制可以归纳为四族:
1. Swarm Intelligence(群智能)
- 灵感来源:群体行为(鸟群、鱼群、蜂群、蚁群)。
- 典型算法:PSO(粒子群,Kennedy & Eberhart 1995)、ACO(蚁群,Dorigo 1992)、ABC(人工蜂群,Karaboga 2005)、Firefly(萤火虫,Yang 2008)、CS(布谷鸟,Yang & Deb 2009)、BA(蝙蝠,Yang 2010)、Krill Herd(磷虾,Gandomi & Alavi 2012)。
- 共同机制:候选解 = "粒子 / 蚂蚁 / 蜜蜂 / 萤火虫",通过局部信息素 / 距离 / 亮度交互产生全局搜索压力。
2. Bio-inspired(非群体,个体生物学启发)
- 灵感来源:进化、遗传、免疫、内分泌。
- 典型算法:GA(遗传算法,Holland 1975)、DE(差分进化,Storn & Price 1997)、EP(进化规划,Fogel 1966)、ES(进化策略,Rechenberg 1973)、BBO(生物地理学优化,Simon 2008)、AIS(人工免疫系统,Dasgupta 1997)。
- 共同机制:选择 + 变异 + 交叉为骨架,DE 用差分向量作为变异算子是其经典创新。
3. Physics-based(物理过程)
- 灵感来源:物理定律(引力、电磁、Annealing、瀑布、河流)。
- 典型算法:SA(模拟退火,Kirkpatrick 1983)、GSA(引力搜索,Rashedi 2009)、BB-BC(Big-Bang Big-Crunch,Erol 2006)、HDE(黑洞蒸发,Hatamlou 2013)、WCA(Water Cycle,Eskandar 2012)。
- 共同机制:用某种物理平衡/扩散/吸引子作为搜索动力,候选解的更新规则往往可直接写出封闭公式。
4. Chemistry-based(化学反应)
- 灵感来源:化学反应动力学。
- 典型算法:CRA(Chemical Reaction Optimization,Lam & Li 2010)、ASBO(Artificial Chemical Reaction Optimization Algorithm)。
- 这一族最小众,也最容易"看起来新而无新意",后来几乎没有大规模 benchmark 复用。
论文给出的伪代码骨架对四族通用:
Initialize population P of candidate solutions
Evaluate fitness f(x) for all x in P
while not converged:
for each agent x in P:
# 核心差异在这里:不同族用不同的"邻域算子"
x_new = update(x, P, f) # PSO 用速度更新 / GA 用交叉变异 / GSA 用引力
if f(x_new) better than f(x):
accept x_new into P
Return best x in P
真正统一的不是算法,而是 meta-template——这正是综述隐藏的最大工程价值:它隐含提出了"任意自然启发算法 = 候选解种群 + 邻域算子 + 接受准则"三件套。
关键实验与数据
⚠️ 数字核验:本综述不报告新实验数据,只汇编算法清单与简短描述。它的"数据"是算法的存在性——一篇被引 676 次(S2)/ 390(OpenAlex)/ 21(影响力加权)的高被引综述,引用价值在于"覆盖广度"而非"实验精度"。
按 W32 lessons 提到的"数字可溯源 + 显式核验路径"原则: - ✅ 算法名称、作者、年份均可在原综述表格中找到对应行; - ⚠️ 综述未给出任何"哪个算法在哪个问题上更好"的定量比较;任何关于"哪个算法最优"的引申都需要回到原始论文 + CEC 竞赛系列数据,本综述不背书性能排序。
亮点与局限
亮点
- 分类法可复用:四族划分至今仍是入门课程的标准切法,Kennedy、Yang、Gandomi 等综述基本沿用这一框架。
- 覆盖广:单篇覆盖了 2013 年前几乎所有主流族与代表性算法,对工程选型来说是"一张地图"。
- 短而密:约 8 页综述,却能容纳如此多算法,体现"清单式综述"的密度优势。
局限(按 lessons 要求显式标注 ⚠️)
- ⚠️ 没有定量比较:不报告任何 benchmark 数据;后续读者必须自己看 CEC 2013/2014/2015 竞赛结果才能补上性能视角。
- ⚠️ 没有"no-free-lunch"讨论:未触及 Wolpert 1996 NFL 定理与 hyper-heuristic 视角,对"为什么没有万能算法"未给出形式化处理。
- ⚠️ 分类边界模糊:部分算法(如 FA / Bat / CS)既被划为"群智"又被划为"生物",论文自己也承认分类并不互斥。
- ⚠️ 2013 年截止,未覆盖后续大模型时代的"算法选择 LLM"——这是一个有意义的延伸方向,但本综述没写。
- ⚠️ citation 数据需复核:676(S2)/ 390(OpenAlex)/ 21(影响力被引)来自 paper_card 元数据(OpenAlex 更新 2026-08-13),具体口径以原文 + Semantic Scholar API 为准。
对工程落地的启发
- 不要重复发明轮子:选型时先看这四族是不是都有现成稳定实现(DE / PSO / GA / SA 在 SciPy、PyPop7、MEALPY 等库都齐全;Firefly / Bat / WCA 往往只在原作者 MATLAB 工具箱里)。
- 把算法当 hyperparameter:CEC 2014 之后主流做法是"多种群多策略 + 自动化选择",而不是"挑一个算法"。
- 关注算法组件而非算法名字:论文隐藏的 meta-template(种群 + 邻域算子 + 接受准则)才是工业级实现的真正骨架。
- 小型问题别上元启发:小维度连续问题优先用 BFGS / L-BFGS / SciPy
minimize,元启发式在小问题上并不占优,论文本身也只面向 NP-hard / 黑盒场景。
与同方向工作的关系
- 前序工作:Kennedy & Eberhart 1995(PSO 原论文)、Dorigo 1992(ACO 原论文)、Yang 2008/2009/2010(FA / CS / BA 系列)—— 综述本身是这些原论文的下游。
- 平行工作:Yang 自己 2014 年出了专著 Nature-Inspired Optimization Algorithms,可以视为本综述的扩展版。
- 后续工作:
- CEC 2013-2015 benchmark 系列给出定量比较,补上综述缺的性能视角;
- Hyper-heuristic / 自动算法选择(Burke 2013 综述)把"算法清单"升级为"算法选择策略";
- CMA-ES(Hansen 2016 教程版)作为"非自然启发但元启发最强基准"在很多论文里被作为对照;
- 大模型时代出现 LLM-as-Optimizer(Yang 2023)、FunSearch(DeepMind 2023)用 LLM 搜索新算法——可视为"算法自动发现"对人工清单的颠覆。
适合谁读
- ✅ 优化方向研究生入门:5 分钟看完分类法,比读 10 篇原论文更快建立坐标。
- ✅ 算法选型工程师:工业问题上想确认"我用的 PSO / GA 是不是已经被某新算法碾压"——本综述的清单能快速定位候选。
- ✅ 做算法综述/教学视频的人:分类骨架可直接复用。
- ❌ 追求 SOTA 性能:本综述不背书性能,必须读 CEC 竞赛系列 + 最新元启发 benchmark。
- ❌ 离散 / 组合优化深度研究者:综述对图着色、TSP、调度等问题的特化算法覆盖很薄。
来源与核验
- 论文 TLDR / 摘要 / Subjects:web_fetch
https://arxiv.org/abs/1307.4186(2026-08-13 03:16 UTC 校验) - paper_card:
/shared/research-kb/organized/paper_cards/916-1307-4186.md(OpenAlex 更新 2026-08-13) - ⚠️ 不确定处:算法原始年份与作者均以论文表格为准;被引数字(676 / 390 / 21)为 card 元数据;本综述未报告新实验数据。
工程落地与核查(Jay)
实际系统怎么用
核心工程价值:这篇综述的工程落地价值不在于实现某个算法,而在于选型决策框架。如果你面对的是一个黑盒优化问题(仿真器、硬件参数调优、神经网络超参搜索),按以下步骤操作:
- 确认问题规模:维度 > 30、目标函数评估 > 1s、单次运行 > 1h → 元启发式适用;否则优先 BFGS/SciPy。
- 选择算法族:若问题有凸性 → DE 或 CMA-ES;若问题有多个峰 → PSO 或 HA(Harmony Search);若问题需要全局探索强 → GSA 或 WCA。
- 标准化接口:
fitness_fn(x: np.ndarray) -> float,与算法实现解耦。 - 参数预算:CEC 竞赛建议每个算法至少跑 30 次独立运行,取中位数而非均值(因元启发对随机种子敏感)。
⚠️ 工程实现库的选择:DE(scipy.optimize.differential_evolution)和 SA(scipy.optimize.dual_annealing)在 SciPy 有稳定实现;PSO 有 PySwarms 库;CMA-ES 推荐 cma 包(Hansen 原版)。⚠️ PyPop7 和 MEALPY 的维护状态需在 GitHub 确认最新 commit 日期——部分库已停止维护超过 2 年,直接用于生产环境存在依赖断裂风险。
主要工程坑
| 坑 | 说明 | 应对 |
|---|---|---|
| 收敛判定主观 | 何时停止没有统一标准,常用 max_iterations 但可能浪费计算资源 | 用相对改进率(最近 N 代 best fitness 改善 < ε)做自适应停止 |
| 随机种子决定结果 | 同参数跑两次结果可能差 20%+ | 必须多 seed(≥ 30)独立运行,报告 median + IQR |
| "新算法"工程可信度 | 论文发表时声称超越某 baseline,但往往在 CEC 基准上未验证 | 工程选型以 CEC 竞赛排名为准,不以单篇论文结论为准 |
| 参数调优本身是 NP 问题 | 元启发自身有 5-10 个超参,"选哪个算法 + 调参"形成嵌套优化 | 用 Irace 或 Optuna 做元启发自己的自动调参 |
| 并行化代价 | 种群算法天然可并行(每个个体独立评估),但共享 P 需要锁 |
用 archipelago model(多个独立种群 + 定期迁移)代替中心化种群 |
| Chemistry-based 族已实际死亡 | CRA/ASBO 自 2010 年后几乎没有后续工作,实际工程价值极低 | 选型时跳过 chemistry 族,聚焦 PSO/GA/DE/SA/CMA-ES 五种有活跃维护的实现 |
与现代替代方案的对比
⚠️ 重要更新(综述未覆盖):2020 年后,神经架构搜索(NAS)和 LLM-as-Optimizer 已开始替代部分元启发场景:
- 超参搜索:
Optuna(贝叶斯优化)+ 早停 >> 元启发(计算效率高 10-100x) - NAS:DARTS + gradient-based >> 进化算法(搜索效率高一个量级)
- 组合优化:GNN + 强化学习(如 DeepMind 的 FlexTSP)>> 蚁群(大规模问题)
元启发式当前真正的护城河:仿真器/硬件评估成本极高(单次 > 1 分钟)、梯度不可用、评估次数预算有限(< 10000 次)的场景——这是 NAS / Bayesian 方法也难以覆盖的地带。
可复现性
- 算法本身(PSO/GA/DE/SA)均有稳定开源实现,可直接 pip 安装
- 综述本身是文献学产物,无需复现;工程价值在于用它定位候选算法,再用原始论文 + CEC 数据做定量比较