807补充七(拉格朗日乘子篇)
一.几何解释
⽬前为⽌,我们已经考虑了在形式为 g ( x ) = 0 g(\boldsymbol x) = 0 g(x)=0的等式限制(equality constraint)下最⼤化函数的问题。我们现在考虑形式为 g ( x ) ≥ 0 g(\boldsymbol x) \geq 0 g(x)≥0的不等式限制(inequality constraint)下最⼤化函数 f ( x ) f(x) f(x)的问题,如图所示。
根据受限制条件下的驻点是否位于区域 g ( x ) > 0 g(\boldsymbol{x})>0 g(x)>0 中, 有两种可能的解。如果驻点位于 g ( x ) > 0 g(\boldsymbol{x})>0 g(x)>0 的区域中, 我们说限制条件未激活(inactive)。如果驻点位于 g ( x ) = 0 g(\boldsymbol{x})=0 g(x)=0 的边界上,我们说限制条件激活 (active)。在第一种情况下, 函数 g ( x ) g(\boldsymbol{x}) g(x) 不起作用, 函数在驻点处的条件只是 ∇ f ( x ) = 0 \nabla f(\boldsymbol{x})=0 ∇f(x)=0 。这同样对应于拉格朗日方程 L ( x , λ ) ≡ f ( x ) + λ g ( x ) L(\boldsymbol{x}, \lambda) \equiv f(\boldsymbol{x})+\lambda g(\boldsymbol{x}) L(x,λ)≡f(x)+λg(x)的驻点, 但是 λ = 0 \lambda=0 λ=0 。在后一种情况下, 解位于边界上, 这类似于之前讨论过的等式限制的情形, 对应于拉格朗日方程在 λ ≠ 0 \lambda \neq 0 λ=0 的条件下的驻点。但是现在, 拉格朗日乘子的符号很重要, 因为只有当梯度向量指向远离 g ( x ) > 0 g(\boldsymbol{x})>0 g(x)>0 的区域时, 函数 f ( x ) f(\boldsymbol{x}) f(x) 才会取得最大值(不然的话驻点就不会在边界上,而是在内部), 如图所示。于是对于某些 λ > 0 \lambda>0 λ>0, 我们有 ∇ f ( x ) = − λ ∇ g ( x ) \nabla f(\boldsymbol{x})=-\lambda \nabla g(\boldsymbol{x}) ∇f(x)=−λ∇g(x) 。
对于两种情况中的任意一种, 乘积
λ
g
(
x
)
=
0
\lambda g(\boldsymbol{x})=0
λg(x)=0 。因此在限制条件
g
(
x
)
≥
0
g(\boldsymbol{x}) \geq 0
g(x)≥0 下最大化
f
(
x
)
f(\boldsymbol{x})
f(x) 的问题的解可以通过下面的方式获得:关于
x
\boldsymbol{x}
x 和
λ
\lambda
λ 最优化拉格朗日函数 ,限制条件为
g
(
x
)
≥
0
λ
≥
0
λ
g
(
x
)
=
0
∇
f
(
x
)
+
λ
∇
g
(
x
)
=
0
\begin{gathered} g(\boldsymbol{x}) \geq 0 \\ \lambda \geq 0 \\ \lambda g(\boldsymbol{x})=0\\ \nabla f(\boldsymbol{x})+\lambda \nabla g(\boldsymbol{x})=0 \end{gathered}
g(x)≥0λ≥0λg(x)=0∇f(x)+λ∇g(x)=0
这些被称为Karush-Kuhn-Tucker (KKT)条件(Karush, 1939; Kuhn and Tucker, 1951)。
注意, 如果我们想在不等式限制
g
(
x
)
≥
0
g(\boldsymbol{x}) \geq 0
g(x)≥0 下最小化(而不是最大化)函数
f
(
x
)
f(\boldsymbol{x})
f(x), 那么我们要关于
x
\boldsymbol{x}
x 最小化拉格朗日函数
L
(
x
,
λ
)
=
f
(
x
)
−
λ
g
(
x
)
L(\boldsymbol{x}, \lambda)=f(\boldsymbol{x})-\lambda g(\boldsymbol{x})
L(x,λ)=f(x)−λg(x), 限制条件为
λ
≥
0
\lambda \geq 0
λ≥0 。
最后, 将拉格朗日乘数法的技术推广到多个等式限制和不等式限制的情形是很直接的。假设我们希望在限制条件为
g
j
(
x
)
=
0
,
j
=
1
,
…
,
J
g_j(\boldsymbol{x})=0, j=1, \ldots, J
gj(x)=0,j=1,…,J 和
h
k
(
x
)
≥
0
,
k
=
1
,
…
,
K
h_k(\boldsymbol{x}) \geq 0, k=1, \ldots, K
hk(x)≥0,k=1,…,K 的情况下最大化
f
(
x
)
f(\boldsymbol{x})
f(x),我们就会引入拉格朗日乘数
{
λ
j
}
\left\{\lambda_j\right\}
{λj} 和
{
μ
k
}
\left\{\mu_k\right\}
{μk}, 然后最优化下面的拉格朗日函数
L
(
x
,
{
λ
j
}
,
{
μ
k
}
)
=
f
(
x
)
+
∑
J
λ
j
g
j
(
x
)
+
∑
K
μ
k
h
k
(
x
)
L\left(\boldsymbol{x},\left\{\lambda_j\right\},\left\{\mu_k\right\}\right)=f(\boldsymbol{x})+\sum^J \lambda_j g_j(\boldsymbol{x})+\sum^K \mu_k h_k(\boldsymbol{x})
L(x,{λj},{μk})=f(x)+∑Jλjgj(x)+∑Kμkhk(x)
限制条件为
μ
k
≥
0
\mu_k \geq 0
μk≥0
由此得出原问题
maxmize
f
(
x
)
s.t
h
(
x
i
)
≥
0
g
(
x
j
)
=
0
⇕
minmize
−
f
(
x
)
s.t
−
h
(
x
i
)
≤
0
−
g
(
x
j
)
=
0
\begin{aligned} \text{maxmize} \qquad f(\boldsymbol x)\\ \text{s.t}\qquad h(\boldsymbol x_i)\geq0\\ \qquad \ \ \ g(\boldsymbol x_j)=0\\ \Updownarrow\\ \text{minmize} \qquad -f(\boldsymbol x)\\ \text{s.t}\qquad -h(\boldsymbol x_i)\leq0\\ \qquad \ \ \ -g(\boldsymbol x_j)=0 \end{aligned}
maxmizef(x)s.th(xi)≥0 g(xj)=0⇕minmize−f(x)s.t−h(xi)≤0 −g(xj)=0
的无约束形式是
maxmize
L
(
x
,
{
λ
j
}
,
{
μ
k
}
)
=
f
(
x
)
+
∑
J
λ
j
g
j
(
x
)
+
∑
K
μ
k
h
k
(
x
)
μ
k
≥
0
⇕
minmize
−
L
(
x
,
{
λ
j
}
,
{
μ
k
}
)
=
−
f
(
x
)
−
∑
J
λ
j
g
j
(
x
)
−
∑
K
μ
k
h
k
(
x
)
μ
k
≥
0
\text{maxmize}\qquad L\left(\boldsymbol{x},\left\{\lambda_j\right\},\left\{\mu_k\right\}\right)=f(\boldsymbol{x})+\sum^J \lambda_j g_j(\boldsymbol{x})+\sum^K \mu_k h_k(\boldsymbol{x})\qquad \mu_k \geq 0\\ \Updownarrow\\ \text{minmize}\qquad -L\left(\boldsymbol{x},\left\{\lambda_j\right\},\left\{\mu_k\right\}\right)=-f(\boldsymbol{x})-\sum^J \lambda_j g_j(\boldsymbol{x})-\sum^K \mu_k h_k(\boldsymbol{x})\qquad \mu_k \geq 0
maxmizeL(x,{λj},{μk})=f(x)+∑Jλjgj(x)+∑Kμkhk(x)μk≥0⇕minmize−L(x,{λj},{μk})=−f(x)−∑Jλjgj(x)−∑Kμkhk(x)μk≥0
改写形式,转化为优化标准型
min
x
∈
R
n
f
0
(
x
)
,
s.t.
f
i
(
x
)
⩽
0
,
i
∈
I
,
h
j
(
x
)
=
0
,
j
∈
E
,
⇔
minmize
L
(
x
,
λ
,
v
)
=
f
0
(
x
)
+
∑
i
∈
I
λ
i
f
i
(
x
)
+
∑
i
∈
E
v
j
h
i
(
x
)
λ
i
≥
0
\begin{array}{rl} \min _{\boldsymbol x \in \mathbb{R}^n} & f_0(\boldsymbol x), \\ \text { s.t. } & f_i(\boldsymbol x) \leqslant 0, i \in \mathcal{I}, \\ & h_j(\boldsymbol x)=0, j \in \mathcal{E}, \end{array}\\ \Leftrightarrow\\ \text{minmize} \qquad L(\boldsymbol x, \lambda, v)=f_0(\boldsymbol x)+\sum_{i \in \mathcal{I}} \lambda_i f_i(\boldsymbol x)+\sum_{i \in \mathcal{E}} v_j h_i(\boldsymbol x) \qquad \lambda_i\geq0
minx∈Rn s.t. f0(x),fi(x)⩽0,i∈I,hj(x)=0,j∈E,⇔minmizeL(x,λ,v)=f0(x)+i∈I∑λifi(x)+i∈E∑vjhi(x)λi≥0
二.凸优化基础
对于
R
n
\mathbb{R}^n
Rn 中的两个点
x
1
≠
x
2
x_1 \neq x_2
x1=x2, 形如
y
=
θ
x
1
+
(
1
−
θ
)
x
2
y=\theta x_1+(1-\theta) x_2
y=θx1+(1−θ)x2
的点形成了过点 x 1 x_1 x1 和 x 2 x_2 x2 的直线. 当 0 ⩽ θ ⩽ 1 0 \leqslant \theta \leqslant 1 0⩽θ⩽1 时, 这样的点形成了连接点 x 1 x_1 x1 与 x 2 x_2 x2 的线段.
仿射集:如果过集合
C
C
C 中任意两点的直线都在
C
C
C 内, 则称
C
C
C 为仿射集, 即
x
1
,
x
2
∈
C
⟹
θ
x
1
+
(
1
−
θ
)
x
2
∈
C
,
∀
θ
∈
R
.
x_1, x_2 \in C \Longrightarrow \theta x_1+(1-\theta) x_2 \in C, \forall \theta \in \mathbb{R} .
x1,x2∈C⟹θx1+(1−θ)x2∈C,∀θ∈R.
线性方程组 A x = b A x=b Ax=b 的解集是仿射集. 反之, 任何仿射集都可以表示成一个线性方程组的解集
凸集:如果连接集合
C
C
C 中任意两点的线段都在
C
C
C 内, 则称
C
C
C 为凸集,即
x
1
,
x
2
∈
C
⟹
θ
x
1
+
(
1
−
θ
)
x
2
∈
C
,
∀
0
⩽
θ
⩽
1
.
x_1, x_2 \in C \Longrightarrow \theta x_1+(1-\theta) x_2 \in C, \forall 0 \leqslant \theta \leqslant 1 \text {. }
x1,x2∈C⟹θx1+(1−θ)x2∈C,∀0⩽θ⩽1.
从仿射集的定义容易看出仿射集都是凸集。
从凸集可以引出凸组合和凸包等概念. 形如
x
=
θ
1
x
1
+
θ
2
x
2
+
⋯
+
θ
k
x
k
θ
1
+
θ
2
+
⋯
+
θ
k
=
1
,
θ
i
⩾
0
,
i
=
1
,
2
,
⋯
,
k
\begin{array}{r} x=\theta_1 x_1+\theta_2 x_2+\cdots+\theta_k x_k \\ \theta_1+\theta_2+\cdots+\theta_k=1, \quad \theta_i \geqslant 0, i=1,2, \cdots, k \end{array}
x=θ1x1+θ2x2+⋯+θkxkθ1+θ2+⋯+θk=1,θi⩾0,i=1,2,⋯,k
的点称为 x 1 , x 2 , ⋯ , x k x_1, x_2, \cdots, x_k x1,x2,⋯,xk 的凸组合. 集合 S S S 中点所有可能的凸组合构成的集合称作 S S S 的凸包, 记作 conv S \operatorname{conv} S convS. 实际上, conv S \operatorname{conv} S convS 是包含 S S S 的最小的凸集. 如图所示, 左边的为离散点集的凸包, 右边的为扇形的凸包.
仿射包: 设
S
S
S 为
R
n
\mathbb{R}^n
Rn 的子集,称如下集合为
S
S
S 的仿射包:
{
x
∣
x
=
θ
1
x
1
+
θ
2
x
2
+
⋯
+
θ
k
x
k
,
x
1
,
x
2
,
⋯
,
x
k
∈
S
,
θ
1
+
θ
2
+
⋯
+
θ
k
=
1
}
,
\left\{x \mid x=\theta_1 x_1+\theta_2 x_2+\cdots+\theta_k x_k, \quad x_1, x_2, \cdots, x_k \in S, \quad \theta_1+\theta_2+\cdots+\theta_k=1\right\},
{x∣x=θ1x1+θ2x2+⋯+θkxk,x1,x2,⋯,xk∈S,θ1+θ2+⋯+θk=1},
记为 affine S S S.
一般而言,一个集合的仿射包实际上是包含该集合的最小的仿射集。
球和椭球也是常见的凸集. 球是空间中到某个点距离(或两者差的范数) 小于某个常数的点的集合, 并将
B
(
x
c
,
r
)
=
{
x
∣
∥
x
−
x
c
∥
2
⩽
r
}
=
{
x
c
+
r
u
∣
∥
u
∥
2
⩽
1
}
B\left(x_c, r\right)=\left\{x \mid\left\|x-x_c\right\|_2 \leqslant r\right\}=\left\{x_c+r u \mid\|u\|_2 \leqslant 1\right\}
B(xc,r)={x∣∥x−xc∥2⩽r}={xc+ru∣∥u∥2⩽1}
称为中心为
x
c
x_c
xc, 半径为
r
r
r 的 (欧几里得) 球. 而形如
{
x
∣
(
x
−
x
c
)
T
P
−
1
(
x
−
x
c
)
⩽
1
}
\left\{x \mid\left(x-x_c\right)^{\mathrm{T}} P^{-1}\left(x-x_c\right) \leqslant 1\right\}
{x∣(x−xc)TP−1(x−xc)⩽1}
的集合称为椭球, 其中 P ∈ S + + n P \in \mathcal{S}_{++}^n P∈S++n (即 P P P 对称正定). 椭球的另一种表示为 { x c + A u ∣ ∥ u ∥ 2 ⩽ 1 } , A \left\{x_c+A u \mid\|u\|_2 \leqslant 1\right\}, A {xc+Au∣∥u∥2⩽1},A 为非奇异的方阵.
在定义一个球时, 并不一定要使用欧几里得空间的距离. 对于一般的范数, 同样可以定义 “球”. 令
∥
⋅
∥
\|\cdot\|
∥⋅∥ 是任意一个范数,
{
x
∣
∥
x
−
x
c
∥
⩽
r
}
\left\{x \mid\left\|x-x_c\right\| \leqslant r\right\}
{x∣∥x−xc∥⩽r}
称为中心为
x
c
x_c
xc, 半径为
r
r
r 的范数球. 另外, 我们称集合
{
(
x
,
t
)
∣
∥
x
∥
⩽
t
}
\{(x, t) \mid\|x\| \leqslant t\}
{(x,t)∣∥x∥⩽t}
为范数雉. 欧几里得范数雉也称为二次雉. 范数球和范数雉都是凸集.
凸函数:设函数
f
f
f 为适当函数, 如果
dom
f
\operatorname{dom} f
domf 是凸集, 且
f
(
θ
x
+
(
1
−
θ
)
y
)
⩽
θ
f
(
x
)
+
(
1
−
θ
)
f
(
y
)
f(\theta x+(1-\theta) y) \leqslant \theta f(x)+(1-\theta) f(y)
f(θx+(1−θ)y)⩽θf(x)+(1−θ)f(y)
对所有 x , y ∈ dom f , 0 ⩽ θ ⩽ 1 x, y \in \operatorname{dom} f, 0 \leqslant \theta \leqslant 1 x,y∈domf,0⩽θ⩽1 都成立, 则称 f f f 是凸函数.
直观地来看, 连接凸函数的图像上任意两点的线段都在函数图像上方,相应地, 我们也可以定义凹函数:若 − f -f −f 是凸函数, 则称 f f f 是凹函
数.只要改变一下符号, 很多凸函数的性质都可以直接应用到凹函数上. 另外,如果
dom
f
\operatorname{dom} f
domf 是凸集, 且
f
(
θ
x
+
(
1
−
θ
)
y
)
<
θ
f
(
x
)
+
(
1
−
θ
)
f
(
y
)
f(\theta x+(1-\theta) y)<\theta f(x)+(1-\theta) f(y)
f(θx+(1−θ)y)<θf(x)+(1−θ)f(y)
对所有的 x , y ∈ dom f , x ≠ y , 0 < θ < 1 x, y \in \operatorname{dom} f, x \neq y, 0<\theta<1 x,y∈domf,x=y,0<θ<1 成立, 则称 f f f 是严格凸函数.
相对内点集:给定集合
D
\mathcal{D}
D, 记其仿射包为 affine
D
\mathcal{D}
D . 集合
D
\mathcal{D}
D 的相对内点集 定义为
relint
D
=
{
x
∈
D
∣
∃
r
>
0
, 使得
B
(
x
,
r
)
∩
affine
D
⊆
D
}
.
\text { relint } \mathcal{D}=\{x \in \mathcal{D} \mid \exists r>0 \text {, 使得 } B(x, r) \cap \text { affine } \mathcal{D} \subseteq \mathcal{D}\} .
relint D={x∈D∣∃r>0, 使得 B(x,r)∩ affine D⊆D}.
凸优化问题:凸优化问题是一类特殊的优化问题,它的定义略有不同:
minimize
f
0
(
x
)
s.t
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋅
⋅
⋅
m
a
i
T
x
=
b
i
,
i
=
1
,
2
,
⋅
⋅
⋅
,
p
\begin{aligned} \text{minimize}\ \ &f_0(x) \\ \\ \text{s.t}\ \ &f_i(x) ≤ 0, i = 1, 2, · · ·m \\ \\ &a^T_ix = b_i, i = 1, 2, · · · , p \end{aligned}
minimize s.t f0(x)fi(x)≤0,i=1,2,⋅⋅⋅maiTx=bi,i=1,2,⋅⋅⋅,p
其中 f 0 , f 1 , ⋅ ⋅ ⋅ , f m f_0, f_1, · · · , f_m f0,f1,⋅⋅⋅,fm为凸函数。可以看到,凸优化问题与一般优化问题的区别在于:
• 目标函数必须是凸的
• 不等式约束函数必须是凸的
• 等式约束函数必须是仿射的
三.slater条件
KKT条件只是取得极小值的必要条件,想要判定是否能取得极小值还需要一些额外的条件。
如果原优化问题是凸问题,即形如
minimize
f
0
(
x
)
s.t
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋅
⋅
⋅
m
a
i
T
x
=
b
i
,
i
=
1
,
2
,
⋅
⋅
⋅
,
p
\begin{aligned} \text{minimize}\ \ &f_0(x) \\ \\ \text{s.t}\ \ &f_i(x) ≤ 0, i = 1, 2, · · ·m \\ \\ &a^T_ix = b_i, i = 1, 2, · · · , p \end{aligned}
minimize s.t f0(x)fi(x)≤0,i=1,2,⋅⋅⋅maiTx=bi,i=1,2,⋅⋅⋅,p
问题中
f
0
,
f
1
,
⋅
⋅
⋅
,
f
m
f_0, f_1, · · · , f_m
f0,f1,⋅⋅⋅,fm均为凸函数等式约束为仿射的,则KKT条件通常就是充要条件。
如果原问题是凸的且满足Slater条件:存在一点
x
∈
relint
D
x \in \text{relint}D
x∈relintD(可以简单理解为
D
D
D的内点集,也就是
D
D
D去掉边界后的部分)使得所有的不等式约束严格成立、等式约束成立,即
f
i
(
x
)
<
0
,
i
=
1
,
2
,
⋅
⋅
⋅
,
m
,
A
x
=
b
f_i(x)<0, i = 1, 2, · · · , m, Ax = b
fi(x)<0,i=1,2,⋅⋅⋅,m,Ax=b
则KKT条件就是充要条件! 如果不等式约束
f
i
f_i
fi中前
K
K
K个是仿射的,则可以得到弱Slater条件,即:存在一点
x
∈
relint
D
x ∈ \text{relint}D
x∈relintD使得
f
i
(
x
)
≤
0
,
i
=
1
,
2
,
⋅
⋅
⋅
,
k
,
f
i
(
x
)
<
0
,
i
=
k
+
1
,
⋅
⋅
⋅
,
m
,
A
x
=
b
f_i(x) ≤ 0, i = 1, 2, · · · , k, f_i(x)<0, i = k + 1, · · · , m, Ax = b
fi(x)≤0,i=1,2,⋅⋅⋅,k,fi(x)<0,i=k+1,⋅⋅⋅,m,Ax=b
则KKT条件也是充要条件。
四.线性无关的约束限制
对于不等式约束 f i ( x ) ⩽ 0 , i = 1 , ⋯ , m f_i(\boldsymbol{x}) \leqslant 0, i=1, \cdots, m fi(x)⩽0,i=1,⋯,m, 若在点 x ‾ \overline{\boldsymbol{x}} x 有 f i ( x ‾ ) = 0 f_i(\overline{\boldsymbol{x}})=0 fi(x)=0, 则称第 i i i 个约束是在 x ‾ \overline{\boldsymbol{x}} x 点的积极约束 (active constraint); 若 f i ( x ‾ ) < 0 f_i(\overline{\boldsymbol{x}})<0 fi(x)<0, 则称第 i i i 个约束是在 x ‾ \overline{\boldsymbol{x}} x 点的非积极约束 (inactive constraint)。若 f i ( x ‾ ) > 0 f_i(\overline{\boldsymbol{x}})>0 fi(x)>0, 则称第 i i i 个约束是在 x ‾ \overline{\boldsymbol{x}} x 点的违法约束 (violated constraint)。在 x ‾ \overline{\boldsymbol{x}} x 点的所有积极约束的指标集 A ( x ‾ ) = { i ∣ f i ( x ‾ ) = 0 } \mathcal{A}(\overline{\boldsymbol{x}})=\left\{i \mid f_i(\overline{\boldsymbol{x}})=0\right\} A(x)={i∣fi(x)=0} 称为 x ‾ \overline{\boldsymbol{x}} x 点的作用集 (active set)。
令 m m m 个不等式约束 f i ( x ) , i = 1 , ⋯ , m f_i(\boldsymbol{x}), i=1, \cdots, m fi(x),i=1,⋯,m 在某个 K K T \mathrm{KKT} KKT 点 x ⋆ \boldsymbol{x}^{\star} x⋆ 共有 k k k 个积极约束 f A 1 ( x ⋆ ) , ⋯ , f A k ( x ⋆ ) f_{\mathcal{A} 1}\left(\boldsymbol{x}^{\star}\right), \cdots, f_{\mathcal{A} k}\left(\boldsymbol{x}^{\star}\right) fA1(x⋆),⋯,fAk(x⋆) 和 m − k m-k m−k 个非积极约束。
为了满足
K
K
T
\mathrm{KKT}
KKT 条件中的互补性
λ
i
f
i
(
x
⋆
)
=
0
\lambda_i f_i\left(\boldsymbol{x}^{\star}\right)=0
λifi(x⋆)=0, 与非积极约束
f
i
(
x
⋆
)
<
0
f_i\left(\boldsymbol{x}^{\star}\right)<0
fi(x⋆)<0 对应的 Lagrangian 乘子
λ
i
⋆
\lambda_i^{\star}
λi⋆ 必须等于零。这意味着, 式 中的最后一个 KKT 条件变为
∇
f
0
(
x
⋆
)
+
∑
i
∈
A
λ
i
⋆
∇
f
i
(
x
⋆
)
+
∑
i
=
1
q
ν
i
⋆
∇
h
i
(
x
⋆
)
=
0
\nabla f_0\left(\boldsymbol{x}^{\star}\right)+\sum_{i \in \mathcal{A}} \lambda_i^{\star} \nabla f_i\left(\boldsymbol{x}^{\star}\right)+\sum_{i=1}^q \nu_i^{\star} \nabla h_i\left(\boldsymbol{x}^{\star}\right)=\mathbf{0}
∇f0(x⋆)+i∈A∑λi⋆∇fi(x⋆)+i=1∑qνi⋆∇hi(x⋆)=0
或者
[
∂
f
0
(
x
⋆
)
∂
x
1
⋆
⋮
∂
f
0
(
x
⋆
)
∂
x
n
⋆
]
+
[
∂
h
1
(
x
⋆
)
∂
x
1
⋆
⋯
∂
h
q
(
x
⋆
)
∂
x
1
⋆
⋮
⋱
⋮
∂
h
1
(
x
⋆
)
∂
x
n
⋆
⋯
∂
h
q
(
x
⋆
)
∂
x
n
⋆
]
[
ν
1
⋆
⋮
ν
q
⋆
]
=
−
[
∂
f
A
1
(
x
⋆
)
∂
x
1
⋆
⋯
∂
f
A
k
(
x
⋆
)
∂
x
1
⋆
⋮
⋱
⋮
∂
f
A
1
(
x
⋆
)
∂
x
n
⋆
⋯
∂
f
A
k
(
x
⋆
)
∂
x
n
⋆
]
[
λ
A
1
⋆
⋮
λ
A
k
⋆
]
\left[\begin{array}{c} \frac{\partial f_0\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} \\ \vdots \\ \frac{\partial f_0\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} \end{array}\right]+\left[\begin{array}{ccc} \frac{\partial h_1\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} & \cdots & \frac{\partial h_q\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} \\ \vdots & \ddots & \vdots \\ \frac{\partial h_1\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} & \cdots & \frac{\partial h_q\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} \end{array}\right]\left[\begin{array}{c} \nu_1^{\star} \\ \vdots \\ \nu_q^{\star} \end{array}\right]=-\left[\begin{array}{ccc} \frac{\partial f_{\mathcal{A} 1}\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} & \cdots & \frac{\partial f_{\mathcal{A} k}\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{\mathcal{A} 1}\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} & \cdots & \frac{\partial f_{\mathcal{A} k}\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} \end{array}\right]\left[\begin{array}{c} \lambda_{\mathcal{A} 1}^{\star} \\ \vdots \\ \lambda_{\mathcal{A} k}^{\star} \end{array}\right]
∂x1⋆∂f0(x⋆)⋮∂xn⋆∂f0(x⋆)
+
∂x1⋆∂h1(x⋆)⋮∂xn⋆∂h1(x⋆)⋯⋱⋯∂x1⋆∂hq(x⋆)⋮∂xn⋆∂hq(x⋆)
ν1⋆⋮νq⋆
=−
∂x1⋆∂fA1(x⋆)⋮∂xn⋆∂fA1(x⋆)⋯⋱⋯∂x1⋆∂fAk(x⋆)⋮∂xn⋆∂fAk(x⋆)
λA1⋆⋮λAk⋆
既有
∇
f
0
(
x
⋆
)
+
(
J
h
(
x
⋆
)
)
T
ν
⋆
=
−
(
J
A
(
x
⋆
)
)
T
λ
A
⋆
\nabla f_0\left(\boldsymbol{x}^{\star}\right)+\left(\boldsymbol{J}_h\left(\boldsymbol{x}^{\star}\right)\right)^{\mathrm{T}} \boldsymbol{\nu}^{\star}=-\left(\boldsymbol{J}_{\mathcal{A}}\left(\boldsymbol{x}^{\star}\right)\right)^{\mathrm{T}} \boldsymbol{\lambda}_{\mathcal{A}}^{\star}
∇f0(x⋆)+(Jh(x⋆))Tν⋆=−(JA(x⋆))TλA⋆
式中
J
h
(
x
⋆
)
\boldsymbol{J}_h\left(\boldsymbol{x}^{\star}\right)
Jh(x⋆) 是等式约束
h
i
(
x
)
=
0
,
i
=
1
,
⋯
,
q
h_i(\boldsymbol{x})=0, i=1, \cdots, q
hi(x)=0,i=1,⋯,q 在点
x
⋆
\boldsymbol{x}^{\star}
x⋆ 的 Jacobian 矩阵, 而
J
A
(
x
⋆
)
=
[
∂
f
A
1
(
x
⋆
)
∂
x
1
⋆
⋯
∂
f
A
1
(
x
⋆
)
∂
x
n
⋆
⋮
⋱
⋮
∂
f
A
k
(
x
⋆
)
∂
x
1
⋆
⋯
∂
f
A
k
(
x
⋆
)
∂
x
n
⋆
]
∈
R
k
×
n
λ
A
⋆
=
[
λ
A
1
⋆
,
⋯
,
λ
A
k
⋆
]
∈
R
k
\begin{aligned} \boldsymbol{J}_{\mathcal{A}}\left(\boldsymbol{x}^{\star}\right) & =\left[\begin{array}{ccc} \frac{\partial f_{\mathcal{A} 1}\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} & \cdots & \frac{\partial f_{\mathcal{A} 1}\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{\mathcal{A} k}\left(\boldsymbol{x}^{\star}\right)}{\partial x_1^{\star}} & \cdots & \frac{\partial f_{\mathcal{A} k}\left(\boldsymbol{x}^{\star}\right)}{\partial x_n^{\star}} \end{array}\right] \in \mathbb{R}^{k \times n} \\ \lambda_{\mathcal{A}}^{\star} & =\left[\lambda_{\mathcal{A} 1}^{\star}, \cdots, \lambda_{\mathcal{A} k}^{\star}\right] \in \mathbb{R}^k \end{aligned}
JA(x⋆)λA⋆=
∂x1⋆∂fA1(x⋆)⋮∂x1⋆∂fAk(x⋆)⋯⋱⋯∂xn⋆∂fA1(x⋆)⋮∂xn⋆∂fAk(x⋆)
∈Rk×n=[λA1⋆,⋯,λAk⋆]∈Rk
分别是积极约束的 Jacobian 矩阵和 Lagrangian 乘子向量。
上式表明, 若积极约束在可行点
x
‾
\overline{\boldsymbol{x}}
x 的 Jacobian 矩阵
J
A
(
x
‾
)
\boldsymbol{J}_{\mathcal{A}}(\overline{\boldsymbol{x}})
JA(x) 满行秩(存在右伪逆), 则积极约束的 Lagrangian 乘子向量可由
λ
A
⋆
=
−
(
J
A
(
x
‾
)
J
A
(
x
‾
)
T
)
−
1
J
A
(
x
‾
)
[
∇
f
0
(
x
‾
)
+
(
J
h
(
x
‾
)
)
T
ν
⋆
]
\boldsymbol{\lambda}_{\mathcal{A}}^{\star}=-\left(\boldsymbol{J}_{\mathcal{A}}(\overline{\boldsymbol{x}}) \boldsymbol{J}_{\mathcal{A}}(\overline{\boldsymbol{x}})^{\mathrm{T}}\right)^{-1} \boldsymbol{J}_{\mathcal{A}}(\overline{\boldsymbol{x}})\left[\nabla f_0(\overline{\boldsymbol{x}})+\left(\boldsymbol{J}_h(\overline{\boldsymbol{x}})\right)^{\mathrm{T}} \boldsymbol{\nu}^{\star}\right]
λA⋆=−(JA(x)JA(x)T)−1JA(x)[∇f0(x)+(Jh(x))Tν⋆]
唯一确定。为此, 对积极约束的梯度向量有以下规定。
考虑不等式约束 f i ( x ) ⩽ 0 f_i(\boldsymbol{x}) \leqslant 0 fi(x)⩽0 。称线性无关约束规定 (LICQ: linear independence constraint qualification) 在可行点 x ‾ \overline{\boldsymbol{x}} x 成立, 若积极约束的梯度 ∇ f A i ( x ‾ ) , i ∈ A \nabla f_{\mathcal{A} i}(\overline{\boldsymbol{x}}), i \in \mathcal{A} ∇fAi(x),i∈A 线性无关, 或积极约束的 Jacobian 矩阵 J A ( x ˉ ) J_{\mathcal{A}}(\bar{x}) JA(xˉ) 满行秩。