拉格朗日对偶性

阅读本文之前,可先阅读博客

 

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)$$

   证毕

   所以:我们要通过对偶问题来求解原始问题,就必须使得原始问题的最优值与对偶问题的最优值相等。

   那什么时候这两个最优值会相等呢?暂时不叙述。

 

posted @ 2020-09-28 15:29  _yanghh  阅读(285)  评论(0编辑  收藏  举报