兩階段法
兩階段法
兩階段法(two-phase method)是尋找線性規劃問題初始基可行解的一種方法,把增加人工變數的線性規劃問題分為兩個階段去求解。
第一階段主要是為了得到原問題的一個基本可行解,第二階段是在第一階段得到的基本可行解的基礎上求解原線性規劃問題。
大M法與兩階段法都是在原問題缺少初始可行基的情況下利用引人人工變數構造人工基,以達到運用單純形法求解原問題的目的。用大M法處理人工變數,手工計算求解時不會碰到麻煩。但用電子計算機求解時,對M就只能在計算機內輸出一個機器最大字長的數字。如果線性規劃問題中的a、b或c等參數值與這個代表M的數比較接近,或遠遠小於這個數字,由計算機計算時有可能使計算結果發生錯誤,從而使求解的最終結果與原問題真正的最優解不一致。為了克服這個困難,可以對添加人工變數后的線性規劃問題分為兩個階段來計算,而避免M的使用,這個方法稱為兩階段法。
兩階段法的方法步驟具體闡述如下,線性規劃LP問題的標準化后的矩陣形式為:
兩階段法
兩階段法
在約束條件中加入人工變數 y=(y,y,···,y) 變為,人工變數設為x也可。
第一階段的就是求解這個目標函數是只包含人工變數的輔助問題。首先構造一個輔助的人工目標函數:令目標函數中其他變數的係數取零,人工變數的係數取某個正的常數(一般取1),在保持原問題約束不變的條件下求這個目標函數極小化的解:
兩階段法
兩階段法
兩階段法
也即
兩階段法
兩階段法
(2)如果第一階段求解結果z=0,如果輔助問題的最優基變數中沒有人工變數,進入第二階段。
(3)如果第一階段求解結果z=0,如果輔助問題的最優基變數中仍有為0的人工變數,這表明原問題有退化的情況,在輔助問題的最優的單純形表中有:
兩階段法
兩階段法
其中 為非基變數下標集,這時又分兩種情況:
(i)若a全為0,則人工變數所在行中有原變數(現在是非基變數)下的元素都是0,這表明原問題的約束方程中有多餘的,將其去掉,轉入第二階段。
(ii)若a不全為0,則以a為主元,進行換基迭代,最後轉入轉入第二階段。
當第一階段求解結果表明問題有可行解時,第二階段是在原問題中去除人工變數,並由第一階段得到的最優解出發,繼續尋找原問題的最優解。即在第一階段的最優單純形表中去掉人工變數所在的行列,將價值係數改換成原問題的價值係數,進一步迭代,求解原問題的最優解或者無窮多最優解。
鑒於兩階段法求解相對抽象複雜,這裡我們用一個實例演示其求解過程。為了方便讀者進行兩階段法和大M法對比,這裡我們採用和大M法相同的算例進行演示。
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
兩階段法
這裡我們加入了兩個鬆弛變數 和 ,但是此時仍然沒有一個m*m的線性無關矩陣作為初始基底(此時m=3),於是我們看到 代表的列可以作為基底,於是我們再加入兩個變數 和,從而能夠構成一個基陣。這兩個變數 和 即為 人工變數。
變換后的形式如下:
兩階段法
構造輔助函數
兩階段法
C | 1 | 1 | 兩階段法 | |||||||
C | x | b | P | P | P | P | P | P | P | |
x | 4 | 1 | 1 | 1 | 1 | 4 | ||||
1 | x | 1 | -2 | [1] | -1 | -1 | 1 | 1 | ||
1 | x | 9 | 3 | 1 | 1 | 3 | ||||
c-z | 10 | 2 | [-4] | 1 |
2入基,6出基。
C | 1 | 1 | 兩階段法 | |||||||
C | x | b | P | P | P | P | P | P | P | |
x | 3 | 3 | 2 | 1 | 1 | -1 | 1 | |||
x | 1 | -2 | 1 | -1 | -1 | 1 | - | |||
1 | x | 6 | [6] | 4 | 3 | -3 | 1 | 1 | ||
c-z | 6 | [-6] | -4 | -3 | 4 |
1入基,7出基 (此時其實4出基也可以,但是我們為了儘快把人工變數出基,這裡選擇7出基)
C | 1 | 1 | 兩階段法 | |||||||
C | x | b | P | P | P | P | P | P | P | |
x | 1 | -1/2 | -1/2 | -1/2 | ||||||
x | 3 | 1 | 1/3 | 1/3 | - | |||||
x | 1 | 1 | 2/3 | 1/2 | -1/2 | 1/6 | ||||
c-z | 1 | 1 |
人工變數全被出基,Z=0,表示優化問題有解,進入第二階段。
在第一階段的最終表中,去掉人工變數,將目標函數的係數換成原問題的目標函數係數,作為第二階段計算初始表,用單純形法繼續計算。
兩階段法
C | -3 | 1 | 兩階段法 | ||||||
C | x | b | P | P | P | P | P | ||
x | 1 | -1/2 | - | ||||||
x | 3 | 1 | 1/3 | - | |||||
-3 | x | 1 | 1 | [2/3] | 1/2 | 3/2 | |||
c-z | -3 | [3] | 3/2 |
3入基,1出基
C | -3 | 1 | 兩階段法 | ||||||
C | x | b | P | P | P | P | P | ||
x | 1 | -1/2 | |||||||
x | 5/2 | -1/2 | 1 | 1/4 | |||||
1 | x | 3/2 | 3/2 | 1 | 3/4 | ||||
c-z | 3/2 | -9/2 | -3/4 |
兩階段法
兩階段法
兩階段法
兩階段法
此時檢驗數已經沒有正數,此時 , , , , ,
z=3/2。得解。
讀者可以對上述的單純形表和大M法對比,可以發現,大部分的取值是相同的。
在大規模線性規劃問題的求解中,通常採用兩階段法運算。