拉格朗日对偶性
阅读本文之前,可先阅读博客。
1. 原始问题
假设 $f(x),g_{i}(x),c_{j}(x)$ 是定义在 $R^{n}$ 上的连续可微函数,考虑约束最优化问题:
$$\min_{x} \; f(x) \\
s.t. \;\;\; g_{i}(x) \leq 0, \;\;\; i = 1,2,\cdots,k \\
c_{j}(x) = 0, \;\;\; j = 1,2,\cdots, l $$
称为约束最优化问题的原始问题。
引进广义拉格朗日函数:
$$L(x,\lambda,\mu) = f(x) + \sum_{i=1}^{k}\lambda_{i}g_{i}(x) + \sum_{j=1}^{l}\mu_{j}c_{j}(x), \lambda_{i} \geq 0$$
因为原始问题包含不等式约束,所以上面这个拉格朗日函数的最小值和原始问题并不等价,与原始问题等价的是对应的 KKT 条件。
现在,把 $L(x,\lambda,\mu)$ 看作是关于 $\lambda_{i},\mu_{j}$ 的函数,$x$ 为常量要求其最大值,即
$$\max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu)$$
经过我们优化(不要管什么方法),就是确定 $\lambda_{i},\mu_{j}$ 的值使得 $L(x,\lambda,\mu)$ 取得最大值(此过程中把 $x$ 看做常量),确定了 $\lambda_{i},\mu_{j}$ 的值,
就可以得到 $L(x,\lambda,\mu)$ 的最大值,因为 $\lambda_{i},\mu_{j}$ 已经确定,显然最大值 $\max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu)$ 就是只和 $x$ 有关的函数,定义这个函数为:
$$\theta_{P}(x) = \max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu)$$
假设原始问题总是有解的,对 $\theta_{P}(x)$ 定义域中的 $x$ 就只有两种情况:
1)某个 $x$ 不满足原始的约束
就是说将这个 $x$ 代入函数有 $g_{i}(x) > 0$ 或 $c_{j}(x) \neq 0$,那么此时 $\theta_{P}(x)$ 变成什么样子呢?
$\theta_{P}(x)$ 是关于 $\lambda_{i},\mu_{j}$ 函数的最大值,无论是破坏了哪个约束,都可以取对应的参时 $\lambda_{i} \rightarrow \infty \; or \; \mu_{j} \rightarrow \infty$,使函数值趋于 $\infty$。
2)某个 $x$ 满足原始的全部约束
因为已经假设原始问题有解,所有一定会有满足约束的 $x$ 存在。
这种情况意味着 $\theta_{P}(x)$ 中含 $c_{j}(x)$ 的项全部为 $0$,含 $g_{i}(x)$ 的项全部非正,那么要使 $\theta_{P}(x)$ 取最大值,就得使 $g_{i}(x)$ 的所
有系数 $\lambda_{i} = 0$,所以此时最大值就是 $f(x)$(因为 $x$ 为常数,所以这是一个常数项)。
综上可得:
因为已假设原始问题一定有解,所以 $\min_{P}(x)$ 一定是满足约束条件的 $x$ 取到的,所以有如下等价:
$$\left\{\begin{matrix}
\min_{x} \; f(x) \\
s.t. \;\; g_{i}(x) \leq 0, \;\;\; i = 1,2,\cdots,k \\
c_{j}(x) = 0, \;\;\; j = 1,2,\cdots, l
\end{matrix}\right. \; \Leftrightarrow \;
\min_{x} \theta_{P}(x) = \min_{x} \bigg [ \max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu) \bigg]$$
原始问题就完全转化为一个最小最大问题。
2. 对偶问题
依然是研究这个广义的拉格朗日函数:
$$L(x,\lambda,\mu) = f(x) + \sum_{i=1}^{k}\lambda_{i}g_{i}(x) + \sum_{j=1}^{l}\mu_{j}c_{j}(x), \lambda_{i} \geq 0$$
现在,把 $L(x,\lambda,\mu)$ 看作是关于 $x$ 的函数,$\lambda_{i},\mu_{j}$ 为常量要求其最小值,即
$$\min_{x} L(x,\lambda,\mu)$$
经过我们优化(不要管什么方法),就是确定 $x$ 的值使得 $L(x,\lambda,\mu)$ 取得最小值(此过程中把 $\lambda_{i},\mu_{j}$ 看做常量),确定了 $x$ 的值,
就可以得到 $L(x,\lambda,\mu)$ 的最小值,因为 $x$ 已经确定,显然最小值 $\min_{x} L(x,\lambda,\mu)$ 就是只和 $\lambda_{i},\mu_{j}$ 有关的函数,定义这个函数为:
$$\theta_{D}(\lambda, \mu) = \min_{x} L(x,\lambda,\mu)$$
对这个函数考虑极大值,即
$$\max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} \theta_{D}(\lambda, \mu) = \max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} \bigg [ \min_{x} L(x,\lambda,\mu) \bigg ]$$
这个最大最小问题就是原始问题的对偶问题。
那原始问题和其对偶问题有什么关系呢?若原始问题与对偶问题都有最优值,对偶问题的最优解 $\leq$ 原始问题的最优解,即
$$\max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} \bigg [ \min_{x} L(x,\lambda,\mu) \bigg ] \leq \min_{x} \bigg [ \max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu) \bigg]$$
证明:
对任意的 $x, \lambda, \mu$,有
$$\min_{x} L(x,\lambda,\mu) \leq L(x,\lambda,\mu) \leq \max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} L(x,\lambda,\mu)$$
即:
$$\theta_{D}(x) \leq \theta_{P}(x)$$
由于原始问题与对偶问题都有最优值,所以
$$\max_{\lambda,\mu \;:\;\lambda_{i} \geq 0} \theta_{D}(x) \leq \min_{x} \theta_{P}(x)$$
证毕
所以:我们要通过对偶问题来求解原始问题,就必须使得原始问题的最优值与对偶问题的最优值相等。
那什么时候这两个最优值会相等呢?暂时不叙述。