2014年3月5日 星期三

[Linear Programming] The Simplex Method in tableau / /線性規劃的Tableau方法之教學 (youtube)


影片有步驟,一步一步代數字很清楚,

原本的object funciton   MAX z =  x1 + 2 x2

subject to
x1 <= 2  ... (L1)
x2 <= 2  ... (L2)
x1+x2 <= 3  ... (L3)

加入slack variable以後變成
x1+       x3               = 2
      x2 +     + x4       = 2
x1+x2                +x5 = 3


然後先找一個initial的解(不一定最佳)

( basis = {x3,x4,x5} ,  non-basis = {x1,x2} )
x1 = x2 = 0,   x3 = 2, x4 = 2, x5 = 3 明顯式子會滿足限制式L1~L3

然後找一個能讓z增加的column, 影片中是先選x2, 作為working column

於是乎三條限制式都限制x2, 它找其中那個ratio最大的那一步, 就是在找哪一條式子限制x2最多

因此2:49那邊L2限制x2最多, 因此把代表該行的x4踢掉, x2近來( x2長大變成x2=2, x2進入basis),

此時basis = {x3, x2, x5}     non-basis={x1, x4}

接著把其它L1,L3的兩行內的x2消掉(為的讓L1,與L3都跟x2無關, 使x2固定在2)



照類似的步驟 5:08, L3對x1最嚴格, 因此把L3代表的x5踢離basis,

basis = {x1, x2, x3},   non-basis={x4,x5}

之後發現L4的係數皆負,

0 0 0 -1 -1

如此無法藉由增加non-basis而讓z變好(增加x4,x5的話, 乘上-號會使z變小),所以得到了最佳解(最大值)



影片如下↓