跳到正文
格致开物MATHWIKI

多目标优化

多目标优化同时考虑两个或更多需要取舍的指标。比较方案时,若一个方案在所有指标上都不差、并且至少一项更好,就说它支配另一个方案。没有被其他可行方案支配的方案称帕累托有效;“有效”只排除了无谓损失,并没有替决策者决定哪种取舍最好。

三种方案中的取舍

设某项设计同时希望成本与误差越小越好,三个可行方案的指标如下:

方案 成本 f1 误差 f2
A 0 4
B 2 3
C 4 0

A 比 B 便宜但误差更大;C 比 B 误差更小但成本更高。三者互不支配,因此都是帕累托有效点。若再有 D=(3,4),则 B 的成本 2 小于 3、误差 3 小于 4,故 D 被 B 支配,无论偏好怎样,只要两个指标都按“越小越好”理解,D 都可先排除。

一般地,给定可行集 C 和向量目标 F(x)=(f1(x),…,fm(x)),若不存在 y∈C 使 fi(y)≤fi(x) 对每个 i 成立且至少一处严格小于,就称 x 帕累托有效。这里的比较是在目标值上进行;不同决策变量可能产生同一个目标向量。

成本与误差坐标中 A零四、B二三、C四零互不支配,D三四被 B 支配
图上向左、向下都是改进方向。B 位于 A 与 C 的取舍之间;D 可被 B 同时从两项指标上改进。

加权求和能找到什么

常见做法是选择 0≤α≤1,最小化 αf1+(1−α)f2。若两个权重都严格为正,则任何加权和的最小点必是帕累托有效的:若另一个方案支配它,加权目标会更小,产生矛盾。指标量纲和典型数值若差很多,应先按可解释的尺度归一化;同一个数字权重不能直接解释成“同样重视”。

加权求和并不一定找到所有有效点。对表中 A、B、C,它们的加权值分别为 4−4α、3−α、4α。若 B 比 A 不差,需要 3−α≤4−4α,即 α≤1/3;若 B 比 C 不差,又需 3−α≤4α,即 α≥3/5。两条件不能同时成立。B 明明有效,却无论怎样调这一个权重都不成为加权最优方案。这是非凸目标值集合中常见的“被加权法漏掉的有效点”,并非 B 没有价值。

相反,连续决策也能有一整段有效方案。设 0≤x≤4,f1(x)=x 表示费用,f2(x)=(4−x)2 表示误差。x 从零增到四时,费用严格增加、误差严格减少,所以区间内任意两个不同方案都互不支配,整段都是帕累托有效的。若取权重 0<α<1,加权目标的导数是 α−2(1−α)(4−x);其最小点为 x=4−α/[2(1−α)],再按约束截到 [0,4]。例如 α=1/2 时选 x=7/2,费用 7/2、误差 1/4。这与离散表中的 B 形成对照:能否通过调权重扫到目标前沿,取决于目标值集合的几何形状。

只给某个指标零权重还可能留下被支配的并列解。比如两方案的目标值为 (0,0) 与 (0,1);若只最小化第一项,二者都取得零,但后一方案显然被前者支配。因此前面“加权最优必有效”的结论明确要求所有考虑的指标权重为正,或对并列解再作二次筛选。

固定一个指标的容忍界

另一种办法是把某个指标变成约束,例如在 f2≤3 下最小化成本。表中 A 不符合误差上限;B 的成本为 2,小于 C 的 4,故选 B。改变误差上限,可以沿着可行方案的取舍边界逐点考察。实际建模还需说明指标的测量方式、单位、不确定性与硬性约束;帕累托前沿由模型给出,最终偏好仍须由使用者确定。

参考资料