对于一个优化问题,既有等式约束又有不等式约束,且不知道其约束是线性约束还是非线性约束,都可以用下面的框架去解决
m
i
n
f
(
x
)
s
.
t
.
h
(
x
)
=
0
g
(
x
)
≤
0
\begin{aligned} min &f(x) \\ s.t. &h(x)=0\\ &g(x) \leq 0 \end{aligned}
mins.t.f(x)h(x)=0g(x)≤0
设计拉格朗日函数
L
(
x
,
λ
,
α
)
=
f
(
x
)
+
λ
h
(
x
)
+
α
g
(
x
)
(
α
≥
0
)
L(x,\lambda,\alpha)=f(x)+\lambda h(x)+\alpha g(x)(\alpha \geq 0)
L(x,λ,α)=f(x)+λh(x)+αg(x)(α≥0)
问题转化为
m
a
x
λ
,
α
m
i
n
x
L
(
x
,
λ
,
α
)
\mathop{max} \limits_{\lambda,\alpha}\mathop{min} \limits_{x}L(x,\lambda,\alpha)
λ,αmaxxminL(x,λ,α)满足
α
≥
0
\alpha \geq 0
α≥0
相应的条件是
∂
L
∂
x
=
0
∂
L
∂
λ
=
0
∂
L
∂
α
=
0
α
≥
0
\begin{aligned} \frac{\partial L}{\partial x}=0\\ \frac{\partial L}{\partial{\lambda}}=0\\ \frac{\partial L}{\partial \alpha}=0\\ \alpha \geq 0\\ \end{aligned}
∂x∂L=0∂λ∂L=0∂α∂L=0α≥0
对应的KKT条件
∂
L
∂
x
=
0
h
(
x
)
=
0
g
(
x
)
≤
0
α
≥
0
\begin{aligned} \frac{\partial L}{\partial x}=0\\ h(x)=0\\ g(x) \leq 0\\ \alpha \geq 0 \end{aligned}
∂x∂L=0h(x)=0g(x)≤0α≥0
其中应满足互补松弛条件
α
g
(
x
)
=
0
\alpha g(x)=0
αg(x)=0