運籌優化(四)--線性規劃之對偶問題和靈敏度分析

Eason.wxd發表於2019-01-12

線性規劃的靈敏度分析,是指模型引數的變化,對優化結果的影響分析,分定性和定量兩種。

定性分析

這裡的定性分析,指引數變化,對結果的影響,比如不變,變壞或者變差。

鬆約束和緊約束

放寬優化模型中的約束條件會使模型最優值不變或者更優。收緊優化模型中的約束條件會使模型最優值不變或者更差。依據是因為修改了約束條件意味著修改了可行域,也會有新的可行解或者減少可行解。因此,體現在右端係數RHS變化,左端係數LHS變化,以及約束條件、變數的增刪上。

定量分析

定量分析,就是利用對偶模型來分析原始模型的靈敏度的量化方案。即:

如果一個模型具有可以定量表示原始模型對係數變化的靈敏度的決策變數與約束條件,那麼它就是原始模型的對偶模型。

也就是說,原始問題的約束條件,是對偶問題的決策變數,對偶問題的約束條件對應原始問題的決策變數。

雖然對偶模型是以靈敏度分析的目的提出,但實際上,它帶來了更多有趣的資訊。

對偶模型

1.原問題與對偶問題的關係

對於“≤”不等式約束條件的原問題與“≥”不等式約束條件的對偶問題的展開形式是

原問題

對偶問題

線性規劃的原問題與對偶問題的關係 , 其變換形式歸納為表 2 -4 中所示的對應關係。

 2.對偶問題的基本性質

(1) 對稱性 對偶問題的對偶是原問題。

(2) 弱對偶性

m i n ( - ω′) = - C X ; - A X ≥ - b ; X ≥ 0 m i n ( - ω′) = m a x ω′

m a x ω′= m a x z = C X ; A X ≤ b ; X ≥ 0
若 X 是原問題的可行解, Y 是對偶問題的可行解。則存在 CX≤Yb。

(3) 無界性 若原問題(對偶問題)為無界解,則其對偶問題(原問題)無可行解。

( 4) 可行解是最優解時的性質 設 X^是原問題的可行解 , Y^是對偶問題的可行解 , 當CX^=Y^b時 ,X^,Y^是最優解 。 

(5) 對偶定理 若原問題有最優解,那麼對偶問題也有最優解;且目標函式值相等。

(6) 互補鬆弛性 若 X^, Y^分別是原問題和對偶問題的可行解。那麼Y^Xs = 0和Ys X^=0,當且僅當 X^,Y^為最優解。

(7) 設原問題是maxz=CX; AX+XS =b; X,XS≥0,它的對偶問題是minw = Yb;YA-Ys = C;Y,Ys>= 0則原問題單純形表的檢驗數行對應其對偶問題的一個基解 , 其對應關係見表 2 -5。

這裡Ys1是對應原問題中基變數XB的剩餘變數, Ys2是對應原問題中非基變數XN的剩餘變數。 

3.對偶問題的經濟解釋--影子價格

我們從上面的對偶問題與原始問題的關係可以看出,對偶問題定量表示了原始模型對係數變化的靈敏度,也就是說,對偶問題的最優解,反應了資源變化對原始目標函式值的影響,這在經濟學上定義為影子價格。影子價格隨具體情況而異 , 在完全市場經濟的條件下 , 當某種資源的市場價低於影子價格時 , 企業應買進該資源用於擴大生產;而當某種資源的市場價高於企業影子價格時, 則企業的決策者應把已有資源賣掉。可見影子價格對市場有調節作用。

4.對偶單純形法

根據對偶問題的對稱性,可以這樣考慮: 若保持對偶問題的解是基可行解, 而原問題在非可行解的基礎上 , 通過逐步迭代達到基可行 解 , 這樣也得到了最優解。其優點是原問題的初始解不一定是基可行解 , 可從非基可行解開始迭代 , 方法如下。

設原問題:

又設B是一個基。不失一般性,令B=(P1 ,P2 ,⋯,Pm),它對應的變數為XB =(x1 ,x2 ,⋯,xm)

當非基變數都為零時, 可以得到XB=B-1 b。若在 B-1 b中至少有一個負分量, 設 ( B-1 b)i < 0, 並且在單純形表的檢驗數行中的檢驗數都為非正, 即對偶問題保持可行解,它的各分量是
(1)對應基變數x1,x2,⋯,xm 的檢驗數是σi=ci-zi=ci-CBB-1Pj=0, i=1,2,⋯,m

(2)對應非基變數xm+1,⋯,xn 的檢驗數是σj =cj -zj =cj -CBB-1 Pj≤0, j=m+1,⋯,n 每次迭代是將基變數中的負分量 xl 取出 , 去替換非基變數中的 xk , 經基變換 , 所有檢驗數仍保持非正。從原問題來看, 經過每次迭代 , 原問題由非可行解往可行解靠近。當原問題得到可行解時, 便得到了最優解。

對偶單純形法有以下優點 :

(1) 初始解可以是非可行解,當檢驗數都為負數時, 就可以進行基的變換, 這時不需要加入人工變數 , 因此可以簡化計算。

(2) 當變數多於約束條件,對這樣的線性規劃問題,用對偶單純形法計算可以減少計算工作量 , 因此對變數較少 , 而約束條件很多的線性規劃問題 , 可先將它變換成對偶問題 , 然後用對偶單純形法求解。

(3) 在靈敏度分析及求解整數規劃的割平面法中,有時需要用對偶單純形法,這樣可使問題的處理簡化。對偶單純形法的侷限性主要是 , 對大多數線性規劃問題 , 很難找到一 個初始可行基 , 因而這種方法在求解線性規劃問題時很少單獨應用。

LP的靈敏度分析

在以前討論線性規劃問題時,假定αi j , bi , cj 都是常數。但實際上這些係數往往是估計值和預測值。如市場條件一變, cj 值就會變化;αi j 往往是因工藝條件的改變而改變; bi 是根據資源投入後的經濟效果決定的一種決策選擇。 因此提出這樣兩個問題: 當這些 係數有一個或幾個發生變化時 , 已求得的線性規劃問題的最優解會有什麼變化; 或者這些係數在什麼範圍內變化時,線性規劃問題的最優解或最優基不變。

顯然 , 當線性規劃問題中某一個或幾個係數發生變化後, 原來已得結果一般會發生變化。當然可以用單純形法從頭計算 , 以便得到新的最優解。這樣做很麻煩 , 而且也沒有必 要。因在單純形法迭代時,每次運算都和基變數的係數矩陣B有關, 因此可以把發生變 化的個別係數,經過一定計算後直接填入最終計算表中, 並進行檢查和分析。

靈敏度分析時, 主要討論在最優基不變情況下, 確定係數 ai j , bi , cj 的變化範圍。而引數線性規劃是研究這些引數中某一引數連續 變化時 , 使最優解發生變化的各臨界點的 值。即把某一引數作為參變數 , 而目標函式在某區間內是這個參變數的線性函式 , 含這個參變數的約束條件是線性等式或不等式。因此仍可用單純形法和對偶單純形法分析引數線性規劃問題。其步驟是 :

(1) 對含有某參變數 t 的引數線性規劃問題。先令 t= 0,用單純形法求出最優解; (2) 用靈敏度分析法,將參變數 t直接反映到最終表中;
(3 ) 當參變數 t 連續變大或變小時 , 觀察 b 列和檢驗數行各數字的變化。若在 b 列首先出現某負值時 , 則以它對應的變數為換出變數 ; 於是用對偶單純形法迭代一步。若在檢 驗數行首先出現某正值時 , 則將它對應的變數為換入變數 ; 用單純形法迭代一步 ;

(4) 在經迭代一步後得到的新表上,令參變數 t 繼續變大或變小,重複步驟(3),直到 b 列不能再出現負值 , 檢驗數行不能再出現正值為止。

其實,關於靈敏度分析,理解即可,一般LP問題的商用軟體,都有提供分析工具。

相關文章