一阶条件
本节将对一阶条件(KKT)进行详细讨论,
序列可行方向
定义 设 x ′ x' x′ 为可行点, { x ( k ) } \{x^{(k)}\} {x(k)} 为可行序列,满足 x ( k ) → x ′ x^{(k)} \to x' x(k)→x′,且 ∀ k , x ( k ) ≠ x ′ \forall k, x^{(k)} \neq x' ∀k,x(k)=x′,则 x ( k ) − x ′ x^{(k)} - x' x(k)−x′ 为 x ′ x' x′ 处的可行增量,表示为
x ( k ) − x ′ = δ k p ( k ) x^{(k)} - x' = \delta_k p^{(k)} x(k)−x′=δkp(k)
其中 $\delta_k > 0 $ 且 δ k → 0 \delta_k \to 0 δk→0,则 p ( k ) p^{(k)} p(k) 是长度固定的向量,称 p ( k ) p^{(k)} p(k) 的任一聚点 p p p 是可行域 Ω \Omega Ω 在 x ′ x' x′ 处的序列可行方向,全体记为 F ′ \mathcal{F}' F′。
根据定义,一个序列可行方向确定一个可行序列。
例如,可行点 x ′ = 0 x' =0 x′=0,对于 Ω 1 = { x ∈ R 2 : x 2 ≥ x 1 2 } \Omega_1 = \{x\in \mathbb{R}^2:x_2\geq x_1^2\} Ω1={x∈R2:x2≥x12},则其序列可行方向需要满足 p 2 > 0 p_2 > 0 p2>0 即可。
而对于
Ω
2
=
{
x
∈
R
2
:
x
2
=
x
1
2
}
\Omega_2 = \{x\in \mathbb{R}^2:x_2 = x_1^2\}
Ω2={x∈R2:x2=x12},其序列可行方向需满足
p
1
≠
0
,
p
2
=
0
p_1 \neq 0, p_2 = 0
p1=0,p2=0
一阶必要条件
不妨设
f
f
f 在可行点
x
′
x'
x′ 处的下降方向集为
D
′
=
{
p
∈
R
n
∣
p
T
g
′
<
0
}
D' = \{p\in \mathbb{R}^n|p^Tg' < 0\}
D′={p∈Rn∣pTg′<0}
引理 设 x ∗ x^* x∗ 是约束问题的局部极小点,则在 x x x^* 处没有 序列可行方向是下降方向,即
F ∗ ∩ D ∗ = ∅ \mathcal{F}^* \cap {D}^* = \varnothing F∗∩D∗=∅
换言之,上述引理指出若 x ∗ x^* x∗ 是局部极小点,则目标函数在 x ∗ x^* x∗ 处沿任一序列可行方向导数非负。
线性化可行方向
然而,集合
F
∗
\mathcal{F}^*
F∗ 通常不易计算,考虑另一个易于计算的可行方向集。约束函数
c
i
c_i
ci 在
x
′
x'
x′ 处的一阶 Taylor 近似为
c
i
(
x
′
+
s
)
≈
c
i
(
x
′
)
+
∇
c
i
(
x
′
)
T
s
c_i(x' + s) \approx c_i(x') + \nabla c_i(x')^T s
ci(x′+s)≈ci(x′)+∇ci(x′)Ts
定义点
x
′
x'
x′ 处的线性化可行方向是满足
p
T
a
i
′
=
0
,
i
∈
E
p
T
a
i
′
≤
0
,
i
∈
I
\begin{aligned} p^T a_i' \textcolor{red}{=} 0, i\in\mathcal{E} \\ p^T a_i' \textcolor{blue}{\leq} 0, i\in\mathcal{I} \end{aligned}
pTai′=0,i∈EpTai′≤0,i∈I
的非零向量
p
p
p,所有线性化可行方向形成的集合为
F
′
F'
F′。
显然,如果 F ′ \mathcal{F}' F′ 和 F ′ F' F′ 相同,将会很方便。
引理 F ′ ⊆ F ′ \mathcal{F}' \subseteq F' F′⊆F′
证明 若
p
∈
F
′
p \in \mathcal{F}'
p∈F′,则存在可行序列
{
x
(
k
)
}
\{x^{(k)}\}
{x(k)} 满足
x
(
k
)
−
x
′
=
δ
k
p
(
k
)
x^{(k)} - x' = \delta_k p^{(k)}
x(k)−x′=δkp(k)
其中
δ
k
→
0
,
p
(
k
)
→
p
\delta_k \to 0, p^{(k)} \to p
δk→0,p(k)→p。展开约束
c
i
c_i
ci 在
x
′
x'
x′ 处的 Taylor 展式
c
i
(
x
(
k
)
)
=
c
i
(
x
′
)
+
δ
k
p
(
k
)
a
i
′
+
o
(
δ
k
)
c_i(x^{(k)}) = c_i(x') + \delta_k p^{(k)} a_i' + o(\delta_k)
ci(x(k))=ci(x′)+δkp(k)ai′+o(δk)
对于
i
∈
E
i \in \mathcal{E}
i∈E,有
c
i
(
x
(
k
)
)
=
c
i
(
x
′
)
=
0
c_i(x^{(k)}) = c_i(x') = 0
ci(x(k))=ci(x′)=0;对于
i
∈
I
i \in \mathcal{I}
i∈I,有
c
i
(
x
(
k
)
)
≤
c
i
(
x
′
)
=
0
c_i(x^{(k)}) \leq c_i(x') = 0
ci(x(k))≤ci(x′)=0。因此,有
c
i
(
x
(
k
)
)
δ
k
=
c
i
(
x
′
)
δ
k
+
p
(
k
)
a
i
′
+
o
(
δ
k
)
δ
k
\frac{c_i(x^{(k)})}{\delta_k} = \frac{c_i(x')}{\delta_k} + p^{(k)} a_i' + \frac{o(\delta_k)}{\delta_k}
δkci(x(k))=δkci(x′)+p(k)ai′+δko(δk)
对于
k
→
∞
k \to \infty
k→∞,
p
∈
F
′
p \in F'
p∈F′,引理得证。
令人遗憾的是, F ‘ ⊆ F ′ F‘ \subseteq \mathcal{F}' F‘⊆F′ 不一定成立。
例 定义集合
Ω
=
{
x
∈
R
2
:
x
2
≤
x
1
3
,
x
2
≥
0
}
\Omega = \{x\in\mathbb{R}^2:x_2 \leq x_1^3,x_2\geq 0\}
Ω={x∈R2:x2≤x13,x2≥0}
考虑可行点
x
′
=
(
0
,
0
)
T
x' = (0,0)^T
x′=(0,0)T,线性化可行方向
p
=
(
−
1
,
0
)
T
∈
F
′
p = (-1,0)^T \in F'
p=(−1,0)T∈F′,显然不存在可行方向收敛于
p
p
p,即
p
∉
F
′
p \notin \mathcal{F}'
p∈/F′。
约束规范
约束规范(constraint quality, CQ)指的是保证 F ‘ = F ′ F‘ = \mathcal{F}' F‘=F′ 的假设条件。需要指出的是,约束规范失效的情况极少出现。
引理 在可行点 x ′ x' x′ 处,如果条件
(1) LCQ: c i ( x ) , i ∈ A ′ c_i(x), i \in \mathcal{A}' ci(x),i∈A′ 是线性函数,或者
(2) LICQ: a i ′ , i ∈ A ′ a_i', i \in \mathcal{A}' ai′,i∈A′ 线性无关
成立,则有 F ‘ = F ′ F‘ = \mathcal{F}' F‘=F′。
Farkas 引理
Farkas 引理 给定 n n n 维向量 a 1 , a 2 , ⋯ , a m a_1,a_2,\cdots,a_m a1,a2,⋯,am 和 g g g,集合
S = { p ∈ R n : p T g < 0 , p T a i ≤ 0 , i = 1 , 2 , ⋯ , m } S = \{ p \in \mathbb{R}^n: p^Tg<0,p^Ta_i \leq 0, i = 1,2,\cdots,m \} S={p∈Rn:pTg<0,pTai≤0,i=1,2,⋯,m}
是空集当且仅当存在 λ i ≥ 0 , i = 1 , 2 , ⋯ , m \lambda_i \geq 0,i =1,2,\cdots,m λi≥0,i=1,2,⋯,m,使得
− g = ∑ i = 1 m a i λ i -g = \sum_{i=1}^m a_i \lambda_i −g=i=1∑maiλi
给定
R
n
\mathbb{R}^n
Rn 中的向量
a
1
,
a
2
,
⋯
,
a
m
a_1,a_2,\cdots,a_m
a1,a2,⋯,am,令
C
=
{
v
∈
R
n
:
v
=
∑
i
=
1
m
a
i
λ
i
,
λ
i
≥
0
}
C = \left\{ v \in \mathbb{R}^n:v=\sum_{i=1}^m a_i \lambda_i,\lambda_i \geq 0 \right\}
C={v∈Rn:v=i=1∑maiλi,λi≥0}
则
C
C
C 是一个多面锥,并且是一个闭凸集,
若向量
a
∈
C
a \in C
a∈C,则存在超平面分离
C
C
C 和
a
a
a,即存在非零向量
p
p
p 使得
p
T
a
>
0
,
p
T
v
≤
0
,
∀
v
∈
C
p^Ta > 0,p^Tv\leq 0,\forall v \in C
pTa>0,pTv≤0,∀v∈C
将引理的必要条件与 Lagrange 乘子建立联系,需要将 Farkas 引理推广到含等式的情况。
推论 给定 R n \mathbb{R}^n Rn 中的向量 g ∗ , a i ∗ , i ∈ E , a i ∗ , i ∈ I ∗ g^*,a_i^*,i\in \mathcal{E},a_i^*,i\in\mathcal{I}^* g∗,ai∗,i∈E,ai∗,i∈I∗,则集合
S = { p ∈ R n : p T g ∗ < 0 , p T a i ∗ = 0 , i ∈ E , p T a i ∗ ≤ 0 , i ∈ I ∗ } S = \{ p \in \mathbb{R}^n: p^Tg^*<0, p^Ta_i^*= 0,i\in \mathcal{E},p^Ta_i^* \leq 0, i \in \mathcal{I}^*\} S={p∈Rn:pTg∗<0,pTai∗=0,i∈E,pTai∗≤0,i∈I∗}
是空集当且仅当存在 λ i ∗ , i ∈ E , λ i ∗ ≥ 0 , i ∈ I ∗ \lambda_i^*,i\in \mathcal{E},\lambda_i^*\geq 0, i\in \mathcal{I}^* λi∗,i∈E,λi∗≥0,i∈I∗,使得
− g ∗ = ∑ i ∈ E λ i ∗ a i ∗ + ∑ i ∈ I ∗ λ i ∗ a i ∗ -g^* = \sum_{i\in\mathcal{E}} \lambda_i^*a_i^* + \sum_{i\in\mathcal{I}^*} \lambda_i^* a_i^* −g∗=i∈E∑λi∗ai∗+i∈I∗∑λi∗ai∗
由上述推论可以证明 KKT 条件。
正则性假设 1: F ∗ ∩ D ∗ = F ∗ ∈ D ∗ F^*\cap D^* = \mathcal{F}^* \in D^* F∗∩D∗=F∗∈D∗
若
x
∗
x^*
x∗ 是局部极小点,且在
x
∗
x^*
x∗ 处正则性假设 1 成立,则
F
∗
∩
D
∗
=
∅
F^*\cap D^* = \varnothing
F∗∩D∗=∅
由 Farkas 引理,知
∃
λ
i
∗
∈
A
∗
\exists \lambda_i^* \in \mathcal{A}^*
∃λi∗∈A∗,且
λ
i
∗
≥
0
,
i
∈
I
∗
\lambda_i^* \geq 0,i \in \mathcal{I}^*
λi∗≥0,i∈I∗,使得
g
∗
+
∑
i
∈
E
λ
i
∗
a
i
∗
+
∑
i
∈
I
∗
λ
i
∗
a
i
∗
=
0
g^* + \sum_{i \in \mathcal{E}} \lambda_i^* a_i^* + \sum_{i\in\mathcal{I}^*}\lambda_i^*a_i^* = 0
g∗+i∈E∑λi∗ai∗+i∈I∗∑λi∗ai∗=0
当
i
∈
I
\
I
∗
i \in \mathcal{I} \backslash \mathcal{I}^*
i∈I\I∗ 时,有
c
i
(
x
∗
)
<
0
c_i(x^*) < 0
ci(x∗)<0,此时令
λ
i
∗
=
0
\lambda^*_i = 0
λi∗=0。
KKT 条件
定理(一阶必要条件) 若 x ∗ x^* x∗ 是局部极小点且 x ∗ x^* x∗ 处正则性假设
F ∗ ∩ D ∗ = F ∗ ∩ D ∗ F^* \cap D^* = \mathcal{F}^* \cap {D}^* F∗∩D∗=F∗∩D∗
成立,则存在 Lagrange 乘子 λ ∗ \lambda^* λ∗ 使得 x ∗ , λ ∗ x^*,\lambda^* x∗,λ∗ 满足
∇ x L ( x ∗ , λ ∗ ) = 0 c i ( x ∗ ) = 0 , i ∈ E c i ( x ∗ ) ≤ 0 , i ∈ I λ i ∗ ≥ 0 , i ∈ I λ i ∗ c i ( x ∗ ) = 0 , i ∈ I \begin{aligned} \nabla_x \mathcal{L}(x^*,\lambda^*) & = 0\\ c_i(x^*) & = 0, i \in \mathcal{E} \\ c_i(x^*) & \leq 0, i \in \mathcal{I} \\ \lambda_i^* &\geq 0, i \in \mathcal{I} \\ \lambda_i^*c_i(x^*) & = 0, i \in \mathcal{I} \end{aligned} ∇xL(x∗,λ∗)ci(x∗)ci(x∗)λi∗λi∗ci(x∗)=0=0,i∈E≤0,i∈I≥0,i∈I=0,i∈I
正则性假设是对向量 a ′ ( i ∈ A ′ ) a' ~ (i \in \mathcal{A}') a′ (i∈A′) 的进一步放松。
定理 设 x ∗ x^* x∗ 是约束问题的局部极小点,且在 x ∗ x^* x∗ 处LCQ 或者 LICQ成立, 则 x ∗ x^* x∗ 满足 KKT条件.。
例 考虑问题
min
x
2
s
.
t
.
x
2
≤
x
1
3
,
x
2
≥
0
(1)
\begin{aligned} \min ~~&x_2\\ \mathrm{s.t.}~~&x_2 \leq x_1^3,x_2\geq 0 \end{aligned} \tag{1}
min s.t. x2x2≤x13,x2≥0(1)
与
min
x
1
s
.
t
.
x
2
≤
x
1
3
,
x
2
≥
0
(2)
\begin{aligned} \min ~~&x_1\\ \mathrm{s.t.}~~&x_2 \leq x_1^3,x_2\geq 0 \end{aligned} \tag{2}
min s.t. x1x2≤x13,x2≥0(2)
在解
x
∗
=
(
0
,
0
)
T
x^*=(0,0)^T
x∗=(0,0)T 处,易验证 (1) 满足正则性假设,(2) 不满足正则性假设。
参考文献
[1] 刘红英,夏勇,周永生. 数学规划基础,北京,2012.