1. 程式人生 > >對偶專題——KKT條件

對偶專題——KKT條件

[對偶專題——Duality and Dual problem (一) https://blog.csdn.net/jmh1996/article/details/85030323]
對於一般的帶約束的優化問題:
在這裡插入圖片描述
介紹瞭如何通過構造原優化目標的一個下界函式 L ( x , λ ,

u ) L(x,\lambda,u) ,這一般通過新增一些線性的函式來構造的,然後找到這個函式的最大值。尋找的方法是先固定 λ \lambda 最小化 L
( x , λ ) L(x,\lambda)
得到一個 g ( λ
, u ) g(\lambda,u)
。然後再通過變化 λ , u \lambda,u 的值來最大化 g ( λ , u ) g(\lambda,u) 。注意其中的一個重要的不等式:
f 0 ( x ) L ( x , λ , u ) g ( λ , u ) f_0(x)\geq L(x,\lambda,u)\geq g(\lambda,u)
g ( λ , u ) g(\lambda,u) 就是對偶函式,而最大化 g ( λ , u ) g(\lambda,u) 就是所謂的對偶問題。

原函式的影象與 L ( x , λ , u ) L(x,\lambda,u) 的影象是這樣的:
在這裡插入圖片描述
我們可以看到,對於一般的最優化問題,原函式的最小值其實和 L ( x , λ , u ) L(x,\lambda,u) 的最大值是存在一段距離的,他們並不相等。

如果他們相等的話,那麼我們就可以通過解對偶問題來求原目標函式的最小值,可以想象這會給問題求解帶來巨大的便利,因為對偶函式 a l w a y s always 是個凸函式。

那麼什麼時候下對偶問題的最大值會等於原問題的最小值呢?

我們先看只有等式約束的情況:
在這裡插入圖片描述
現在只含有等式約束,其實是方便的很了。

假設 f 0 ( x , y ) h ( x , y ) = 0 f_0(x,y)和h(x,y)=0 的影象是這樣的:
在這裡插入圖片描述
如上圖所示,紅線是 h ( x , y ) = 0 h(x,y)=0 這個等式確定的一條曲線。各個藍圈圈是 f 0 ( x , y ) = 1 , 2 , 3 f_0(x,y)=1,2,3··· 形成的曲線。現在,我們觀察到當 f 0 ( x , y ) = 2 f_0(x,y)=2 的時候, f 0 ( x , y ) f_0(x,y) h ( x , y ) = 0 h(x,y)=0 相交於兩個點,此時目測當 f 0 ( x , y ) f_0(x,y) 繼續變小的時候,它和 h ( x , y ) = 0 h(x,y)=0 依然還有交點,因此 2 2 肯定就不是 f 0 ( x , y ) f_0(x,y) 的最小值。當 f 0 ( x , y ) = 1 f_0(x,y)=1 的時候,它和 h ( x , y ) = 0 h(x,y)=0 只有一個交點了,交點是兩個曲線的切點處, f 0 ( x , y ) f_0(x,y) 再變小一點點 它就和紅線沒有交點了,因此 f 0 ( x , y ) f_0(x,y) 的最小值就是1。假設交點是 ( x , y ) (x^*,y^*)

注意到 f 0 ( x , y ) = 1 f_0(x,y)=1 h ( x , y ) = 0 h(x,y)=0 相切於 ( x , y ) (x^*,y^*) ,根據相切的定義我們可以得到它們的梯度是共線的: f 0 ( x , y ) = λ h ( x , y ) \bigtriangledown f_0(x,y)=\lambda \bigtriangledown h(x,y)

於是,對於帶等式約束 h ( x ) = 0 h(x)=0 的最優化問題,我們可以得到。