【最优化】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,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 δk0,则 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={xR2:x2x12},则其序列可行方向需要满足 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={xR2: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={pRnpTg<0}

引理 x ∗ x^* x 是约束问题的局部极小点,则在 x x x^* 处没有 序列可行方向是下降方向,即
F ∗ ∩ D ∗ = ∅ \mathcal{F}^* \cap {D}^* = \varnothing FD=

换言之,上述引理指出 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,iEpTai0,iI
的非零向量 p p p,所有线性化可行方向形成的集合为 F ′ F' F

显然,如果 F ′ \mathcal{F}' F F ′ F' F 相同,将会很方便。

引理 F ′ ⊆ F ′ \mathcal{F}' \subseteq F' FF

证明 p ∈ F ′ p \in \mathcal{F}' pF,则存在可行序列 { 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 δk0,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} iE,有 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} iI,有 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' pF,引理得证。

令人遗憾的是, F ‘ ⊆ F ′ F‘ \subseteq \mathcal{F}' FF 不一定成立。

定义集合
Ω = { 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\} Ω={xR2:x2x13,x20}
考虑可行点 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)TF,显然不存在可行方向收敛于 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),iA 是线性函数,或者

(2) LICQ: a i ′ , i ∈ A ′ a_i', i \in \mathcal{A}' ai,iA 线性无关

成立,则有 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={pRn:pTg<0,pTai0,i=1,2,,m}
是空集当且仅当存在 λ i ≥ 0 , i = 1 , 2 , ⋯   , m \lambda_i \geq 0,i =1,2,\cdots,m λi0,i=1,2,,m,使得
− g = ∑ i = 1 m a i λ i -g = \sum_{i=1}^m a_i \lambda_i g=i=1maiλ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={vRn:v=i=1maiλi,λi0}
C C C 是一个多面锥,并且是一个闭凸集

若向量 a ∈ C a \in C aC,则存在超平面分离 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,pTv0,vC

将引理的必要条件与 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,iE,ai,iI,则集合
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={pRn:pTg<0,pTai=0,iE,pTai0,iI}
是空集当且仅当存在 λ i ∗ , i ∈ E , λ i ∗ ≥ 0 , i ∈ I ∗ \lambda_i^*,i\in \mathcal{E},\lambda_i^*\geq 0, i\in \mathcal{I}^* λi,iE,λi0,iI,使得
− 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=iEλiai+iIλiai

由上述推论可以证明 KKT 条件。

正则性假设 1 F ∗ ∩ D ∗ = F ∗ ∈ D ∗ F^*\cap D^* = \mathcal{F}^* \in D^* FD=FD

x ∗ x^* x 是局部极小点,且在 x ∗ x^* x 处正则性假设 1 成立,则
F ∗ ∩ D ∗ = ∅ F^*\cap D^* = \varnothing FD=
由 Farkas 引理,知 ∃ λ i ∗ ∈ A ∗ \exists \lambda_i^* \in \mathcal{A}^* λiA,且 λ i ∗ ≥ 0 , i ∈ I ∗ \lambda_i^* \geq 0,i \in \mathcal{I}^* λi0,iI,使得
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+iEλiai+iIλiai=0
i ∈ I \ I ∗ i \in \mathcal{I} \backslash \mathcal{I}^* iI\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}^* FD=FD
成立,则存在 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λici(x)=0=0,iE0,iI0,iI=0,iI

正则性假设是对向量 a ′   ( i ∈ A ′ ) a' ~ (i \in \mathcal{A}') a (iA) 的进一步放松。

定理 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.  x2x2x13,x20(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.  x1x2x13,x20(2)
在解 x ∗ = ( 0 , 0 ) T x^*=(0,0)^T x=(0,0)T 处,易验证 (1) 满足正则性假设,(2) 不满足正则性假设。

参考文献

[1] 刘红英,夏勇,周永生. 数学规划基础,北京,2012.

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值