單形法是Danzig教授在二次大戰時發展出來,基本上是以LP問題的幾何特性,配合聯立方程組與高斯喬登消去法,可以求出LP的最佳解。
在求解 LP 時不必把全部的可行端點找出來,只要搜尋到下一個端點比目前的端點好,持續搜尋就保證可以找到整體最佳解,而不會只找到局部最佳解。
求解之前,先將其整理為正準型式,如下:
or
其中,為mxm之單位矩陣
可得之通解為
上式若設定非基變數(零向量) 可得基解為
如右側之,則該基解即為基本可行解。
對於"基"的理解,可以把它當作是線性代數中的基底,而基變數就是基所對應的變數。
將基變數與非基變數互相交換的過程,稱為Pivot step。
Pivot column Pivot row Pivot element
上述講了一堆,我們還是直接從範例來解釋求解過程。
(i) simplex method的基本要求之一就是,將目標函數表示成非基變數的函數,而變數之前的係數稱為reduced cost coefficients,以符號表式。以本例而言,,
(ii) simplex method的啟動需要一組基可行解,以本例而言,非基變數:, 相當於圖解法中的A點(在可行區域內),基變數:, , ,目標函數值:
(iii) 最佳解檢驗,如對應非基變數之,且對應基變數之,則最佳解以求得。
經由基本列運算設法將Pivot element由2變成1,同行元素(與)變為0,同列元素跟著改變。另外,將變成,因為已變成基變數。
上表令,得基解, ,
其中(, )對應到D點為最佳基本可行解
在進行單形法求解之前需確認,限制條件是否都滿足, 的型式。若不滿足(如 or ),則需用二階段單形法求解。