目標函數最優值與向量\(b\)的關系
在這一部分,我們分析目標函數最優值與向量\(b\)的關系。
首先,令
為一個可行的集合。令
並且觀測
注意,\(S\)是一個凸集。對於任意\(b\in S\),定義
它是關於\(b\)的最優值函數。
在這一部分,我們假設對偶可行域\(\{p\mid p^TA\leq c^T\}\)是非空的。那么,由對偶理論可知對所有\(b\in S\),最優值\(F(b)\)是有限的。我們的目標是研究\(F(b)\)的結構。
首先固定\(b^*\in S\)。假設存在一個非退化的原始最優基本可行解,記\(B\)為相對應的最優基矩陣,那么基本變量\(x_B\)的值此時為\(x_B=B^{-1}b^*\),並且由非退化知\(x_B > 0\)。另外,判斷數向量也是非負的。如果此時改變\(b^*\)為\(b\),並且假設\(b-b^*\)足夠小,\(B^{-1}b\)維持為正值,那么原來的解對於新的問題仍然是一個基本可行解。而判斷數由於並不受\(b\)影響,因此仍然保持非負。綜上,\(B\)也是新問題的一個最優解,而新問題的最優值為
其中\(p^T=c^T_BB^{-1}\)是對偶問題的最優解。這說明\(F(b)\)是關於\(b\)的線性函數,並且梯度為\(p\)。下面敘述\(F(b)\)的一個全局性質。
定理: 最優值函數\(F(b)\)是關於\(b\in S\)的凸函數。
證:
令\(b^1\)和\(b^2\)為\(S\)中的兩個元素。對於\(i=1,2\),令\(x^i\)為問題
的最優解。因此,\(F(b^1)=c^Tx^1\), \(F(b^2)=c^Tx^2\)。對於\(\lambda \in [0,1]\),向量
非負,且滿足\(Ay=\lambda b^1+(1-\lambda )b^2\)。這說明當線性規划問題右側的向量為\(\lambda b^1+(1-\lambda )b^2\)時,\(y\)是一個可行解。因此,
證畢。
下面我們從對偶的角度重新觀測上面的定理。考慮對偶問題:
注意我們之前假設它是可行的。對於任意\(b\in S\),\(F(b)\)是有限的,並且根據強對偶定理可知它的值等於對偶問題的最優目標函數值。令\(p^1,p^2,\cdots,p^N\)為對偶可行域的極點。(由於\(A\)是行線性無關的,因此\(A\)的列的擴張為\(\mathbb{R}^m\),由線性規划中的幾何(四 )中的定理可知對偶問題至少存在一個極點)。由於對偶問題的最優解必然是落在一個極點上,因此
這說明,\(F\)等價於有限個線性函數的最大值。因此,它是一個分段線性凸函數。當\(F\)在線性部分時,存在唯一解,而當\(F\)在不可導的部分時(兩個線性相接的部分),說明解不是唯一的,更進一步說明原始問題的解是退化的(這是因為當原問題非退化時,由前面敘述的局部性質可知,此時它是線性的)。
下面考慮一種特殊情形,將\(b\)變為\(b=b^*+\theta d\),其中\(b^*\)和\(d\)固定。令\(f(\theta)=F(b^*+\theta d)\)為系數為\(\theta\)時的最優值。因此,
對偶最優解集
這一部分說明任意對偶最優解都可以看作是\(F\)的“廣義梯度”。
定義: 令\(F\)為定義在凸集\(S\)上的凸函數,存在\(b^*\in S\)。我們稱向量\(p\)是\(F\)在點\(b^*\)的次梯度 (subgradient) 是指滿足
\[F(b^*)+p^T(b-b^*)\leq F(b),\quad \forall b\in S. \]
注意,如果\(b^*\)在交接點,那么將存在多個次梯度。下圖分別給出兩種不同情況的次梯度。
定理: 假設問題
\[\min_{x}\{c^Tx\mid Ax=b^*,\,x\geq 0\} \]可行並且最優值有界。那么,向量\(p\)是對偶問題最優解當且僅當\(p\)是\(F\)在點\(b^*\)的次梯度。
證:
回憶定義在集合\(S\)上的函數\(F\)。假設\(p\)是對偶問題的最優解,那么由強對偶定理可知\(p^Tb^*=F(b^*)\)。考慮任意\(b\in S\),對於任意可行解\(x\in P(b)\),由弱對偶定理可得\(p^Tb\leq c^Tx\)。給這個不等式兩邊關於\(x\in P(b)\)取最小值,可得\(p^Tb\leq F(b)\)。因此
這說明\(p\)是\(F\)在\(b^*\)的次梯度。
下面證另一面,記\(p\)為\(F\)在\(b^*\)的次梯度,那么
選擇使得\(Ax=b\)及\(x\geq 0\)成立的\(x\in P(b)\)。已知\(F(b)\leq c^Tx\),因此
由於上式對任意的\(x\geq 0\)都成立,因此必然有\(p^TA\leq c^T\)(因為如果不滿足的話,我們總可以通過擴大x的值使得上述不等式不成立),這說明\(p\)是對偶問題的一個可行解。另外,令\(x=0\),可得\(F(b^*)\leq p^Tb^*\)。由弱對偶可知,對於任意可行解\(q\)都有\(q^Tb^*\leq F(b^*)\leq p^Tb^*\),這說明\(p\)是對偶問題最優解。證畢。
目標函數最優值與向量\(c\)的關系
假設原問題的可行域非空。定義對偶可行域
並且令
若\(c^1\in T\)並且\(c^2\in T\),那么存在\(p^1\)和\(p^2\)使得\((p^1)^TA\leq (c^1)^T\)及\((p^2)^TA\leq (c^2)^T\)。對於\(\lambda \in [0,1]\),我們有
這說明\(\lambda (c^1)^T+(1-\lambda) (c^2)^T\in T\),與此同時也說明\(T\)是一個凸集。
若\(c\notin T\),對偶問題可行域為空說明原問題的最優值為\(-\infty\)(因為我們假設原問題可行域非空)。若\(c\in T\),那么最優值一定有界。因此,原問題的最優解\(G(c)\)有界當且僅當\(c\in T\)。
記\(x^1,x^2,\cdots,x^N\)是原問題可行域的基本可行解,顯然它與\(c\)無關。由於標准型問題的最優解總是出現在極點,因此
這說明\(G(c)\)是有限個線性方程的最小值,因此它是一個分段線性凹函數。如果對於\(c^*\in T\),原問題有唯一的最優解\(x^i\),那么\((c^*)^Tx^i < (c^*)^Tx^j\)對任意\(j\not= i\)都成立。假設\(c\)非常接近\(c^*\), 不等式\(c^Tx^i < c^Tx^j\)對於\(j\not= i\)仍然成立。這說明\(x^i\)仍然是原問題的唯一最優解且最優值為\(c^Tx^i\)。因此,局部的有\(G(c)=c^Tx^i\)。另外,\(G\)在交叉點時對應多個原問題。
下面的定理總結上面提到的結論。
定理: 考慮可行域非空的標准型的線性規划問題。
- 集合\(T\)是凸集,且\(T\)中\(c\)對應的最優值有界。
- 最優值函數\(G(c)\)是關於\(c\in T\)的凹函數。
- 如果與\(c\)有關的原問題存在唯一最優解\(x^*\),那么\(G\)在\(c\)的鄰域內是線性的且梯度等於\(x^*\)。
參數規划
固定\(A,B,C\)以及一個與\(c\)維度相同的向量\(d\)。對於任意實數\(\theta\),考慮問題
記\(g(\theta)\)為這個問題的最優值,並且假設可行域非空。對於最優值有界的\(\theta\),有
其中\(x^1,\cdots,x^N\)是可行域的極點,如下圖所示,\(g(\theta)\)是關於\(\theta\)的一個分段線性凹函數。為了更進一步觀察\(g(\theta)\),我們先觀察一個例子。
例: 考慮問題
然后引入松弛變量,是的上述問題轉化為標准型問題,接着令松弛變量為基本變量。這樣的方式確定了一個基本可行解,然后有如下的單純形表
若\(-3+2\theta\geq 0\)且\(2-\theta\geq 0\),那么所有的判斷數都非負,說明此時得到了最優基本可行解。也即,
若\(\theta\)增加到高於3,那么\(x_2\)的判斷數此時為負值。此時令\(x_2\)進入基矩陣,\(x_4\)出基矩陣,得到如下的單純形表
如果\(3\leq \theta\leq 5.5/1.5\),那么表中的判斷數都是非負,此時有
如果\(\theta\)增加的超過\(5.5/1.5\),那么\(x_3\)的判斷數變為負值。如果我們想要\(x_3\)進基,但是不存在正的pivot元素,因此此時原問題無界且\(g(\theta)=-\infty\)。
現在我們回到第一個表再考慮另一面,如果\(\theta\)增加的小於\(3/2\),那么\(x_1\)的判斷數就變為負值,此時使得\(x_1\)進基,\(x_5\)出基,得到
如果\(5/4\leq \theta\leq 3/2\),那么得到最優解,且
而對於\(\theta < 5/4\),\(x_3\)的判斷數變為負值,但是所對應的列不存在正的pivot元素,因此這時的最優值為\(-\infty\)。
我們將上述的結果匯總繪制得到如下的圖:
接下來,我們總結上面例子的一般步驟。假設現在我們有一個基本可行解以及它所對應的基矩陣\(B\),並且假設這個基矩陣對於滿足\(\theta_1\leq \theta\leq\theta_2\)的\(\theta\)是最優的。令\(x_j\)為當\(\theta >\theta_2\)時,它的判斷數為負值。又因為當\(\theta_1\leq \theta\leq\theta_2\)時,\(x_j\)的判斷數為正值,因此當\(\theta =\theta_2\)時,\(x_j\)的判斷數為0。然后此時考慮令\(x_j\)進基。
若列\(B^{-1}A_j\)不存在正的pivot元素,那么對於\(\theta > \theta_2\),\(x_j\)的判斷數為負值,因此此時的最優值為\(-\infty\)。
若列\(B^{-1}A_j\)至少存在一個正元素,那么我們可以進行基變換得到新的基矩陣\(\overline B\)。當\(\theta = \theta_2\)時,進基變量的判斷數為0,則新的基矩陣對應的目標函數值不變。並且,對於舊基矩陣,目標函數值是最優值,那么對於新的基矩陣,這個值仍然為最優值。對於\(\theta < \theta_2\),由於進基變量的判斷數為正值,因此新的基矩陣對應的目標函數值不會小於原基矩陣對應的最優值(注:判斷數為負值時是使得目標函數值下降的方向)。這說明新的基矩陣在\(\theta < \theta_2\)時不可能是最優基矩陣。那么,上述的敘述表明新的基矩陣為最優基矩陣是在\(\theta\)滿足\(\theta_2 \leq \theta \leq \theta_3\)時成立的。重復上述的操作,我們可以得到一組基矩陣以及相對應的滿足最優性的\(\theta\)的范圍。
注意,當一個基矩陣在滿足\(\theta \in [\theta_i,\theta_{i+1}]\)時是最優的,那么對於\(\theta \geq \theta_{i+1}\),這個基矩陣將不可能是最優的(存在判斷數為負值,說明存在了下降方向)。因此,若\(\theta_{i+1} > \theta_{i}\)對於所有\(i\)都成立,那么同一個基矩陣不會出現兩次,並且\(\theta\)的所有范圍也將會在有限次迭代后得到。注意,每一次迭代都會得到一個新的交界點。
如果存在\(\theta_i = \theta_{i+1}\),說明上面提到的操作可能會出現循環(注:這種情形僅會在原問題退化時出現),但是可以使用一些反循環的技巧避免循環的出現。
敏感性分析總結
- 若加入新變量,檢查判斷數是否為負值,若是,原單純形表中加入新的列繼續使用單純形法。
- 若加入新約束,檢查約束是否還滿足,若不滿足,構造輔助問題繼續求解。
- 若\(b\)或\(c\)改變了\(\delta\),得到原基矩陣維持最優性的\(\delta\)的范圍。
- 若\(A\)中元素變化\(\delta\),分析與上述類似。不過,如果變化的是基本列中的元素,分析過程稍有復雜。
- 假設對偶問題可行域非空,最優值是關於\(b\)的分段線性凸函數(前提\(b\)使得原問題存在可行解)。另外,最優值的次梯度與對偶問題的最優解有關。
- 假設原問題可行域非空,最優值是關於向量\(c\)的分段線性凹函數(前提\(c\)使得原問題有界)。
- 如果目標函數中系數是參數\(\theta\)的仿射函數,那么可通過一系列操作得到所有\(\theta\)的最優值。
參考文獻: Introduction to Linear Optimization by Dimitris Bertsimas & John N. Tsitsiklis.