转载自:https://www.cnblogs.com/massquantity/p/10807311.html
拉格朗日乘子法一般应用于求解指定作用域上的最优化问题
含有等式约束的优化问题:
m
i
n
x
f
(
x
)
min_x f(x)
minxf(x)
s
.
t
.
h
i
(
x
)
=
0
,
i
=
1
,
2
,
.
.
.
.
,
m
s.t. h_i(x) = 0, i = 1,2, ....,m
s.t.hi(x)=0,i=1,2,....,m
由于有h(x)的约束,无法直接求导迭代求解,这时候使用拉格朗日乘子法,其核心思想是将约束优化转化为无约束优化问题,即将d个变量和m个等式约束条件转化为一个有(d+m)个变量的函数来平稳点的问题。
∇
h
(
x
)
与
∇
f
(
x
)
平
行
⇒
∇
h
(
x
)
+
λ
∇
f
(
x
)
=
0
\nabla h(x) 与\nabla f(x) 平行 \Rightarrow \nabla h(x) + \lambda\nabla f(x) =0
∇h(x)与∇f(x)平行⇒∇h(x)+λ∇f(x)=0
lambda被称为拉格朗日乘子,则拉格朗日函数如下:
ζ
(
x
,
λ
)
=
f
(
x
)
+
λ
h
(
x
)
\zeta(x, \lambda) = f(x) + \lambda h(x)
ζ(x,λ)=f(x)+λh(x)
将上式分别对x和lambda求导置0,就得到等式约束h(x)=0,进而就转化成为无约束问题