☰
【MOEA/D的学习小笔记】
2026/10/21 11:41:39 网站建设 项目流程

1. 先大致理解 MOEA/D 算法的思想

大致浏览一下下面这段话,等后面看完再回过来阅读

MOEA/D 的分解思想主要来源于传统多目标数学规划中的标量化方法(Scalarization Methods)

在传统的数学优化中,直接寻找多个相互冲突的目标的帕累托前沿(PF)非常困难。数学家们早就有一种成熟的思路:通过给每个目标分配权重,将多个目标“合成”为一个单一的目标(即标量目标),然后去求这个单目标的最优解。改变权重,就能得到不同的最优解,最终拼凑出整个帕累托前沿。

然而,传统标量化方法有一个致命弱点:它们通常是一次只运行一个权重,独立求解。这不仅计算效率低下,而且无法利用不同权重对应的解之间的信息共享。

MOEA/D 的创举在于:它把数学规划中的“标量化”与进化算法的“种群”结合起来。它不再是一个接一个地独立求解,而是同时构建一组均匀分布的权重向量,一次性并行求解所有这些标量子问题。这就是分解思想的直接来源。

2. 什么是传统多目标数学规划中的标量化方法?为什么分解分配权重就能找到最优解呢?

这就引出了数学上的一个加权和标量化定理(Weighted Sum Scalarization Theorem)

前提:决策变量 x 的可行域是凸集,且所有目标函数都是凸函数。
结论:如果是一个帕累托最优解,那么必定存在一组非负权重 λ=(λ1,…,λm)(不全为0),使得是加权和函数的最小值点。

简而言之:在凸性假设下,每一个帕累托最优解,都可以通过赋予各目标适当的权重,转化为某个加权和单目标问题的最优解。


数学原理:为什么成立?为什么线性组合一定能找到最优解?

证明:


什么是凸集分离定理?

凸集分离定理 = “两个不重叠的凸集,中间一定能塞进一块平整的板子把它们隔开。”

证明凸集分离定理,本质上是在解决一个问题:“我怎么用数学语言,精确地造出那块分开它们的‘木板’?”


总结:

在凸的世界里,权重就是一把可以旋转的直尺。你转动这把直尺,直尺的边缘扫过的轨迹,完美贴合了帕累托前沿的每一寸。在传统多目标数学规划中的标量化方法中,通过加权和标量化定理和凸集分离定理,证明了 通过设置不同的权重 可以刻画出 凸性问题的帕累托前沿

例子:

权重 w 之和必须等于 1 吗?


3. 非凸部分怎么办?凹进去的帕累托前沿又该如何求解呢?

如果 Pareto 前沿是非凸的(向内凹陷),加权和法就会失效。直线(超平面)无论如何调整斜率,都只能碰到前沿两端的极点,而永远无法切到凹陷进去的那部分解。


接下来引入切比雪夫法(Tchebycheff)或PBI(Penalty-based Boundary Intersection)

几何直觉

为什么切比雪夫法 在几何上是一个矩形?

总结:在基于分解的算法(如 MOEA/D)中,我们要找的是 Pareto 最优解(即目标空间左下角的那些点)。算法怎么找?本质上是在“推”等距离线,直到它刚好“碰到”目标空间的可行域(Pareto前沿)。


未完待续......

切比雪夫法又是怎么知道理想点的呢?理想点是怎么求解,怎么设置的呢?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询