優化問題:
所有優化問題都可以形式化成
minimize ƒ0(x), x€Rn
st. fi(x)<=0
hi(x) =0 i = 1,2,3,...m
如果 ƒ0(x)為凸函數, ƒi(x)為凸函數,hi(x)為仿函數,則該優化問題為凸優化問題
約束條件:
1.等式約束
2.不等式約束由於KKT條件,所以需要有等號
上確界(Supremum):一個集合的最小上界, 數學符號sup
下確界(greatest lower boundinf):一個集合的最大下界,數學符號inf
上確界與最大值:上確界類似於最大值,但是和最大值不同的是,最大值有時候會遇到無法取到的情況。比如x∈R,x<2這樣的情況下就不存在一個確定的最大值。但是可以確定上確界為2。
下確界與最小值:參考上面
幾何想象:
(圖中的目標函數等高線其實就是等值線,在同一條等值線上的點對應的目標函數值相同)。
假設(就是這個向量一共有d個標量組成),則
的幾何意象就是d維空間中的d-1維曲面,如果函數
是線性的,
則是個d-1維的超平面(這是平面中的直線、空間中的平面之推廣(n大於3才被稱為“超”平面))。那么有約束優化問題就要求在這個d-1維的曲面或者超平面上找到能使得目標函數最小的點,這個d-1維的曲面就是“可行解區域”。
對於不等式約束條件,,則可行解區域從d-1維曲面擴展成為d維空間的一個子集。我們可以從d=2的二維空間進行對比理解。等式約束對應的可行解空間就是一條線;不等式約束對應的則是這條線以及線的某一側對應的區域。
拉格朗日乘子法:
將有等式約束優化問題轉為無約束優化問題,形式如下:
、
目標函數有兩個自變量 ,分別對兩變量取導數,等式取0。
KKT條件:
對於不等式約束條件,最優解可能有兩種情況
(1)最優解在邊界上,就相當於約束條件就是,所以函數 f(x)在最優解x*附近的變化趨勢是“在可行解區域內側較大而在區域外側較小”,與之對應的是函數g(x)在可行解區域內小於0,在區域外大於零,所以在最優解x*附近的變化趨勢是內部較小而外部較大。這意味着目標函數f(x)的梯度方向與約束條件函數g(x)的梯度方向相反。因此根據拉格朗日公式,可以推斷出參數
(2)如果在區域內,則相當於約束條件沒有起作用
整合上述兩種情況:
(1)是約束條件 (2)是拉格朗日乘子的描述(3)是兩種情況的推論,在第一種情況里,;在第二種情況下,
Karush-Kuhn-Tucker條件從約束條件(1)擴展出另外兩個條件,原因是:
1)KKT條件是對最優解的約束,而原始問題中的約束條件是對可行解的約束。
2)KKT條件的推導對於拉格朗日對偶問題的推導很重要。
對偶問題
提出問題:構造拉格朗日方程的目的是將約束條件放到目標函數中,從而將有約束優化問題轉換為無約束優化問題。那么如何針對不等式約束條件下的優化問題構建拉格朗日函數呢?
如果能夠構造一個函數,使得該函數在可行解區域內與原目標函數完全一致,而在可行解區域外的數值非常大,甚至是無窮大,那么這個沒有約束條件的新目標函數的優化問題就與原來有約束條件的原始目標函數的優化是等價的問題。
(1)原始目標函數
m個等式約束條件和n個不等式約束條件的目標函數f(x)的優化問題
(2)構造沒有約束條件的目標函數
目標是建立一個在可行解區域內與原目標函數相同,在可行解區域外函數值趨近於無窮大的新函數
基於廣義拉格朗日函數L的新目標函數:
其中,是針對等式約束和不等式約束的系數變量
(3)對偶問題
L函數很難把alpha和beta變量拿掉,單純令來求解最優解x*,這里就引入了對偶概念
原不帶約束條件的目標函數可以表達為其中,P是原始問題Primary的縮寫
構造新函數
得到對偶等式其中,D是對偶問題Dual的縮寫
對偶式可以被證明與原目標式具有相同解 x* alpha* beta*
可視化案例
如果沒有任何約束條件,最優解在坐標原點(0, 0)處(青色X);如果只有不等式約束條件 ,最優解在坐標(1,0)處(紅色X);如果只有等式約束條件 ,在坐標(1,-1)處(綠色+);如果兩個約束條件都有,最優解在黃色處。
構建拉格朗日函數