存在即有理---拉格朗日對偶

這得須要一點拉格朗日乘子法的認識。你們可能都很熟悉這個著名的方法。可是仍是有不少入門的朋友忘記了具體過程的,因此仍是但願你們看一下這個來系統的認識一下此方法《拉格朗日乘子法》函數

\bf \color{red}{前方多公式預警,非戰鬥人員撤離}

建議戰鬥人員多啃幾遍,最好能夠作到本身能夠手推公式。post

原函數問題

咱們從新回到那個通常狀況下的約束問題:優化

\min_{x\in R^n}\ f(x)
s.t. \quad c_{i}(x)\leq0 \ ,\quad i=1,2,...,k
\quad \qquad h_{j}(x)=0 \ ,\quad j=1,2,...,l

其拉格朗日函數爲:get

L(x,\alpha, \beta) = f(x) + \sum _{i=1}^k  \alpha_{i} c_{i}(x)+ \sum_{j=1}^l \beta_{j} h_{j} (x)

咱們令:io

\theta_P(x) = \max_{\alpha,\beta: \alpha_i \geq0}L(x,\alpha,\beta)

《拉格朗日乘子法》裏所述的不等式約束狀況下的推導,可知以下:入門

\theta_P(x) =
\begin{cases} 
f(x), \quad x \text{知足原始問題約束} \\ 
+\infty, \quad others \\
\end{cases}

因此考慮極小化問題:class

\min_x \theta_P(x) = \min_x \max_{\alpha,\beta: \alpha_i \geq0}L(x,\alpha,\beta)

這與原始問題的解是等價的。由於最小化將+\infty給去掉了。這個最新的極小化問題稱爲廣義拉格朗日函數的極小極大問題。咱們定義:方法

p^* = \min_x \theta_P(x)

對偶問題

咱們再定義:im

\theta_D(\alpha,\beta) = \min_xL(x, \alpha,\beta)

則:qq

\max_{\alpha,\beta}\theta_D(\alpha,\beta) = \max_{ \alpha,\beta} \ \min_xL(x,\alpha,\beta)
s.t. \qquad    \alpha_i   \geq 0, \quad i =1,2,...,k

被稱爲原始問題的對偶問題。一樣的,咱們也定義:

d^* = \max_{\alpha,\beta:\alpha_i \geq0}\theta_D( \alpha,\beta)

稱爲對偶問題的值。

原始問題與對偶問題的關係

若原始問題和對偶問題都有最優值,則:

d^* = \max_{\alpha,\beta:\alpha_i \geq 0} \min_x L(x, \alpha,\beta) \leq \min_x \max_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta) = p^*

證實:

對於任意的\alpha,\betax,有

\theta_D(\alpha,\beta)=\min_x L(x, \alpha,\beta)\leq L(x,\alpha,\beta)
\qquad \qquad \leq \max_{ \alpha,\beta:\alpha_i \geq0}L(x,\alpha,\beta)= \theta_P(x)

\theta_D(\alpha,\beta) \leq \theta_P(x)

因爲原始問題和對偶問題均有最優值,因此,

\max_{\alpha,\beta:\alpha_i\geq0}\theta_D(\alpha,\beta)\leq \min_x \theta_P(x)

即:

d^*=\max_{\alpha,\beta,\alpha_i \geq0}\min_xL(x,\alpha,\beta)\leq\min_x\max_{ \alpha,\beta:\alpha_i \geq0}L(x,\alpha,\beta)=p^*

由此咱們即可以推論出若d^*=p^*,則若是x^*, \alpha^*,\beta^*爲原始問題與對偶問題的可行解,那即是最優解。

在KKT條件之下,原始問題和對偶問題的最優解相等,即d^*=p^*。這時候咱們求解對偶問題即可獲得原始問題的解。若是朋友們不太理解KKT條件,則能夠看這篇文章《拉格朗日乘子法》


片尾彩蛋——手推KKT條件與對偶關係。

咱們對於最優化問題:

\min_xf(x) \qquad \qquad s.t. \; g_i(x) \leq0 \quad i=1,2,...,l

有以下拉格朗日函數:

L(x,\mu)=f(x)+ \sum_{i=1}^l \mu_ig_i(x)

咱們注意到,這裏咱們令\mu_i \geq0,緣由同上文所述。則\mu g(x)\leq0,那麼:

\max_{\mu}L(x,\mu)=\max_{\mu}f(x)+\max_{\mu} \sum_{i=1}^l \mu_i g_i(x)=\max_{\mu}f(x)

繼而咱們獲得:

\min_xf(x)=\min_x \max_{\mu}L(x,\mu)

咱們先停在這,換一條主線: 咱們由對偶問題\max_{\mu} \min_xL(x,\mu)展開:

\max_{\mu} \min_xL(x,\mu)=\max_{\mu}[\min_xf(x)+\min_x \mu g(x)]
\qquad\qquad \qquad \quad =\min_xf(x)+\max_{\mu}\min_x \mu g(x)

咱們須要注意這裏的\mug(x)都是向量,因此我去掉了下標i,因爲f(x)\mu無關,因此上式成立。 又易知:

\min_x \mu g(x)=
\begin{cases} 
0 \qquad if\ \mu=0 \; or \; g(x)=0 \\ 
-\infty  \quad if \ \mu >0\ and \ g(x)<0\\
\end{cases}

那咱們也有

\max_{\mu} \min_xL(x,\mu)=\min_xf(x)

那麼這樣的話,結合前面停下來的式子,咱們便有:

\max_{\mu} \min_xL(x,\mu)=\min_x \max_{\mu}L(x,\mu)

這就是對偶問題與原問題相等。而這一切都創建在什麼條件上呢?咱們總結可得KKT條件:

\begin{cases} L(x,\mu)=f(x)+ \sum_{i=1}^l \mu_ig_i(x)\\ 
\mu_i \geq0\\
g_i(x)\leq0
\end{cases}

在此條件下,原問題和對偶問題相同,而且與\min_xf(x)相同。在最優解初\mu=0或者g(x)=0,此最優值也是L(x,\mu)的極值點。固然這一切都是在凸函數的前提下提出的。若是是非凸函數的話,KKT條件只能算是必要條件,並且也不存在比較好用的其餘充要條件。

由此咱們獲得了KKT條件。由上文有完整KKT條件介紹

相關文章
相關標籤/搜索