本文用以介紹和分析帶有約束的優化命題的對偶性(Duality),給出對偶命題的推導方面,並舉例說明。主要參考的是Jorge Nocedal 和 Stephen J. Wright 的 Numerical Optimization 一書(第二版)。
對偶命題的定義
考察如下的只含不等式約束的一般性優化命題:
針對上面的式子,我們定義如下的對偶目標函數(dual objective function)
因此,我們可以定義命題(1)的對偶命題(Dual Problem)如下(這裏
對偶命題的性質
性質 1 (Weak Duality)
對於任意滿足(1)式中約束的x¯ 以及任意的λ¯≥0 ,有q(λ¯)≤f(x¯) 。
其實這條性質的意思就是通過對q(λ) 的估計我們可以估計出原始優化命題的解的一個下界。性質 2
這裏我們首先明確一下原命題(1)的KKT條件如下:
如果∇f(x¯)−∇c(x¯)λ¯c(x¯)λ¯λ¯ici(x¯)=0≥0≥0=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∗,λ∗) 處取得。
舉例
線性規劃
考慮如下的線性規劃命題:
凸二次規劃
考慮如下的二次規劃:
這裏舉一個簡單的一維二次規劃的例子來說明上面的內容,令(7)式中的
當我們講約束設定爲
可以看出,對偶的目標函數在
從上圖可以看出,目標函數確實在
然後,我們改變約束條件,令約束條件爲
從圖中可以看出,當對偶目標函數取得最大值時,對偶變量
可以看出,對偶函數的最大值爲
從上面一個例子我們也可以感受到,原始命題只有一個決策變量,其實很好求解;而對偶命題有兩個決策變量,相對來說較難求解。也就是說,當我們面對一個問題時,其決策變量數和約束條數從某種程度上說明了求解其原始命題和對偶命題求解的相對難易程度。我們可以選擇求解原始命題或求解其對偶命題,這也是一些對偶算法的由來。
但是我們也應該意識到,在從對偶命題的方向求解時,我們在迭代過程中的點返回到原始命題中往往是不可行的(infeasible),也就是說,對偶的方法往往要在最後一步才能給出一個可行解,而且這個可行解就是最優的,但如果讓算法提前終止迭代的話,我們就要冒着拿到一個不可行解的風險,而這個風險在原始算法中往往是不存在的。