引入兩個人工變量x4,x5,各自追加到每個等式約束條件中。但是這樣強制插入原來的等式約束條件中后,雖然說有單位矩陣了,但是有可能破壞原來的等式約束條件;
也有可能不破壞(如果最后的x4,x5算出來的值都為0的話),如果有一個是正的大於零的,那么就破壞了原來的等式約束條件,也即原來的等式約束條件就不應該成立,或原來的
線性規划問題是沒有可行解的,是不可行的。。
這樣就引入了人工變量了,有一個單位矩陣了。但是也有可能破環原來的約束條件,所以要施加一個懲罰,在兩階段法中引入的懲罰是一個新的目標函數z1,其是新引入的人工變量的和,因為x4,x5是大於等於零的,所以二者之和的z1也是>=0的,也即是z1這個目標函數值的下屆是0;當然z1求最小值的話,也有可能取0;如果z1為0的話,那么x4,x5就被迫只能是0;那么二者的引入就沒有任何破壞作用。
引入目標函數的目的就是求把人工變量對等式約束條件的破壞作用,進行懲罰,采用新的目標函數的方式來進行懲罰的。這種方式和大M法似乎不同,其實是一樣的。
除了原有的目標函數為,新引進的目標函數為z1,這就構成了輔助線性規划問題LPe。
下面就利用找到的初始可行基,B=(P4,P5)=I2,來繼續進行。
此處要注意,寫典式的時候,新增的目標函數z1中的x4,x5要用非基變量代替表示;
轉軸時,原目標函數z所在的行也要參與。
由上圖可知,到此步為止,z1所在行的檢驗數一個時0,一個時-1,沒有>0的數值,所以表格就對應着以z1為目標函數的輔助性規划問題的最優解的,
把最優解寫出來后得到(0,2,7/4,0,0),兩個人工變量全等於0,也即全部懲罰為0了,這就實現了我們最初最好的設想。這就表明原來的約束條件可行的,且同時我們得到的基變量x2,x3對應的基,應該是經過一系列操作得到的原始的初始可行基。所以到此,第一個階段就完成了。第一個階段是以z1為目標函數來完成的,但是z這一行目標函數也同時參與了運算,到目前,人工變量已經都懲罰為0了,所以轉入第二個階段。因為x4,x5已經被懲罰為0了,所以把x4,x5所在的列,以及z1這個目標函數所在的行,從這個單純形表中去掉,因為他們的使命已經完成了。
進而得到了下圖所示的縮減了的,變量和目標函數為最原始的線性規划問題LP。此時只需要對下圖的表進行最優性的檢驗,再做進一步的工作。
而也正好趕上了,縮減后的表,此時的檢驗數正好是-1,我們也就可以直接據此寫出最優解和最優值了。
到此,第二個階段就結束了。這樣就利用兩階段法求出來了最開始的LP的最優解了。此處需注意,此題的第二個階段的
一開始就對應着最優解,所以第二個階段實際上沒有進行;如果在第二個階段的一開始仍然有正的檢驗數,也還是需要轉軸的。
另外,上圖中的最后一行寫錯了,應該是最優值是-3.
此題,因為引入的兩個人工變量x5=1,x6=0,也即原來LP的等式約束條件,是不應該成立的,矛盾的。從而線性規划問題是不可行的。
這就是人工變量沒有被完全懲罰為0,就出現了這種不可行的情況,這個時候還用在往下做嗎?不用了,第二個例子也就完成了。
第三個例子如下,要注意下面的這個並不是標准形;