拉格朗日對偶性和KKT條件


  在約束最優化問題中,常用拉格朗日對偶性將原始問題轉換為對偶問題求解。

廣義拉格朗日函數

  稱最優化問題

$\begin{equation} \begin{array}{lcl} \min\limits_{x\in R^n} f(x)\\ \begin{aligned} \text{s.t.}\;\;&c_i(x) \le 0,\;\;i=1,2,...,k \\ &h_j(x)=0,\;\;j=1,2,...,l \end{aligned} \end{array} \end {equation}$

  為原始最優化問題。使用以上優化問題構造廣義拉格朗日函數:

$L(x,\alpha,\beta) = f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)$

  其中$\alpha_i\ge 0,\beta_j\in R$是拉格朗日乘子。可以發現,對於違反原始問題約束的$x$,即存在某個$c_i(x)>0$,或某個$h_j(x)\ne 0$,有:

$\max\limits_{\alpha\ge 0,\beta}L(x,\alpha,\beta) = +\infty$

  因此有:

$\begin{equation} \max\limits_{\alpha\ge 0, \beta}L(x,\alpha,\beta) = \left\{ \begin{aligned} &f(x),\;\;x滿足原始條件約束\\ &+\infty,\;\;else \end{aligned} \right. \end {equation}$

  因此原始問題的最優值可以表示為:

$p^* = \min\limits_{x}\max\limits_{\alpha\ge 0 , \beta}L(x,\alpha,\beta)$

  從而將約束條件與待優化問題結合到了一起,稱為廣義拉格朗日函數的極小極大問題。

對偶問題以及KKT條件

對偶問題

  將極小極大交換一下,得到

$d^* = \max\limits_{\alpha\ge 0 , \beta}\min\limits_{x}L(x,\alpha,\beta)$

  即為原始問題的對偶問題的最優值。對偶問題轉換為帶條件的形式就是:

$\begin{aligned} &\max\limits_{\alpha,\beta}\min\limits_{x} L(x,\alpha,\beta)\\ &\;\text{s.t.}\;\;\alpha_i\ge 0, \;\; i=1,2,...,k \\ \end{aligned}$

  如果原始問題與對偶問題都有最優值,$p^*$和$d^*$,則:

$d^*= \max\limits_{\alpha\ge 0 , \beta}\min\limits_{x}L(x,\alpha,\beta)\le  \min\limits_{x}\max\limits_{\alpha\ge 0 , \beta}L(x,\alpha,\beta)= p^*$

  以下說明原因。

最大最小和最小最大的比較

  假設

$\min\limits_x\max\limits_yf(x,y)$

$\max\limits_y\min\limits_xf(x,y)$

  分別在$(x_0,y_M)$處取得最小最大值和在$(x_m,y_0)$處取得最大最小值。則有下列不等式成立:

$\min\limits_x\max\limits_yf(x,y)=f(x_0,y_M)\ge f(x_0,y_0)\ge f(x_m,y_0)=\max\limits_y\min\limits_xf(x,y)$

  第一個大於等於號是因為,對於固定的$x=x_0$, $f(x_0,y_M)$是所有$f(x_0,y)$中最大的。

  第二個大於等於號是因為,對於固定的$y=y_0$, $f(x_m,y_0)$是所有$f(x,y_0)$中最小的。

KKT條件

  某些情況下,對偶問題與原始問題有相等的最優值,即對於同樣的$x^*,\alpha^*,\beta^*$,有$d^* = p^*$,這時解對偶問題可以替代原始問題,條件如下:

  1、$f(x)$和$c_i(x)$是凸函數;

  2、$h_j(x)$是仿射函數,即一次函數;

  3、不等式約束$c_i(x)$是嚴格可行的,即存在$x$,對所有$i$有$c_i(x)<0$。如果不存在這樣的$x$的話,實際上就是等式約束了。這是因為,每個$x$都會使某個不等式約束取等號,也就可以僅使用等式約束來表示這些$x$了。

  此時有:

$p^*=d^*=L(x^*,\alpha^*,\beta^*)$

  且算出$x^*,\alpha^*,\beta^*$的充要條件是(KKT條件):

$\left\{ \begin{aligned} &\nabla_xL(x^*,\alpha^*,\beta^*) = 0 \\ &\alpha_i^*c_i(x^*) = 0, \;\; i=1,2,...,k \\ &c_i(x^*) \le 0, \;\; i=1,2,...,k \\ &\alpha_i^*\ge 0, \;\; i=1,2,...,k \\ &h_j(x^*) = 0, \;\; i=1,2,...,l \\ \end{aligned} \right.$

直觀理解

   上圖顯示了優化的一個情況。等高線表示的是待優化函數$f(x)$($x$二維),越向中心,值越小,是個標准的凸函數。紅圈表示不等式約束(內部),是個凸函數。藍線表示等式約束(線上),是仿射函數。則$x$可取的值在紅圈內部的藍線和紅藍線的兩個交點上。可觀察有如下幾個符合KKT條件的事實:

  1、三個白色箭頭分別表示三個函數的加權梯度方向,此時有三個梯度的加權矢量和為0,與KKT條件中的1式吻合。

  2、因為最優點在紅圈上,因此不等式約束取等為0,有2式。

  3、3式和5式是原本的約束條件。

  4、觀察不等式約束的加權梯度朝向為向外,也就是$\alpha$,符合2式。如果$\alpha<0$的話,三個梯度的加權矢量和就不可能為0了,1式也不可能滿足。


免責聲明!

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



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