優化命題的對偶性(Duality)

本文用以介紹和分析帶有約束的優化命題的對偶性(Duality),給出對偶命題的推導方面,並舉例說明。主要參考的是Jorge Nocedal 和 Stephen J. Wright 的 Numerical Optimization 一書(第二版)。

對偶命題的定義

考察如下的只含不等式約束的一般性優化命題:

minxRnf(x)subject to c(x)0(1)
針對這一命題的Lagrangian函數爲:
L(x,λ)=f(x)λTc(x)
其中,λRm 是Lagrangian乘子。

針對上面的式子,我們定義如下的對偶目標函數(dual objective function)q 如下:

q(λ):=infxL(x,λ)(2)
也就是針對不同的 λ 參數確定一組 x 使得 q(λ) 最小。同時,這裏我們只考慮最小值不會是 的情況。這裏我們要求取的是 L(x,λ) 的全局最小值,但是當 f(x) 爲凸函數,且 c(x) 爲凹函數(比如線性約束)的時候,L(x,λ) 是凸函數,因此任何一個局部最小都是全局最小。

因此,我們可以定義命題(1)的對偶命題(Dual Problem)如下(這裏 λ 被稱爲對偶變量):

maxλRmq(λ)subject to λ0(3)

對偶命題的性質

  • 性質 1 (Weak Duality)
    對於任意滿足(1)式中約束的 x¯ 以及任意的 λ¯0 ,有 q(λ¯)f(x¯)
    其實這條性質的意思就是通過對 q(λ) 的估計我們可以估計出原始優化命題的解的一個下界。

  • 性質 2
    這裏我們首先明確一下原命題(1)的KKT條件如下:

    f(x¯)c(x¯)λ¯c(x¯)λ¯λ¯ici(x¯)=000=0,i=1,2,...,m(4a)(4b)(4c)(4d)
    如果 x¯ 是原命題(1)的一個解,且 f(x)c(x) 都是凸函數,且在 x¯ 處二階可導。那麼滿足上面(4)式的KKT條件的 λ¯ 就是對偶命題(3)的解。
    從這條性質我們可以看出,原始命題的解與對偶命題的解通過KKT條件建立了某種聯繫。
  • 性質 3
    假設f(x)c(x) 都是凸函數,且在 Rn 上二階可導。假設 x¯ 是原命題(1)的解且在 x¯ 處約束相互獨立。假設 λ^ 是對偶命題(3)的解且最小值在 x^ 取得。進一步假設 L(,λ^) 是嚴格凸函數。那麼 x¯=x^ ,且 f(x¯)=L(x^,λ^)
    從這條性質可以進一步看出原命題與對偶命題的關係,即在滿足一系列條件的情況下,原始命題的最小值和對偶命題的最大值在同一組參數 (x,λ) 處取得。

舉例

線性規劃

考慮如下的線性規劃命題:

minxcTxsubject to Axb0,(5)
其對偶目標函數爲:
q(λ)=infx[cTxλT(Axb)]=infx[(cATλ)Tx+bTλ]
如果 cATλ0 那麼下界顯然是 , 因此我們考慮的範圍就侷限於 cATλ=0 的情況(因爲 顯然不會是下界中的最大值)。因此,上面線性規劃命題的對偶命題就是:
maxλbTλsubject to ATλ=c,λ0(6)

凸二次規劃

考慮如下的二次規劃:

min12xTGx+cTxsubject to Axb0,(7)
這裏 G=GT,G0 。其對偶目標函數爲:
q(λ)=infx[12xTGx+cTxλT(Axb)]
這裏Lagrangian函數是凸函數,因此在最小值出導數爲0,即
Gx+cATλ=0
,將這裏的 xλ 的關係代入可以得到對偶命題爲:
maxλ12(ATλc)TG1(ATλc)+bTλsubject to λ0(8)


這裏舉一個簡單的一維二次規劃的例子來說明上面的內容,令(7)式中的 G=2,c=2 ,函數圖像如下:

這裏寫圖片描述

當我們講約束設定爲 5x5 時,可以從圖中看出,應該在 x=1 處取得最小值 1 。這個時候的對偶命題的圖像爲:

這裏寫圖片描述

可以看出,對偶的目標函數在 (0,0) 處取得最大值,在各處具體的函數值見下圖:(注意 q 陣中的行和列對應的座標都是以 0.5 爲單位從 0 向上遞增)

這裏寫圖片描述

從上圖可以看出,目標函數確實在 (0,0) 點處取得最大值。爲什麼是 (0,0) 點呢,因爲約束爲在原命題中的約束 5x5 時,最優點處的兩條約束都沒有激活(active),所以兩條約束對應的對偶變量都是0.

然後,我們改變約束條件,令約束條件爲 6x2 時,對偶命題的函數圖象爲:

這裏寫圖片描述

從圖中可以看出,當對偶目標函數取得最大值時,對偶變量 λ1=0,λ20 ,這也很好理解因爲此時在原命題的最優點處第一條約束沒有激活而第二條約束被激活了。關於具體的最大值和 λ2 的值。 具體內容見下圖:(注意 q 陣中的行和列對應的座標都是以 0.5 爲單位從 0 向上遞增)

這裏寫圖片描述

可以看出,對偶函數的最大值爲 8 ,等於原始函數的最小值,此時λ2=6 .

從上面一個例子我們也可以感受到,原始命題只有一個決策變量,其實很好求解;而對偶命題有兩個決策變量,相對來說較難求解。也就是說,當我們面對一個問題時,其決策變量數和約束條數從某種程度上說明了求解其原始命題和對偶命題求解的相對難易程度。我們可以選擇求解原始命題或求解其對偶命題,這也是一些對偶算法的由來。

但是我們也應該意識到,在從對偶命題的方向求解時,我們在迭代過程中的點返回到原始命題中往往是不可行的(infeasible),也就是說,對偶的方法往往要在最後一步才能給出一個可行解,而且這個可行解就是最優的,但如果讓算法提前終止迭代的話,我們就要冒着拿到一個不可行解的風險,而這個風險在原始算法中往往是不存在的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章