1: 等式约束优化问题
给定一个目标函数
f
:
R
n
→
R
f:\Reals^n\rightarrow\Reals
f:Rn→R,我们希望找到 $\textrm{x}\in\Reals^n,在满足约束条件
g
(
x
)
=
0
g(\textrm{x})=0
g(x)=0 的前提下,使得
f
(
x
)
f(\textrm{x})
f(x)有最小值。这个约束优化问题记为
min
f
(
x
)
s
.
t
.
g
(
x
)
=
0
\begin{aligned} \min\quad &f(\textrm{x})\\ s.t.\quad &g(\textrm{x})=0 \end{aligned}
mins.t.f(x)g(x)=0
为方便分析,假设
f
f
f 与
g
g
g 是连续可导函数。Lagrange乘数法是等式约束优化问题的典型解法。定义Lagrangian函数
L
(
x
,
λ
)
=
f
(
x
)
+
λ
g
(
x
)
L(\textrm{x},\lambda)=f(\textrm{x})+\lambda g(\textrm{x})
L(x,λ)=f(x)+λg(x)
计算
L
L
L 对
x
\textrm{x}
x 与
λ
\lambda
λ 的偏导数并设为零,可得最优解的必要条件:
▽
x
L
=
∂
L
∂
x
=
▽
f
+
λ
▽
g
=
0
▽
λ
L
=
∂
L
∂
λ
=
g
(
x
)
=
0
\begin{aligned} \triangledown_{\textrm{x}}L&=\dfrac{\partial L}{\partial\textrm{x}}=\triangledown f+\lambda\triangledown g=0\\ \triangledown_{\lambda}L&=\dfrac{\partial L}{\partial\lambda}=g(\textrm{x})=0 \end{aligned}
▽xL▽λL=∂x∂L=▽f+λ▽g=0=∂λ∂L=g(x)=0
其中第一式为定常方程式(stationary equation),第二式为约束条件。解开上面
n
+
1
n+1
n+1 个方程式可得
L
(
x
,
λ
)
L(\textrm{x},\lambda)
L(x,λ) 的stationary point
x
∗
\textrm{x}^*
x∗ 以及
λ
\lambda
λ 的值(正负数皆可能)。
2: 不等式约束优化问题
接下来我们将约束等式
g
(
x
)
=
0
g(\textrm{x})=0
g(x)=0 推广为不等式
g
(
x
)
≤
0
g(\textrm{x})\le0
g(x)≤0。考虑这个问题
min
f
(
x
)
s
.
t
.
g
(
x
)
≤
0
\begin{aligned} \min\quad &f(\textrm{x})\\ s.t.\quad &g(\textrm{x})\le0 \end{aligned}
mins.t.f(x)g(x)≤0
约束不等式
g
(
x
)
≤
0
g(\textrm{x})\le0
g(x)≤0 称为原始可行性(primal feasibility),据此我们定义可行域(feasible region)
K
=
{
x
∈
R
n
∣
g
(
x
)
≤
0
}
K=\{\textrm{x}\in\Reals^n|g(\textrm{x})\le0\}
K={x∈Rn∣g(x)≤0}。假设
x
∗
\textrm{x}^*
x∗ 为满足约束条件的最佳解,分开两种情况讨论:
- g ( x ∗ ) < 0 g(\textrm{x}^*)<0 g(x∗)<0,最佳解位于 K K K 的内部,称为内部解(interior solution),这时约束条件是无效的(inactive);
- g ( x ∗ ) = 0 g(\textrm{x}^*)=0 g(x∗)=0 ,最佳解落在 K K K 的边界,称为边界解(boundary solution),此时约束条件是有效的(active)。
这两种情况的最佳解具有不同的必要条件。
(1)内部解:在约束条件无效的情形下, g ( x ) g(\textrm{x}) g(x) 不起作用,约束优化问题退化为无约束优化问题,因此驻点 x ∗ \textrm{x}^* x∗ 满足 ▽ f = 0 \triangledown f=0 ▽f=0 且 λ = 0 \lambda=0 λ=0。
(2)边界解:在约束条件有效的情形下,约束不等式变成等式 g ( x ) = 0 g(\textrm{x})=0 g(x)=0 ,这与前述Lagrange乘数法的情况相同。我们可以证明驻点 x ∗ \textrm{x}^* x∗ 发生于 ▽ f ∈ s p a n ▽ g \triangledown f\in span\triangledown g ▽f∈span▽g ,换句话说,存在 λ \lambda λ 使得 ▽ f = − λ ▽ g \triangledown f=-\lambda\triangledown g ▽f=−λ▽g,但这里 λ \lambda λ 的正负号是有其意义的。因为我们希望最小化 f f f ,梯度 ▽ f \triangledown f ▽f (函数 f f f 在点 x \textrm{x} x 的最陡上升方向)应该指向可行域 K K K 的内部(因为你的最优解最小值是在边界取得的),但 ▽ g \triangledown g ▽g 指向 K K K 的外部(即 g ( x ) > 0 g(\textrm{x})>0 g(x)>0 的区域,因为你的约束是小于等于0),因此 λ ≥ 0 \lambda\ge0 λ≥0 ,称为对偶可行性(dual feasibility)。
因此,不论是内部解或边界解,
λ
g
(
x
)
=
0
\lambda g(\textrm{x})=0
λg(x)=0 恒成立,称为互补松弛性(complementary slackness)。整合上述两种情况,最佳解的必要条件包括Lagrangian函数
L
(
x
,
λ
)
L(\textrm{x},\lambda)
L(x,λ) 的定常方程式、原始可行性、对偶可行性,以及互补松弛性:
▽
x
L
=
▽
f
+
λ
▽
g
=
0
g
(
x
)
≤
0
λ
≥
0
λ
g
(
x
)
=
0
\begin{aligned} \triangledown_{\textrm{x}}L&=\triangledown f+\lambda\triangledown g=0\\ g(\textrm{x})&\le0\\ \lambda&\ge0\\ \lambda g(\textrm{x})&=0 \end{aligned}
▽xLg(x)λλg(x)=▽f+λ▽g=0≤0≥0=0
这些条件合称为Karush-Kuhn-Tucker (KKT)条件。如果我们要最大化 $f(\textrm{x}) 且受限于
g
(
x
)
≤
0
g(\textrm{x})\le0
g(x)≤0,那么对偶可行性要改成
λ
≤
0
\lambda\le0
λ≤0。
上面结果可推广至多个约束等式与约束不等式的情况。考虑标准约束优化问题(或称非线性规划):
min
f
(
x
)
s
.
t
.
g
j
(
x
)
=
0
,
j
=
1
,
.
.
.
,
m
h
k
(
x
)
≤
0
,
k
=
1
,
.
.
.
,
p
\begin{aligned} \min\quad f(\textrm{x})\\ s.t.\quad g_j(\textrm{x})&=0, j=1,...,m\\ h_k(\textrm{x})&\le0, k=1,...,p \end{aligned}
minf(x)s.t.gj(x)hk(x)=0,j=1,...,m≤0,k=1,...,p
定义Lagrangian 函数
L
(
x
,
λ
j
,
μ
k
=
f
(
x
)
+
∑
j
=
1
m
λ
j
g
j
(
x
)
+
∑
k
=
1
p
μ
k
h
k
(
x
)
L(\textrm{x},{\lambda_j},{\mu_k}=f(\textrm{x})+\sum^m_{j=1}\lambda_jg_j(\textrm{x})+\sum^p_{k=1}\mu_kh_k(\textrm{x})
L(x,λj,μk=f(x)+j=1∑mλjgj(x)+k=1∑pμkhk(x)
其中
λ
j
\lambda_j
λj 是对应
g
j
(
x
)
=
0
g_j(\textrm{x})=0
gj(x)=0 的Lagrange乘数,
μ
k
\mu_k
μk 是对应
h
k
(
x
)
h_k(\textrm{x})
hk(x) Lagrange乘数(或称KKT乘数)。KKT条件包括
▽
x
=
0
g
j
(
x
)
=
0
,
j
=
1
,
.
.
.
,
m
h
k
(
x
)
≤
0
μ
k
≥
0
μ
k
h
k
(
x
)
=
0
,
k
=
1
,
.
.
.
,
p
\begin{aligned} \triangledown_{\textrm{x}}&=0\\ g_j(\textrm{x})&=0,j=1,...,m\\ h_k(\textrm{x})&\le0\\ \mu_k&\ge0\\ \mu_kh_k(\textrm{x})&=0,k=1,...,p \end{aligned}
▽xgj(x)hk(x)μkμkhk(x)=0=0,j=1,...,m≤0≥0=0,k=1,...,p
3: 一个例子
考虑这个问题
min
x
1
2
+
x
2
2
s
.
t
.
x
1
+
x
2
=
1
x
2
≤
α
\begin{aligned} \min\quad&x^2_1+x^2_2\\ s.t.\quad&x_1+x_2=1\\ &x_2\le\alpha \end{aligned}
mins.t.x12+x22x1+x2=1x2≤α
其中
(
x
1
,
x
2
)
∈
R
2
(x_1,x_2)\in\Reals^2
(x1,x2)∈R2,
α
\alpha
α 为实数。写出Lagrangigan函数
L
(
x
1
,
x
2
,
λ
,
μ
)
=
x
1
2
+
x
2
2
+
λ
(
1
−
x
1
−
x
2
)
+
μ
(
x
2
−
α
)
L(x_1,x_2,\lambda,\mu)=x^2_1+x^2_2+\lambda(1-x_1-x_2)+\mu(x_2-\alpha)
L(x1,x2,λ,μ)=x12+x22+λ(1−x1−x2)+μ(x2−α)
KKT 方程组如下:
∂
L
∂
x
i
=
0
,
i
=
1
,
2
x
1
+
x
2
=
1
x
2
−
α
≤
0
μ
≥
0
μ
(
x
2
−
α
)
=
0
\begin{aligned} \dfrac{\partial L}{\partial x_i}&=0,i=1,2\\ x_1+x_2&=1\\ x_2-\alpha&\le0\\ \mu&\ge0\\ \mu(x_2-\alpha)&=0 \end{aligned}
∂xi∂Lx1+x2x2−αμμ(x2−α)=0,i=1,2=1≤0≥0=0
求偏导可得
∂
L
∂
x
1
=
2
x
1
−
λ
=
0
\dfrac{\partial L}{\partial x_1}=2x_1-\lambda=0
∂x1∂L=2x1−λ=0 且
∂
L
∂
x
2
=
2
x
2
−
λ
+
μ
=
0
\dfrac{\partial L}{\partial x_2}=2x_2-\lambda+\mu=0
∂x2∂L=2x2−λ+μ=0,分别解出
x
1
=
λ
2
x_1=\dfrac{\lambda}2
x1=2λ 且
x
2
=
λ
2
−
μ
2
x_2=\dfrac{\lambda}2-\dfrac{\mu}2
x2=2λ−2μ。代入约束等式
x
1
+
x
2
=
λ
−
μ
2
=
1
x_1+x_2=\lambda-\dfrac{\mu}2=1
x1+x2=λ−2μ=1 或
λ
=
μ
2
+
1
\lambda=\dfrac{\mu}2+1
λ=2μ+1。合并上面结果,
x
1
=
μ
4
+
1
2
,
x
2
=
−
μ
4
+
1
2
x_1=\dfrac{\mu}4+\dfrac12,\quad x_2 = -\dfrac{\mu}4+\dfrac12
x1=4μ+21,x2=−4μ+21
最后再加入约束不等式
−
μ
4
+
1
2
≤
α
-\dfrac{\mu}4+\dfrac12\le\alpha
−4μ+21≤α 或
μ
≥
2
−
4
α
\mu\ge2-4\alpha
μ≥2−4α。底下分开三种情况讨论。
(1)
α
≥
1
2
\alpha\ge\dfrac12
α≥21:不难验证
μ
=
0
≥
2
−
4
α
\mu=0\ge2-4\alpha
μ=0≥2−4α 满足所有的KKT条件,约束不等式是无效的,
x
1
∗
=
x
2
∗
=
1
2
x^*_1=x^*_2=\dfrac12
x1∗=x2∗=21 是内部解,目标函数的极小值是
1
2
\dfrac12
21。
(2)
α
<
1
2
\alpha<\dfrac12
α<21:这时约束不等式是有效的,
μ
=
2
−
4
α
>
0
\mu=2-4\alpha>0
μ=2−4α>0,则
x
1
∗
=
1
−
α
x^*_1=1-\alpha
x1∗=1−α 且
x
2
∗
=
α
x^*_2=\alpha
x2∗=α,目标函数的极小值是
(
1
−
α
)
2
+
α
2
(1-\alpha)^2+\alpha^2
(1−α)2+α2。