拉格朗日乘子法

2022-10-10 22:12:19 字數 1039 閱讀 9113

等式約束優化

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

目標函式和約束

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

∇xf(x)'>f(x)'>α∈rm'>

求解方法如下:首先對 lagrangian 關於α'>α與x'>x求 :

令導數為 0 ,求得x'>x、α'>α 的值後,將x'>x帶入f(x)'>f(x)即為在約束條件hi(x)'>hi(x)下的可行解。這樣做的意義是什麼呢?

接下來看乙個直觀的示例,對於二維情況下的目標函式是f(x,y)'>f(x,y),在平面中畫出f(x,y)'>f(x,y)的等高線,如下圖的虛線所示, 並只給出乙個約束等式h(x,y)=0'>h(x,y)=0,

如下圖的綠線所示,目標函式f(x,y)'>f(x,y)與約束g(x,y)'>g(x,y)只有三種情況,相交、相切或者沒有交集,沒交集肯定不是解,只有相交或者相切可能是解,

但相交得到的一定不是最優值,因為相交意味著肯定還存在其它的等高線在該條等高線的內部或者外部,使得新的等高線與目標函式的交點的值更大或者更小,

這就意味著只有等高線與目標函式的曲線相切的時候,才可能得到可行解。

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)的值變大。

原文位址:

拉格朗日乘子法

最近在學習 svm 的過程中,遇到關於優化理論中拉格朗日乘子法的知識,本文是根據幾篇文章總結得來的筆記。由於是剛剛接觸,難免存在錯誤,還望指出?另外,本文不會聊到深層次的數學推導,僅僅是介紹拉格朗日乘子法的內容,應用,以及個人對它的感性理解。按照維基百科的定義,拉格朗日乘數法是一種尋找多元函式在其變...

拉格朗日乘子法

最優化基本知識這裡就不贅述了,詳情可以參考個種最優化書籍,這篇部落格主要是幫助回憶優化應用中較常用的方法。一般情況下,最優化問題會碰到一下三種情況 1.無約束,2.等式約束 3.不等式約束。對於無約束情況,只要將優化目標對於變數求導,並令其等於0即可,我們主要討論第二種情況。設目標函式為f x 約束...

拉格朗日乘子法

在求取有約束條件的優化問題時,拉格朗日乘子法 lagrange multiplier 和kkt條件是非常重要的兩個求取方法,對於等式約束的優化問題,可以應用拉格朗日乘子法去求取最優值 如果含有不等式約束,可以應用kkt條件去求取。當然,這兩個方法求得的結果只是必要條件,只有當是凸函式的情況下,才能保...