在約束最優化問題中,經常使用拉格朗日對偶性將原始問題轉換爲對偶問題求解。函數
稱最優化問題優化
$\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}$blog
爲原始最優化問題。使用以上優化問題構造廣義拉格朗日函數:it
$L(x,\alpha,\beta) = f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)$io
其中$\alpha_i\ge 0,\beta_j\in R$是拉格朗日乘子。能夠發現,對於違反原始問題約束的$x$,即存在某個$c_i(x)>0$,或某個$h_j(x)\ne 0$,有:im
$\max\limits_{\alpha\ge 0,\beta}L(x,\alpha,\beta) = +\infty$margin
所以有:img
$\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}$di
所以原始問題的最優值能夠表示爲:co
$p^* = \min\limits_{x}\max\limits_{\alpha\ge 0 , \beta}L(x,\alpha,\beta)$
從而將約束條件與待優化問題結合到了一塊兒,稱爲廣義拉格朗日函數的極小極大問題。
將極小極大交換一下,獲得
$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^*$
這是由於,對於任意$x,\alpha,\beta$,有:
$\min\limits_{x}L(x,\alpha,\beta)\le L(x,\alpha,\beta)\le\max\limits_{\alpha\ge 0 , \beta}L(x,\alpha,\beta)$
也就是左邊關於$\alpha,\beta$的函數,老是小於等於右邊關於$x$的函數。因此有$d^*\le p^*$。
某些狀況下,對偶問題與原始問題有相等的最優值,即對於一樣的$x^*,\alpha^*,\beta^*$,有$d^* = p^*$,這時解對偶問題能夠替代原始問題,條件以下:
一、$f(x)$和$c_i(x)$是凸函數;
二、$h_j(x)$是仿射函數,即一次函數;
三、不等式約束$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條件的事實:
一、三個白色箭頭分別表示三個函數的梯度方向,此時有三個梯度的加權矢量和爲0,與KKT條件中的1式吻合。
二、由於最優勢在紅圈上,所以不等式約束取等爲0,有2式。
三、3式和5式是本來的約束條件。
四、觀察三個梯度的方向,由於$f(x)$的方向不能改變(1式梯度前沒係數),因此爲了矢量和爲0,$\alpha$必須大於0(知足4式,而且在2式中與$c(x^*)$成爲互補條件)。而因爲等式約束的仿射函數取反後約束不變,而梯度方向卻變反了,所以$\beta$沒有正負的限制。