Farkas 引理
當求解一個線性規划問題時,如何確定線性不等式約束是否存在可行解呢?這一部分使用對偶理論找到另一組線性不等式,使得這個問題與原問題的可行性等價。而這個新問題的思路是去尋找原問題不可行的條件。
比如,考慮標准型問題,約束為\(Ax=b\)以及\(x\geq 0\)。假設存在向量\(p\)使得\(p^TA\geq 0^T\)以及\(p^Tb<0\)成立。那么對於任意\(x\geq 0\),有\(p^TAx\geq 0\)。由於\(p^Tb<0\),因此\(p^TAx\not = p^Tb\),這也就是說對於所有\(x\geq 0\)都有\(Ax\not = b\)。上述的思路說明若我們可以找到一個向量\(p\)滿足\(p^TA\geq 0^T\)以及\(p^Tb<0\),那么這個標准型問題的約束就不存在可行解。下面的定理將說明只要標准型問題是不可行的,那么\(p\)(稱為 certificate of infeasibility) 就一定存在。
定理:(Farkas 引理) 已知\(A\)是一個\(m\times n\)的矩陣以及\(b\in\mathbb{R}^m\)。下面兩種情形中的一種成立:
- 存在一些\(x\geq 0\)使得\(Ax=b\)。
- 存在一些 \(p\) 使得\(p^TA\geq 0^T\)以及\(p^Tb<0\)成立。
證:
先證1成立時,2不可能成立。若存在一些\(x\geq 0\)使得\(Ax=b\)成立,並且有\(p^TA\geq 0^T\),那么\(p^Tb=p^TAx\geq 0\)。
下來證1不成立時,2成立。假設不存在\(x\geq 0\)使得\(Ax=b\)。考慮下面的兩個問題:
注意左邊的問題是右邊的對偶問題。由假設可知左邊的問題不可行,那么這表示右邊的問題要么是無界的(最優值為\(-\infty\))要么是不可行的。由於\(p=0\)是右邊問題的一個可行解,說明這個問題是無界的。因此,存在滿足\(p^TA\geq 0^T\),使得\(p^Tb<0\)(因為最優解為\(-\infty\))。證畢。
Farkas 引理的幾何解釋
下面我們從幾何的角度重新審視一下 Farkas 引理。記矩陣\(A\)的列分別為\(A_1,\cdots,A_n\),則有\(Ax=\sum_{i=1}^nA_ix_i\)。那么若存在\(x\geq 0\)使得\(Ax=b\)將等價於\(b\)可以表示為列\(A_1,\cdots,A_n\)的非負線性表出(如下圖的陰影部分)。如果\(b\)沒有落在陰影部分(Farkas引理的1就不成立),我們想要找到一個向量\(p\)使得\(b\)落在超平面\(\{z\mid p^Tz=0\}\)的一側,而陰影面積在另一側。那么我們就有了\(p^Tb<0\)而\(p^TA_i\geq 0,\,\forall i\),這也就是說引理中的2成立。
結論: 已知向量\(A_1,\cdots,A_n\)以及\(b\),假設對於任意向量\(p\)都有\(p^TA_i\geq 0,\,\)\(i=1,\cdots,n\)且 \(p^Tb\geq 0\)。那么\(b\)可以表示為向量\(A_1,\cdots,A_n\)的非負線性組合。
另一種形式的結論
定理: 假設線性不等式\(Ax\leq b\)存在至少一個解,且有\(d\in\mathbb{R}\),那么下面的描述等價:
- \(Ax\leq b\)的每個可行解都滿足\(c^Tx\leq d\)。
- 存在\(p\geq 0\)使得\(p^TA=c^T\)以及\(p^Tb\leq d\)成立。
證:
考慮如下的問題(左邊的是右邊的對偶問題):
若\(Ax\leq b\)存在可行解並且每個可行解都滿足\(c^Tx\leq d\),這說明左邊的問題有最優解並且最優值是有界的。根據強對偶可知,右邊的問題存在最優解\(p\)且\(p^Tb\leq d\)。
相反的,若存在 \(p\) 滿足\(p^TA=c^T,\,p \geq 0\)以及\(p^Tb\leq d\),那么由弱對偶定理可知左邊問題的每一個可行解都滿足\(c^Tx\leq p^Tb\leq d\)。證畢。
Farkas 引理的應用:資產定價
考慮一個單期市場,假設有n個不同的可交易的資產。並且在期末時,每種資產都有m種可能的狀態。如果我們在期初對資產\(i\)投資\(1\)元,期末時資產變到達狀態\(s\),我們記得到的支付 (payoff) 為\(r_{si}\)。因此,每一個資產\(i\)可由一個支付向量\((r_{1i},\cdots,r_{mi})\)描述。下面的\(m\times n\)的支付矩陣描述了n個資產的m種狀態:
記\(x_i\)為持有資產\(i\)的數量。\(x=(x_1,\cdots,x_n)\)描述了一個資產組合。其中\(x_i\)可正可負,正值代表買入\(x_i\)的資產\(i\)(多頭),期末時若狀態為\(s\),則資產變為\(r_{si}x_i\);負值代表空頭,它可以理解為在期初"借"了\(|x_i|\)的資產\(i\)然后賣出,在期末時在市場中買入\(|x_i|\)的資產\(i\)還給被“借”方,這說明在期末時若狀態為\(s\),那么將需要支出\(r_{si}|x_i|\)(注:當資產價值升高時,多頭賺錢;當資產價值下降時,空頭賺錢。)
因此期末狀態為\(s\)時,投資組合\(x\)的總資產變為:
記向量\(w=(w_1,\cdots,w_m)\),然后有
若期初時資產\(i\)的價格為\(p_i\),基資產價格向量\(p=(p_1,\cdots,p_n)\),那么獲得資產組合\(x\)需要花費\(p^Tx\)。現在的問題就是資產\(i\)的期初價格\(p_i\)如何確定呢?
我們先引入一個經濟學的原理:無套利原理,在這里可描述為:若\(Rx\geq 0\),那么必然有\(p^Tx\geq 0\)。可是滿足無套利原理的\(p_i\)應該如何確定呢?
定理: 無套利原理滿足當且僅當存在非負向量\(q=(q_1,\cdots,q_m)\)使得資產i的價格為
\[p_i=\sum_{s=1}^mq_sr_{si}. \]
證:
無套利原理說明了不存在\(x\)使得\(x^TR^T\geq 0^T\)以及\(x^Tp<0\)成立(這恰好就是Farkas引理的第2個描述)。由Farkas引理可知,存在非負向量\(q\)使得\(R^Tq=p\)。證畢。
這個定理說明了,在市場運作很好時,狀態價格\(q_s\)可以用來計算當前資產價格。
從分離超平面到對偶理論
在之前,我們是通過單純形法引出對偶理論的。這里我們換個方式,先介紹分離超平面,然后引入Farkas引理,之后敘述對偶理論。
閉集和 Weierstrass 定理
稱集合\(S\subset \mathbb{R}^n\)為閉集是指滿足:若\(x^1,x^2,\cdots\)是\(S\)中的一列收斂到\(x\in\mathbb{R}^n\)的元素,有\(x\in S\)。換句話說,\(S\)是閉集是指\(S\)包含任意點列的極限。
定理: 多面體是閉集。
證:
考慮多面體\(P=\{x\in\mathbb{R}^n\mid Ax\geq b\}\)。若\(P\)中序列\(^1,x^2,\cdots\)收斂到\(x^*\),我們需要證明\(x^*\in P\)。對於任意\(k\),有\(x^k\in P\)說明\(Ax^k\geq b\)。給兩邊取極限則有
這說明\(x^*\in P\)。證畢。
下面給出的定理來自於實分析,它為證明優化問題存在優化解提供了很重要的結論。但證明在這里略去了。
定理:(Weierstrass 定理) 若\(f:\mathbb{R}^n\mapsto \mathbb{R}\)是一個連續函數,\(S\)是\(\mathbb{R}^n\)的一個非空有界的閉子集。那么存在\(x^*\in S\)使得\(f(x^*)\leq f(x),\) \(\forall x\in S\)。類似的,存在\(y^*\in S\)使得\(f(y^*)\geq f(x),\) \(\forall x\in S\)。
若集合\(S\)不是閉集的話Weierstrass 定理也就失效了。比如集合\(S=\{x\in\mathbb{R}\mid x>0\}\)不是閉集(可以找到一個收斂到0的點列),對於\(f(x)=x\)上述的結果就不存在(總可以找到另一個更小的值)。這個例子中\(S\)不是閉集是因為定義\(S\)的不等式是嚴格不等的,而多面體的定義就避免了這種情形。
分離超平面定理
這一部分介紹的定理幾何上看很直觀,對於凸集的學習很重要。它描述了若存在一個非空閉集\(S\)以及一個點\(x^*\notin S\),那么我們可以找到一個超平面(稱為分離超平面 (separating hyperplane)),使得\(S\)和\(x^*\)位於不同的半空間(如下圖)。
定理:(分離超平面定理) \(S\)是\(\mathbb{R}^n\)種的一個非空閉的凸集,\(x^*\in\mathbb{R}^n\)是一個不屬於\(S\)的向量。那么存在向量\(c\in\mathbb{R}^n\)使得 \(c^T x^* < c^Tx,\,\forall x\in S\)。
證:
記\(\parallel\cdot\parallel\)為歐幾里得范數,定義為\(\parallel x\parallel=(x^Tx)^{1/2}\)。假設現在固定一個點\(w\in S\),然后定義
以及\(D=S\cap B\) (下圖中的圖\((a)\))。集合\(D\)是非空的,因為\(w\in D\)。另外由於\(D\)是兩個閉集的交,因此\(D\)也是閉的。同時由於\(B\)是有界的,\(D\)也是有界的。考慮\(\parallel x-x^*\parallel\) \(x\in D\)是關於\(x\)的連續函數。
由於\(D\)是非空閉的有界集合,根據Weierstrass 定理可知存在\(y\in D\)使得
對於任意屬於\(S\)但不屬於\(D\)的元素\(x\),都有
因此,我們可知
這說明了\(S\)中存在 \(y\) 使得 \(y\) 離\(x^*\)最近。下面說明向量\(c=y-x^*\)就是滿足定理要求的(上圖中圖\((b)\))。
若\(x\in S\),對於任意\(\lambda\in (0,1]\),由於\(S\)是一個凸集,因此有\(y+\lambda(x-y)\in S\)。又由於\(y\)是離\(x^*\)最近的,因此
這表明
給上式兩邊同時除以\(\lambda\),然后取關於\(\lambda \to 0\)的極限,可得
(這個不等式說明了圖\((b)\)中的角\(\theta\)不能超過90度)。因此
令\(c=y-x^*\)。證畢。
再看 Farkas 引理
這里,我們使用分離超平面定理再重新審視 Farkas 引理。僅考慮證明較難的那部分,也就是若\(Ax=b,\,\)\(x\geq 0\)不存在解,則存在向量\(p\)使得\(p^TA\geq 0^T\)以及\(p^Tb<0\)成立。
令
並且假設\(b\notin S\)。顯然\(S\)是一個非空閉凸集(非空是有\(0\in S\),凸集是由於約束是線性的,閉集是因為\(S\)是多面體\(\{(x,y)\mid y=Ax,\, x\geq 0\}\)在\(y\)軸上的投影(參考線性規划中的幾何(五)))。
使用分離超平面定理分離\(S\)和\(b\),存在向量\(p\)使得\(p^Tb < p^Ty,\) \(\forall y\in S\)。由於\(0\in S\),因此\(p^Tb<0\)。另外,對於\(A\)的任意列\(A_i\)以及\(\lambda >0\),都有\(\lambda A_i\in S\)及
式子兩邊同時除以\(\lambda\),然后取關於\(\lambda\to\infty\)的極限,可得
(等於0是因為\(p^Tb<0\))。由於上式對於任意\(i\)都成立,因此有\(p^TA\geq 0^T\)。
再看對偶理論
這里我們描述通過 Farksa 引理得到對偶理論,僅證明原問題的約束是\(Ax\geq b\)的情形。
考慮如下的原問題(左)和對偶問題(右):
假設原問題存在最優解\(x^*\)。然后我們證明對偶問題也存在一個可行解使得對偶問題目標函數值與原問題的最優值相同,那么由上上節的推論可得到強對偶定理的結果。
記\(I=\{i\mid a_i^Tx^*=b_i\}\)為原問題約束有效的下標的集合。我們先證對於滿足\(a_i^Td\geq 0,\) \(i\in I\)的任意向量\(d\)都有\(c^Td\geq 0\)。考慮滿足\(a_i^Td\geq 0,\) \(i\in I\)的向量\(d\)以及極小值\(\epsilon\),有
另外對於\(i\notin I\)以及\(\epsilon\)足夠小,有\(a_i^T(x^*+\epsilon d) > b_i\)。因此\(x^*+\epsilon d\)是原問題的一個可行解。又由於\(x^*\)是最優解,那么\(c^Td\geq 0\)。由 Farkas 引理(參考Farkas幾何中的結論)可知\(c\)可以表示為向量\(a_i,\, i\in I\)的非負線性組合,也即存在非負的\(p_i,\,i\in I\)使得
而對於\(i\notin I\),我們定義\(p_i=0\)。那么有\(p\geq 0\),結合上式可知\(p^TA=c^T\)。另外
至此,證明完畢。
參考文獻: Introduction to Linear Optimization by Dimitris Bertsimas & John N. Tsitsiklis.