最优化问题的对偶问题

最优化问题的对偶问题

在最优化中,我们经常在给定一个优化问题之后,构造出另一个优化问题,称为它的对偶问题(dual problem)

例如,线性规划

\[\min_x\ c^\top x,\qquad \mathrm{s.t.}\quad Ax=b,\quad x\geq0 \]

对应的对偶问题是

\[\max_y\ b^\top y,\qquad \mathrm{s.t.}\quad A^\top y\leq c. \]

为什么会出现这样一个新的问题?对偶问题并不是人为凑出来的另一个优化模型。它背后包含三层重要含义:

  • 给原问题的最优值提供界;
  • 刻画约束如何参与最优性条件;
  • 描述约束发生变化时最优值的敏感程度。

最后一点,就是著名的影子价格(shadow price)

下面从线性规划开始介绍。


一、线性规划问题的对偶

考虑标准形式的线性规划

\[\min_x\ c^\top x,\qquad \mathrm{s.t.}\quad Ax=b,\quad x\geq0. \]

它的对偶问题为

\[\max_y\ b^\top y,\qquad \mathrm{s.t.}\quad A^\top y\leq c, \]

其中 \(y\) 是自由变量。

这个形式可以从 Lagrange 函数得到。对约束 \(Ax=b\) 引入乘子 \(y\),定义

\[L(x,y)=c^\top x+y^\top(b-Ax)=b^\top y+(c-A^\top y)^\top x. \]

固定 \(y\),考虑关于 \(x\) 的最小值:

\[q(y):=\inf_{x\geq0}L(x,y). \]

如果某个分量满足

\[(c-A^\top y)_i<0, \]

那么令对应的 \(x_i\to+\infty\),就会得到 \(q(y)=-\infty\)。因此,为了使 \(q(y)\) 有限,必须要求

\[c-A^\top y\geq0, \]

\[A^\top y\leq c. \]

在这个条件下,

\[q(y)=b^\top y. \]

于是自然得到

\[\max_y\ q(y) = \max_y\{b^\top y:A^\top y\leq c\}. \]

这就是原线性规划的对偶问题。


二、对偶目标值是原问题的下界

\(x\) 是原问题的可行点,\(y\) 是对偶问题的可行点。

那么

\[Ax=b,\qquad x\geq0,\qquad A^\top y\leq c. \]

因此

\[b^\top y = y^\top Ax = x^\top A^\top y \leq c^\top x. \]

也就是说:

任意一个对偶可行点给出的目标值,都不会超过任意一个原问题可行点的目标值。

这就是弱对偶性(weak duality)

如果分别记原问题和对偶问题的最优值为 \(p^\ast\)\(d^\ast\),那么

\[d^\ast\leq p^\ast. \]

因此,对偶问题可以理解成:

在所有可以构造出来的原问题最优值下界中,寻找尽可能大的那个下界。

而在线性规划中,在适当的可行性和有界性条件下,还有

\[d^\ast=p^\ast. \]

这就是强对偶性(strong duality)。换句话说,线性规划的对偶问题不仅能够给出一个下界,而且最终能够得到与原问题完全相同的最优值。


三、一般优化问题的对偶

考虑一般约束优化问题

\[\min_x\ f(x), \]

满足

\[g_i(x)\leq0,\quad i=1,\ldots,m, \]

以及

\[h_j(x)=0,\quad j=1,\ldots,p,\qquad x\in X. \]

对不等式约束引入乘子 \(\lambda_i\geq0\),对等式约束引入自由乘子 \(\nu_j\in\mathbb R\)

定义 Lagrange 函数

\[L(x,\lambda,\nu) = f(x) +\sum_{i=1}^m\lambda_i g_i(x) +\sum_{j=1}^p\nu_j h_j(x). \]

进一步定义对偶函数(dual function)

\[q(\lambda,\nu):=\inf_{x\in X}L(x,\lambda,\nu). \]

于是相应的 Lagrange 对偶问题就是

\[\max_{\lambda,\nu}\ q(\lambda,\nu),\qquad \mathrm{s.t.}\quad \lambda\geq0. \]

为什么仍然是最大化?因为如果 \(x\) 是原问题的可行点,那么

\[g_i(x)\leq0,\qquad h_j(x)=0. \]

因此对于 \(\lambda\geq0\)

\[q(\lambda,\nu) \leq L(x,\lambda,\nu) = f(x)+\sum_{i=1}^m\lambda_i g_i(x) \leq f(x). \]

所以仍然有

\[d^\ast\leq p^\ast. \]

这说明:

一般优化问题的对偶问题,本质上仍然是在寻找原问题最优值的最好 Lagrange 下界。

不过,一般非凸优化与线性规划有一个重要区别。对于非凸问题,可能出现

\[d^\ast<p^\ast, \]

这称为对偶间隙(duality gap)。而对于凸优化问题,在 Slater 条件等适当约束规范条件下,通常可以得到

\[d^\ast=p^\ast. \]


四、对偶问题的意义

从理论上看,对偶至少有三个非常重要的作用。

1. 给出最优值的下界

对于最小化问题,任意对偶可行解都能给出一个原问题最优值的下界。

因此,如果找到了一个原问题可行点和一个对偶问题可行点,并且二者目标值完全相同,那么就可以立即证明它们都是最优解。


2. 导出最优性条件

对偶变量也是 KKT 条件中的 Lagrange 乘子。

在适当正则性条件下,最优解 \((x^\ast,\lambda^\ast,\nu^\ast)\) 满足

\[0\in\partial_xL(x^\ast,\lambda^\ast,\nu^\ast)+N_X(x^\ast). \]

在光滑情况下,

\[\nabla f(x^\ast) +\sum_{i=1}^m\lambda_i^\ast\nabla g_i(x^\ast) +\sum_{j=1}^p\nu_j^\ast\nabla h_j(x^\ast) \in-N_X(x^\ast). \]

对于无约束优化,我们熟悉的一阶条件是

\[\nabla f(x^\ast)=0. \]

但是在约束优化中,目标函数的梯度通常并不会等于零。它可以被约束的法向量“抵消”。

因此,对偶变量实际上描述了:

各个约束在最优点处以多大的权重参与一阶平衡。


3. 描述问题的灵敏度

对偶变量还有一个更有意思的解释:

它能够描述约束发生轻微变化时,最优目标值会发生多大的变化。

这就引出了所谓的影子价格


五、影子价格

考虑一个参数化线性规划:

\[v(b)=\min_x\{c^\top x:Ax=b,\ x\geq0\}. \]

这里把最优值写成 \(b\) 的函数 \(v(b)\)。由强对偶性,

\[v(b)=\max_y\{b^\top y:A^\top y\leq c\}. \]

\(y^\ast\) 是参数 \(b\) 下的一个最优对偶解。

现在把约束右端项从 \(b\) 改成

\[b+\Delta b. \]

由于对偶可行集

\[\{y:A^\top y\leq c\} \]

并没有发生变化,因此原来的 \(y^\ast\) 仍然是新的对偶问题的一个可行点。于是

\[v(b+\Delta b) \geq (b+\Delta b)^\top y^\ast = v(b)+(y^\ast)^\top\Delta b. \]

因此

\[y^\ast\in\partial v(b). \]

如果最优值函数 \(v\)\(b\) 处可微,那么进一步有

\[\nabla v(b)=y^\ast. \]

特别地,

\[\frac{\partial v(b)}{\partial b_i}=y_i^\ast. \]

这意味着:

当约束右端参数 \(b_i\) 发生一个很小的变化时,最优目标值的一阶变化率就是 \(y_i^\ast\)

这就是对偶变量的影子价格(shadow price)含义。

如果把 \(b_i\) 理解成某种资源数量,那么 \(y_i^\ast\) 就描述了这种资源的边际价值。也就是说,在当前最优解附近:

多获得一点这种资源,最优目标值大约会改变多少?

这个“价格”并不是市场中直接观察到的价格,而是由优化模型内部的约束和目标函数共同决定的,因此称为“影子价格”。


总结

理解对偶问题,可以抓住下面这条主线:

\[\text{原问题} \longrightarrow \text{Lagrange 函数} \longrightarrow \text{对偶函数} \longrightarrow \text{对偶问题}. \]

对于最小化问题,对偶问题的核心作用是:

\[\boxed{\text{寻找原问题最优值的最好 Lagrange 下界}} \]

在此基础上,对偶理论又进一步连接了三个重要主题:

\[\boxed{ \text{对偶性} \quad\longleftrightarrow\quad \text{KKT 最优性条件} \quad\longleftrightarrow\quad \text{灵敏度分析} } \]

而所谓的影子价格,本质上就是:

\[\boxed{\text{约束参数变化时,最优值的一阶变化率}} \]

因此,对偶问题并不是原问题之外附加出来的另一个问题,而是从另一个角度描述同一个优化问题的结构。

posted @ 2026-08-08 21:25  来者可追2019  阅读(10)  评论(0)    收藏  举报