拉格朗日對偶性


0 前言

本文承接上一篇博文拉格朗日乘子法和KKT條件http://www.cnblogs.com/liaohuiqiang/p/7805954.html講講拉格朗日對偶性的問題。

在約束優化問題中,常常用拉格朗日對偶性來將原始問題轉為對偶問題,通過解對偶問題的解來得到原始問題的解。

 

1 為什么要利用對偶?

首先要明確,對偶問題的解不一定直接等於原問題的解(弱對偶),但是,對偶問題有兩點性質。

1.1 滿足某些條件時,對偶問題直接等於原問題的解(強對偶)

1.2 無論原始問題是否是凸的,對偶問題都是凸優化問題

顯然,在某些情況下,直接對對偶問題求解可以得到原問題的解,而且對偶問題是凸優化,易於求解。所以利用對偶來求解是很有用的。

 

1 原始問題

考慮原始的優化問題如下

先定義拉格朗日函數$ L(x, \alpha , \beta ) = f(x) + \sum _{i=1}^q \alpha_i g_i(x) + \sum _{j=q+1}^m \beta_j h_j(x) $

考慮函數$$\Theta_P(x) = \max_{\alpha, \beta: \alpha_i\geqslant 0}L(x, \alpha , \beta ) $$

顯然滿足約束時函數等於f(x),不滿足約束時函數等於正無窮,容易得到$ \Theta_P(x) = \begin{Bmatrix}f(x), x\ satisfy\ constraints\\ {+ \infty, others }\end{Bmatrix} $

極小化該函數得到的$$\min_x  \Theta_P(x) =\min_x \max_{\alpha, \beta: \alpha_i\geqslant 0}L(x, \alpha , \beta ) $$和原始的優化問題是等價。

同時,我們定義原始問題的最優值為$$ p^*=\min_x  \Theta_P(x) $$

 

2 對偶問題

考慮函數$$\Theta_D(\alpha , \beta) = \min_x L(x, \alpha , \beta ) $$

極大化該函數得到$$\max_{\alpha, \beta: \alpha_i\geqslant 0} \Theta_D(\alpha ,\beta) =\max_{\alpha, \beta:\alpha_i\geqslant 0}\min_x L(x, \alpha , \beta ) $$我們把這個極大化問題視為對偶問題。

同時,我們定義對偶問題的最優值為$$ d^*=\max_{\alpha, \beta: \alpha_i\geqslant 0} \Theta_D(\alpha ,\beta) $$

 

3 原始問題和對偶問題的關系

可以得知$ d^*\leqslant p^* $,因為p是先求最大的一塊區域然后在這塊區域求最小,d是先求最小的一塊區域然后在這塊區域求最大,最大里面的最小,總會比最小里面的最大要大(或等於)。

$ d^*\leqslant p^* $,稱為弱對偶,對於所有優化問題都成立,這個時候我們可以得到原始問題的一個下界。

如果$  d^*= p^* $,稱為強對偶,滿足某些條件才成立,這時可以用解對偶問題替代原始問題。那么滿足什么樣的條件可以得到強對偶呢?

如果原問題是一個凸優化,並且不等式約束g(x)是嚴格可行的,即存在x對所有i有$ g_i(x)<0 $,那么強對偶成立。這里需要注意的是,這里的條件只是強對偶成立的一種情況,對於非凸的問題也有可能是強對偶。

強對偶成立時,將拉格朗日函數分別對原變量x和對偶變量α和β分別求導,令導數等於零(還需要滿足KKT條件),即可求解對偶問題的解,也就求得了原問題的解。

 

4 對偶求解和拉格朗日乘子法求解

對於拉格朗日乘子法求解,當原問題是凸優化的時候,考慮滿足KKT的條件,對於拉格朗日函數求導等於0即可得到解。

對於對偶問題求解,轉換為對偶函數求解,為了得到原始問題的解,要求強對偶,而在強對偶(不一定滿足原問題凸優化)的情況下,考慮滿足KKT的條件,對於拉格朗日函數求導等於0即可得到解。

當原問題是凸優化的時候,強對偶和KKT條件是互為充要條件的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM