拉格朗日乘數法解含不等式約束的最優化問題


拉格朗日乘數法解含不等式約束的最優化問題

拉格朗日乘子法(Lagrange Multiplier)和 KKT(Karush-Kuhn-Tucker)條件是求解約束優化問題的重要方法,在有等式約束時使用拉格朗日乘子法,在有不等約束時使用KKT條件。當然,這兩個方法求得的結果只是必要條件,只有當目標函數是凸函數的情況下,才能保證是充分必要條件。

帶有不等式約束的最優化問題通常可以表述為如下形式:

\[\begin{aligned}&\min f(X) \\ s.t.\quad & g_k(X)\le 0, k = 1,2,\dots,q \end{aligned} \]

還是看一個具體的例子

\[\begin{aligned}\min f(d_1,d_2) &= d_1^2 + d_2^2 - 2d_2 + 2 \\ s.t.\quad & d_1^2 + d_2^2 \le 4\end{aligned} \]

  1. 首先寫出拉格朗日函數

    \[g(d_1,d_2,\lambda, \eta) = f(d_1, d_2) + \lambda (d_1^2 + d_2^2 - 4 + \eta^2) \]

  2. \(\lambda\)是拉格朗日乘子,引入的新的\(\eta\) 是一個松弛變量,目的是為了將不等式約束經過松弛后,變為等式約束,注意\(\lambda \ge 0\) 。 這是不等式約束與等式約束最優化問題拉格朗日乘數法的一個重要區別。

  3. 然后對四個未知量分別求導,且令導函數為0,有

    \[\begin{cases}2\eta\lambda = 0 \\d_1^2+d_2^2-4 + \eta^2 = 0\\2d_2 - 2 + 2\lambda d_2 = 0\\ 2d_1 + 2\lambda d_1 = 0\\ \lambda\ge 0\end{cases} \]

  4. \(d_1 + \lambda d_1 = 0\)\(d_1 = 0\) ,\(\eta\lambda = 0\) 情況需要分開判斷,假設\(\lambda = 0\)\(d_2 = 1, \eta = \sqrt{3}\), 若\(\lambda > 0\),則\(\eta =0\), 求出\(\eta < 0\) 與假設矛盾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM