影片有步驟,一步一步代數字很清楚,
原本的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變小),所以得到了最佳解(最大值)
影片如下↓
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變小),所以得到了最佳解(最大值)
影片如下↓