H. E. Krogstad, TMA 4180 Optimeringsteori KARUSH-KUHN-TUCKER THEOREM
KKT條件在處理有約束問題的時候很有用, 但是對KKT的適用性一直不是很理解, 看了這篇講解整理一下.
基本內容
問題
x∈Ωminf(x),(1)
在等式約束條件:
ci(x)=0,i∈ξ,(2)
及不等約束條件:
ci(x)≥0,i∈I.(3)
不妨就記
Ω={x:ci(x)=0,i∈ξ,ci(x)≥0,i∈I}.
在不等式約束中, 即只有當我們所尋的極值點x∗處, ci(x∗)=0,i∈I稱之爲激活不等式約束(active inequality constraints), 否則爲不激活的, 我們記激活的不等式約束和等式約束爲A.
注: 均連續可微.
對於任意一個可行點x0, 令x(t),t≥0爲一連續路徑, 滿足t→0,x(t)→x0,定義d爲:
∥x(t)−x0∥x(t)−x0t→0→∥d∥d.
有如下性質:
∇ci(x)d=0,i∈ξ∇ci(x)d≥0,i∈I∩A,(8,9)
其中, 我們假設梯度向量爲行向量.
證明:
ci(x(t))−ci(x0)=∇ci(x0)(x(t)−x0)+o(∥x(t)−x0∥)=0,i∈ξ
兩邊同除以∥x(t)−x0∥, 並令t→0即可得.
ci(x(t))−ci(x0)=∇ci(x0)(x(t)−x0)+o(∥x(t)−x0∥)=ci(x(t))≥0,i∈I∩A
與上面同樣的操作即可得.
我們把這些由路徑引導出來的可行方向d的集合記爲
T(x)={d:dfeasibledirectionoutfromx}.(10)
而記滿足(8,9)的一切d的集合記爲F(x), 顯然T(x)⊂F(x), 且均爲錐(即d屬於此集合, 則αd,α>0也屬於此集合).
LICQ 假設
點x0滿足LICQ假設, 當
{∇ci(x0)},i∈A,(14)
是線性獨立的.
線性不獨立: 當集合中存在一個向量能夠由其他向量線性表出, 否則稱此集合線性獨立. 顯然這是比線性無關更強的一個概念.
KKT 定理
假設x∗是問題(1)在等式約束(2)以及不等式約束(3)的限制下的局部最小值點, 且滿足LICQ假設. 則存在λi∗滿足:
∇f(x∗)=i∈ξ∪I∑λi∗∇ci(x∗),(17)
且
(i)(ii)λi∗⋅ci(x∗)=0,i∈ξ∪I,λi∗≥0,i∈I.(18)
KKT定理的證明
記:
A=⎣⎢⎡∇c1(x)⋮∇cm(x)⎦⎥⎤
屬於A的所有ci的梯度的綜合表示,
c(x)=[c1(x),…,cm(x)]T.
引理A
引理A: 當x∈Rn滿足LICQ假設, 則T(x)=F(x).
證明:
既然T(x)⊂F(x), 我們只需要證明F(x)⊂T(x).
下面, ∀d∈F(x), 我們將構造y(t),t≥0, 爲一連續的起點爲y(0)=x的路徑, 且在x的足夠小的一個鄰域內y(t)滿足等式約束和不等式約束, 一旦找到這樣的y(t), 證明也就完成了.
根據假設可知, dim(A) = m, 則A的核的維數爲dim(N(A))=n−m, 我們從核空間中抽取一組基作爲行向量構建Z′, 則
[AZ′](24)
是一個非奇異的n×n的方陣.
考慮如下的非線性方程系統(顯然有解t=0,y=x)
R(y,t)=[c(y)−tAdZ′(y−x−td)]=0.(25)
關於y的加科比行列式爲
∂y∂R∣t=0=[AZ′],(26)
非奇異, 所以根據隱函數定理可知, 在t足夠小的時候, 存在連續可微函數y(t), 且y(0)=x.
既然
c(y)=c(x)+∇c(x)(y−x)+o(∥y−x∥)=A(y−x)+o(∥y−x∥),(27)
我們有
0=R(y(t),t)=[AZ′](y(t)−x−td)+o(∥y(t)−x∥).(28)
也就是說
y(t)−x=td+o(∥y(t)−x∥),(29)
倆邊令t→0, 可知y(t)爲d的一個連續路徑.
又結合(25)
c(y(t))−tAd=0,(30)
ci(y(t))=t∇ci(x)d={0,≥0,i∈ξi∈I∩A.(31)
所以對於任意的i∈A, y(t)是可行路徑, 對於未激活的不等式約束, 既然y(t)是連續的, 當t足夠效地時候容易得到ci(y(t))>0,i∈I,i∈A. 這樣便證明了, ∀d∈F(x), 均爲可行方向, 故F(x)=T(x).
Farkas 引理
Farkas 引理: 令g和{ai}i=1m爲n維行向量且
S={d∈Rn;gd<0,aid≥0,i=1,…,m},(33)
則S=∅當且僅當存在非負向量λ∈Rm 使得
g=i=1∑mλiai.(34)
證明:
⇐
∀d∈S,
0>gd=i=1∑mλiaid≥0,
故S=∅.
⇒
若不存在這樣的λ, 即對於任意的λ, g=∑i=1mλiai, 則g不能由{ai}線性表出. 不妨假設{ai}與g按序進行施密特正交化過程, 可得{a^i}爲{ai}的一正交向量組, h爲
h=g−i∑⟨g,a^i⟩a^i,
則
⟨h,ai⟩=0,⟨h,g⟩=l=0.
不妨設l<0(否則h=−h), 則h∈S, 這與S=∅矛盾.
證畢.
定義問題P:
gd<0,Ad≥0.(36)
定義問題D:
g=λTA,λ≥0.(37)
推論
推論: 要麼問題P存在解, 要麼D存在解, 二者不能同時成立.
KKT定理的證明
既然x∗是一局部極值點, 則
∇f(x∗)d≥0,∀d∈T(x∗)=F(x∗),(38)
將∇f(x∗)視作Farkas引理中的g, A即爲我們最開始定義的A, 則∀Ad≥0, d∈F(x), 這是因爲所有等式約束ci(x)=0, 都可以變成倆個不等式約束ci(x)≥0,−ci(x)≥0. 這也就是說, 問題P無解, 則D有解, 即存在λ∗≥0:
∇f(x∗)=∑λi∗∇ci(x∗),λi∗≥0.(39)
對於任意的i∈A, 我們只需取λi∗=0, (39)依然成立, 同時原定理(18)中的(i)(ii)也同樣容易證明.