1. 程式人生 > 其它 >拉格朗日乘子法

拉格朗日乘子法

等式約束優化

當目標函式加上約束條件之後,問題就變成如下形式:
目標函式和約束

約束條件會將解的範圍限定在一個可行域,此時不一定能找到使得 xf(x)為 0 的點,只需找到在可行域內使得 f(x) 最小的值即可,常用的方法即為拉格朗日乘子法,該方法首先引入 Lagrange Multiplier αRm ,構建 Lagrangian 如下:

求解方法如下:首先對 Lagrangian  關於 α 與 x 求 :

令導數為 0 ,求得 x 、α  的值後,將 x 帶入 f(x)即為在約束條件 hi(x)下的可行解。這樣做的意義是什麼呢? 
接下來看一個直觀的示例,對於二維情況下的目標函式是 

f(x,y),在平面中畫出 f(x,y) 的等高線,如下圖的虛線所示, 並只給出一個約束等式 h(x,y)=0 ,
如下圖的綠線所示,目標函式 f(x,y)與約束 g(x,y) 只有三種情況,相交、相切或者沒有交集,沒交集肯定不是解,只有相交或者相切可能是解,
但相交得到的一定不是最優值,因為相交意味著肯定還存在其它的等高線在該條等高線的內部或者外部,使得新的等高線與目標函式的交點的值更大或者更小,
這就意味著只有等高線與目標函式的曲線相切的時候,才可能得到可行解。

 因此給出結論:拉格朗日乘子法取得極值的必要條件是目標函式與約束函式相切,這時兩者的法向量是平行的,即

h(x) = x² + y² 的等值線

g(x)= x² y 的等值線
藍線表示g(x)= 3的等值線,此時x與y的對應關係一一對應

h(x)=x² + y² 的等值線有內到外逐漸增加,當增加的等值線與約束線g(x)= 3線切時,h(x)最小
因為根據下圖可已看出,h(x)等值線再往外擴與g(x)有交點,但h(x)的值變大。