KKT (LICQ)

H. E. Krogstad, TMA 4180 Optimeringsteori KARUSH-KUHN-TUCKER THEOREM

KKT條件在處理有約束問題的時候很有用, 但是對KKT的適用性一直不是很理解, 看了這篇講解整理一下.

基本內容

問題
minxΩf(x),(1) \tag{1} \min_{x \in \Omega} f(x),
在等式約束條件:
ci(x)=0,iξ,(2) \tag{2} c_i(x) = 0, i \in \xi,
及不等約束條件:
ci(x)0,iI.(3) \tag{3} c_i(x) \ge 0, i \in \mathcal{I}.
不妨就記
Ω={x:ci(x)=0,iξ,ci(x)0,iI}. \Omega = \{x: c_i(x) = 0, i \in \xi, c_i(x)\ge 0, i \in \mathcal{I}\}.
在不等式約束中, 即只有當我們所尋的極值點xx^*處, ci(x)=0,iIc_i(x^*)=0, i \in \mathcal{I}稱之爲激活不等式約束(active inequality constraints), 否則爲不激活的, 我們記激活的不等式約束和等式約束爲A\mathcal{A}.

注: 均連續可微.

對於任意一個可行點x0x_0, 令x(t),t0x(t), t\ge 0爲一連續路徑, 滿足t0,x(t)x0t\rightarrow 0, x(t) \rightarrow x_0,定義dd爲:
x(t)x0x(t)x0t0dd. \frac{x(t) - x_0}{\|x(t)-x_0\|} \mathop{\rightarrow } \limits_{t \rightarrow 0} \frac{d}{\|d\|}.

有如下性質:
ci(x)d=0,iξci(x)d0,iIA,(8,9) \tag{8,9} \nabla c_i(x) d = 0, i \in \xi \\ \nabla c_i(x) d \ge 0, i \in \mathcal{I \cap A},
其中, 我們假設梯度向量爲行向量.

證明:
ci(x(t))ci(x0)=ci(x0)(x(t)x0)+o(x(t)x0)=0,iξ c_i(x(t)) - c_i(x_0) = \nabla c_i(x_0)(x(t)-x_0) + o(\|x(t)-x_0\|) = 0, i \in \xi
兩邊同除以x(t)x0\|x(t)-x_0\|, 並令t0t \rightarrow 0即可得.
ci(x(t))ci(x0)=ci(x0)(x(t)x0)+o(x(t)x0)=ci(x(t))0,iIA c_i(x(t)) - c_i(x_0) = \nabla c_i(x_0)(x(t)-x_0) + o(\|x(t)-x_0\|) = c_i(x(t)) \ge 0, i \in \mathcal{I \cap A}
與上面同樣的操作即可得.

我們把這些由路徑引導出來的可行方向dd的集合記爲
T(x)={d:dfeasibledirectionoutfromx}.(10) \tag{10} \mathcal{T}(x) = \{d: d \: feasible \: di rection \: out \: from \: x\}.
而記滿足(8,9)(8, 9)的一切dd的集合記爲F(x)\mathcal{F}(x), 顯然T(x)F(x)\mathcal{T}(x) \subset \mathcal{F}(x), 且均爲錐(即dd屬於此集合, 則αd,α>0\alpha d, \alpha > 0也屬於此集合).

LICQ 假設

x0x_0滿足LICQ假設, 當
{ci(x0)},iA,(14) \tag{14} \{\nabla c_i(x_0)\}, i \in \mathcal{A},
是線性獨立的.
線性不獨立: 當集合中存在一個向量能夠由其他向量線性表出, 否則稱此集合線性獨立. 顯然這是比線性無關更強的一個概念.

KKT 定理

假設xx^*是問題(1)在等式約束(2)以及不等式約束(3)的限制下的局部最小值點, 且滿足LICQ假設. 則存在λi\lambda_i^*滿足:
f(x)=iξIλici(x),(17) \tag{17} \nabla f(x^*) = \sum_{i \in \xi \cup \mathcal{I}} \lambda_i^* \nabla c_i(x^*),

(i)λici(x)=0,iξI,(ii)λi0,iI.(18) \tag{18} \begin{array}{lc} (i) & \lambda_i^* \cdot c_i(x^*) = 0, i \in \xi \cup \mathcal{I}, \\ (ii) & \lambda_i^* \ge 0, i \in \mathcal{I}. \end{array}

KKT定理的證明

記:
A=[c1(x)cm(x)] A = \left [ \begin{array}{c} \nabla c_1(x) \\ \vdots \\ \nabla c_m(x) \end{array} \right ]
屬於A\mathcal{A}的所有cic_i的梯度的綜合表示,
c(x)=[c1(x),,cm(x)]T. c(x) = [c_1(x), \ldots, c_m(x)]^T.

引理A

引理A: 當xRnx \in \R^n滿足LICQ假設, 則T(x)=F(x)\mathcal{T}(x) = \mathcal{F}(x).

證明:
既然T(x)F(x)\mathcal{T}(x) \subset \mathcal{F}(x), 我們只需要證明F(x)T(x)\mathcal{F}(x) \subset \mathcal{T}(x).

下面, dF(x)\forall d \in \mathcal{F}(x), 我們將構造y(t),t0y(t), t \ge 0, 爲一連續的起點爲y(0)=xy(0)=x的路徑, 且在xx的足夠小的一個鄰域內y(t)y(t)滿足等式約束和不等式約束, 一旦找到這樣的y(t)y(t), 證明也就完成了.

根據假設可知, dim(AA) = mm, 則AA的核的維數爲dim(N(A))=nmdim(N(A))=n-m, 我們從核空間中抽取一組基作爲行向量構建ZZ', 則
[AZ](24) \tag{24} \left [ \begin{array}{c} A \\ Z' \end{array} \right ]
是一個非奇異的n×nn\times n的方陣.

考慮如下的非線性方程系統(顯然有解t=0,y=xt=0,y=x)
R(y,t)=[c(y)tAdZ(yxtd)]=0.(25) \tag{25} R(y, t) = \left [ \begin{array}{c} c(y) - tAd \\ Z'(y - x -td) \end{array} \right ] = 0.
關於yy的加科比行列式爲
Ryt=0=[AZ],(26) \tag{26} \frac{\partial R}{\partial y} |_{t=0} = \left [ \begin{array}{c} A \\ Z' \end{array} \right ],
非奇異, 所以根據隱函數定理可知, 在tt足夠小的時候, 存在連續可微函數y(t)y(t), 且y(0)=xy(0)=x.

既然
c(y)=c(x)+c(x)(yx)+o(yx)=A(yx)+o(yx),(27) \tag{27} c(y)=c(x) + \nabla c(x)(y-x) + o(\|y-x\|) = A(y-x)+o(\|y-x\|),
我們有
0=R(y(t),t)=[AZ](y(t)xtd)+o(y(t)x).(28) \tag{28} 0=R(y(t),t) = \left [ \begin{array}{c} A \\ Z' \end{array} \right ] (y(t)-x-td) + o(\|y(t)-x\|).

也就是說
y(t)x=td+o(y(t)x),(29) \tag{29} y(t)-x=td+o(\|y(t)-x\|),
倆邊令t0t \rightarrow 0, 可知y(t)y(t)dd的一個連續路徑.
又結合(25)
c(y(t))tAd=0,(30) \tag{30} c(y(t))-tAd=0,
ci(y(t))=tci(x)d={0,iξ0,iIA.(31) \tag{31} c_i(y(t))=t\nabla c_i(x)d = \left \{ \begin{array}{ll} 0, & i \in \xi \\ \ge 0 , & i \in \mathcal{I \cap A} . \end{array} \right .
所以對於任意的iAi \in \mathcal{A}, y(t)y(t)是可行路徑, 對於未激活的不等式約束, 既然y(t)y(t)是連續的, 當tt足夠效地時候容易得到ci(y(t))>0,iI,i∉Ac_i(y(t)) > 0, i \in \mathcal{I}, i \not \in \mathcal{A}. 這樣便證明了, dF(x)\forall d \in \mathcal{F}(x), 均爲可行方向, 故F(x)=T(x)\mathcal{F}(x) =\mathcal{T}(x).

Farkas 引理

Farkas 引理: 令gg{ai}i=1m\{a_i\}_{i=1}^mnn維行向量且
S={dRn;gd<0,aid0,i=1,,m},(33) \tag{33} \mathcal{S} = \{ d \in \mathbb{R}^n; gd<0 , a_id \ge 0, i=1, \ldots, m\},
S=\mathcal{S} = \empty當且僅當存在非負向量λRm\lambda \in \mathbb{R}^m 使得
g=i=1mλiai.(34) \tag{34} g = \sum_{i=1}^m \lambda_i a_i.

證明:

\Leftarrow

dS\forall d \in \mathcal{S},
0>gd=i=1mλiaid0, 0 > gd = \sum_{i=1}^m \lambda_i a_id \ge 0,
S=\mathcal{S} = \empty.

\Rightarrow

若不存在這樣的λ\lambda, 即對於任意的λ\lambda, gi=1mλiaig \not =\sum_{i=1}^m \lambda_i a_i, 則gg不能由{ai}\{a_i\}線性表出. 不妨假設{ai}\{a_i\}gg按序進行施密特正交化過程, 可得{a^i}\{\hat{a}_i\}{ai}\{a_i\}的一正交向量組, hh
h=gig,a^ia^i, h = g- \sum_i \langle g,\hat{a}_i\rangle \hat{a}_i,

h,ai=0,h,g=l0. \langle h, a_i \rangle = 0, \\ \langle h, g \rangle = l \not = 0.
不妨設l<0l<0(否則h=hh=-h), 則hSh \in \mathcal{S}, 這與S=\mathcal{S} = \empty矛盾.

證畢.

定義問題P\mathcal{P}:
gd<0,Ad0.(36) \tag{36} gd < 0, \\ Ad \ge 0.
定義問題D\mathcal{D}:
g=λTA,λ0.(37) \tag{37} g = \lambda^T A, \lambda \ge 0.

推論

推論: 要麼問題P\mathcal{P}存在解, 要麼D\mathcal{D}存在解, 二者不能同時成立.

KKT定理的證明

既然xx^*是一局部極值點, 則
f(x)d0,dT(x)=F(x),(38) \tag{38} \nabla f(x^*) d \ge 0, \forall d \in \mathcal{T} (x^*) =\mathcal{F}(x^*),
f(x)\nabla f(x^*)視作Farkas引理中的gg, AA即爲我們最開始定義的AA, 則Ad0\forall Ad \ge 0, dF(x)d \in \mathcal{F}(x), 這是因爲所有等式約束ci(x)=0c_i(x)=0, 都可以變成倆個不等式約束ci(x)0,ci(x)0c_i(x)\ge0, -c_i(x) \ge 0. 這也就是說, 問題P\mathcal{P}無解, 則D\mathcal{D}有解, 即存在λ0\lambda^* \ge 0:
f(x)=λici(x),λi0.(39) \tag{39} \nabla f(x^*) = \sum \lambda_i^* \nabla c_i(x^*), \lambda_i^* \ge 0.
對於任意的i∉Ai \not \in \mathcal{A}, 我們只需取λi=0\lambda_i^*=0, (39)依然成立, 同時原定理(18)中的(i)(ii)也同樣容易證明.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章