1. 程式人生 > >約束極值問題:拉格朗日乘子法、KKT條件與對偶理論

約束極值問題:拉格朗日乘子法、KKT條件與對偶理論

1 等式約束極值問題

考慮非線性規劃
minf(x)xRns.t.φi(x)=0,i=1, ,m\begin{aligned} \min &\quad f(\bm{x}) \quad \bm{x}\in\R^n \\ \text{s.t.} &\quad \varphi_i(\bm{x}) =0,\quad i=1,\cdots,m \end{aligned}

由於自變數的相互獨立性被約束條件破壞,因此不可任意使用求導後的結果。

1.1 拉格朗日乘子法(必要條件)

基本思想:通過引入拉格朗日乘子,將含有n個變數和m個約束條件的約束極值問題轉化為含n+k個變數的無約束優化問題。拉格朗日乘子的數學意義為約束方程梯度的線性組合中每個向量的係數

數學意義思想例項:求雙曲線xy=3離遠點最近的點?
問題的數學模型:
minx2+y2s.t.xy=3\begin{aligned} \min &\quad x^2 + y^2 \\ \text{s.t.} &\quad xy=3 \end{aligned}

等式約束也可通過變數替換的形式將約束條件加入目標函式,從而轉換為無約束極值問題,但一般不易求解。
令目標函式f(x)=x2+y2f(x)=x^2+y^2,約束函式φ(x)=xy3=0\varphi(x)=xy-3=0,如下圖

圖1 目標函式等值線簇與約束條件曲線

由圖可知,當目標函式與約束曲面相切時(目標函式的梯度正交於約束曲面),可能取得最優值。當f(x)f(\bm x)φ(x)\varphi(\bm x)相交時,在等高線f(x)f(\bm x)的內外側一定存在更大或更小的等高線(目標值)。相切亦不一定保證是極值點,這與f(x)f(\bm x)φ(x)\varphi(\bm x)凹凸性有關。

ffφ\varphi在切點處的法向量平行,即滿足f(x)=λφ(x)\nabla f(\bm x)=\lambda \nabla \varphi(\bm x)

(x)=λφ(x),即(2x,2y)T=λ(y,x)T(2x, 2y)^T=\lambda(y, x)^T,因此等式約束問題轉換為
{2x=λy2y=λxxy=3\begin{cases} 2x=\lambda y \\ 2y = \lambda x \\ xy = 3 \end{cases}

易求得上述方程的解為{(x,y)  (3,3),(3,3)}\{(x,y)\,|\,(-\sqrt 3, -\sqrt 3), (\sqrt 3, \sqrt 3)\}

一般性,對於等式約束極值問題,定義輔助拉格朗日函式
L(x,λ)=f(x)+i=1mλiφi(x)L(\bm x, \bm \lambda)=f(\bm x) + \sum_{i=1}^m\lambda_i\varphi_i(\bm x)

分別對x\bm xλ\bm \lambda求偏導,並令各偏導為0,得
{f(x)+i=1mλiφi(x)=0φi(x)=0,i=1,2, ,m\begin{cases} \nabla f(\bm x) + \sum\limits_{i=1}^m \lambda_i \nabla \varphi_i(\bm x) = 0 \\ \varphi_i(\bm x) = 0, \quad i = 1,2,\cdots,m \end{cases}

上述方程組,恰好給出了等式約束和最優解的必要條件。

證明:最優解處目標函式和約束函式法向量平行,以及拉格朗日函式的意義

假設尋求函式
z=f(x,y)z=f(x, y)

在條件
φ(x,y)=0\varphi(x,y)=0

下的極值的必要條件。

假設(x0,y0)(x_0, y_0)處取得極值,首先滿足φ(x0,y0)=0\varphi(x_0, y_0)=0。假定(x0,y0)(x_0,y_0)的某鄰域內f(x,y)f(x,y)g(x,y)g(x,y)均有一階連續偏導,且φy(x,y)0\varphi_y(x,y)\neq 0。由隱函式存在定理,存在具有連續導數的函式y=ψ(x)y=\psi(x)使得
z=f(x,ψ(x))z=f(x,\psi(x))

由極值的必要條件,知
dzdxx=x0=fx(x0,y0)+fy(x0,y0)dydxx=x0=0\frac{\mathrm dz}{\mathrm dx}\Big |_{x=x_0}=f_x(x_0,y_0)+f_y(x_0,y_0)\frac{\mathrm dy}{\mathrm dx}\big |_{x=x_0}=0

由隱函式求導公式,知
φx+φydydx=0dydx=φxφydydxx=x0=φx(x0,y0)φy(x0,y0)\frac{\partial\varphi}{\partial x} + \frac{\partial\varphi}{\partial y}\frac{\mathrm dy}{\mathrm dx}=0 \quad \Rightarrow \quad \frac{\mathrm dy}{\mathrm dx}=-\frac{\varphi_x}{\varphi_y} \quad \Rightarrow \quad \frac{\mathrm dy}{\mathrm dx}\big |_{x=x_0}=-\frac{\varphi_x(x_0,y_0)}{\varphi_y(x_0,y_0)}

因此
fx(x0,y0)φx(x0,y0)=fy(x0,y0)φy(x0,y0)=λ\frac{f_x(x_0,y_0)}{\varphi_x(x_0,y_0)}=\frac{f_y(x_0,y_0)}{\varphi_y(x_0,y_0)}=-\lambda