【最优化】KKT 条件
一阶条件文章目录一阶条件序列可行方向一阶必要条件线性化可行方向约束规范Farkas 引理KKT 条件参考文献本节将对一阶条件(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,
一阶条件
本节将对一阶条件(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.
更多推荐
所有评论(0)