UTF8gbsn
介绍
现在我们来介绍下拉格朗日乘数法.首先提出问题. 假如我们有一个目标函数
f
(
x
)
f(\mathbf{x})
f(x) 约束条件为
g
(
x
)
=
0
g(\mathbf{x})=0
g(x)=0
拉格朗日乘数法的流程是写出目标函数
L
(
x
,
λ
)
=
f
(
x
)
−
λ
g
(
x
)
L(\mathbf{x}, \lambda)=f(\mathbf{x})-\lambda g(\mathbf{x})
L(x,λ)=f(x)−λg(x)
并求出稳定点
{ ∇ f ( x ) = λ ∇ g ( x ) g ( x ) = 0 \left\{ \begin{aligned} \nabla f(\mathbf{x})&=\lambda \nabla g(\mathbf{x})\\ g(\mathbf{x})&=0 \end{aligned} \right. {∇f(x)g(x)=λ∇g(x)=0
通过计算稳定点中的极值来求原函数 f ( x ) f(\mathbf{x}) f(x)在约束条件 g ( x ) = 0 g(\mathbf{x})=0 g(x)=0下的极值.
几何proof
从几何的角度来说,
函数
f
(
x
)
f(\mathbf{x})
f(x)的等高线和
g
(
x
)
=
0
g(\mathbf{x})=0
g(x)=0在极值点应该相等.
因为约束条件使得函数曲线相切.
Analytic proof
假如
P
P
P点是
f
(
x
)
f(\mathbf{x})
f(x)在约束条件
g
(
x
)
g(\mathbf{x})
g(x)下的极值点.
另外假设一个参数方程
r
(
t
)
=
(
x
1
(
t
)
,
x
2
(
t
)
,
⋯
,
x
n
(
t
)
)
r(t)=(x_1(t), x_2(t), \cdots, x_n(t))
r(t)=(x1(t),x2(t),⋯,xn(t)), 是一个曲线,
它在约束条件的表面. 切
r
(
0
)
=
P
r(0)=P
r(0)=P点.
另外假设
h
(
t
)
=
f
(
x
1
(
t
)
,
x
2
(
t
)
,
⋯
,
x
n
(
t
)
)
h(t)=f(x_1(t), x_2(t), \cdots, x_n(t))
h(t)=f(x1(t),x2(t),⋯,xn(t)).于是我们可以得出下面的等式
h ′ ( t ) = ∇ f ( x ) ∣ r ( t ) ⋅ r ′ ( t ) h^{'}(t) = \nabla f(x)|_{r(t)} \cdot r^{'}(t) h′(t)=∇f(x)∣r(t)⋅r′(t)
又因为 P P P点为极值点, 可知.
h ′ ( 0 ) = ∇ f ∣ P ⋅ r ′ ( 0 ) = 0 h^{'}(0)= \nabla f |_{P}\cdot r^{'}(0)=0 h′(0)=∇f∣P⋅r′(0)=0
可见
∇
f
∣
P
\nabla f|_{P}
∇f∣P在点P处垂直于
r
(
t
)
r(t)
r(t). 而
r
(
t
)
r(t)
r(t)是约束面上的任意曲线.
所以可见
∇
f
∣
P
\nabla f|_{P}
∇f∣P在点P处垂直于月书面
g
(
x
)
=
0
g(\mathbf{x})=0
g(x)=0.
于是我们可以得
∇
f
∣
P
=
λ
∇
g
P
\nabla f|_{P}=\lambda \nabla g_{P}
∇f∣P=λ∇gP
于是这就是拉格朗日乘数法的由来.