【多目标进化算法】常见多目标进化算法一览
算法 | 全称 | 核心特点 | 备注 |
---|---|---|---|
NSGA-II | Non-dominated Sorting Genetic Algorithm II | 非支配排序 + 拥挤度 | 最经典,应用最广 |
NSGA-III | Non-dominated Sorting Genetic Algorithm III | 支撑向量引导,适合高维(3目标以上) | NSGA-II 的高维扩展版 |
MOEA/D | Multi-Objective Evolutionary Algorithm based on Decomposition | 将多目标问题分解成一堆单目标子问题并行优化 | 很适合大规模多目标 |
SPEA2 | Strength Pareto Evolutionary Algorithm 2 | 引入了外部精英集,强化支配关系 | 比 NSGA-II 更稳健 |
MOPSO | Multi-Objective Particle Swarm Optimization | 粒子群优化扩展到多目标 | 粒子群进化思路,适合连续优化问题 |
PAES | Pareto Archived Evolution Strategy | 单个父代 + 变异 + Pareto存档 | 简单,适合资源受限场景 |
IBEA | Indicator-Based Evolutionary Algorithm | 直接用指标(如Hypervolume)评估好坏 | 收敛性优秀,但计算量大 |
RVEA | Reference Vector Guided Evolutionary Algorithm | 引导到参考向量上,提高高维性能 | 适合高维高目标数(10+) |
简单介绍几个代表
1. NSGA-III (多目标版NSGA-II)
-
原理:在 NSGA-II 基础上引入参考点/超平面,避免高维目标时 Pareto前沿太稀疏。
-
适用场景:三目标及以上的问题,比如同时优化时间、成本、能耗。
👉 如果有更多目标(比如4-5个指标一起优化),NSGA-III 就比 NSGA-II好。
学习链接:
【多目标进化算法】NSGA-II 算法(结合例子)_nsga-ii 实例-CSDN博客
【多目标进化算法】NSGA-II算法(知识点)_nsga-ii全名叫-CSDN博客
2. MOEA/D (分而治之)
-
原理:把多目标问题分成很多单目标子问题(比如每个子问题只看某种加权组合),每个子问题各自演化,邻居之间还可以合作。
-
好处:并行性好,计算效率高。
-
适用场景:目标很多(10+)或问题复杂度高时。
👉 举个例子:优化一个系统的速度、能耗、内存消耗,MOEA/D可以很自然地同时优化好多个角度。
3. SPEA2 (强化版 Pareto 选择)
-
原理:每个个体有个“力量值”,表示它支配了多少别人,同时引入一个外部精英存档(保持好解)。
-
优势:保留了解的多样性,鲁棒性很好,不容易退化。
👉 如果问题比较小但想要非常稳健的收敛,可以用 SPEA2。
4. MOPSO (粒子群版多目标优化)
-
原理:把粒子群(PSO)思路搬过来,粒子根据 Pareto 最优引导。
-
适合:连续型优化问题,比如参数调整、工程设计。
👉 适合连续变量优化,比如调整机器人参数、控制系统调优。