>>% Question 1: >> A A = -1 -1 -1 1 -1 2 >> b b = -3 -1 2 >> p p = 1 3 >> T = totbl(-A,-b,-p,-4); x1 x2 1 --------------------------------- x3 = | 1.0000 1.0000 -3.0000 x4 = | 1.0000 -1.0000 -1.0000 x5 = | 1.0000 -2.0000 2.0000 --------------------------------- z = | -1.0000 -3.0000 -4.0000 >> T = addcol(T,[1 1 0 0]','x0',3); >> T = addrow(T,[0 0 1 0],'z0',5); x1 x2 x0 1 -------------------------------------------- x3 = | 1.0000 1.0000 1.0000 -3.0000 x4 = | 1.0000 -1.0000 1.0000 -1.0000 x5 = | 1.0000 -2.0000 0.0000 2.0000 -------------------------------------------- z = | -1.0000 -3.0000 0.0000 -4.0000 z0 = | 0.0000 0.0000 1.0000 0.0000 >> T = ljx(T,1,3); x1 x2 x3 1 -------------------------------------------- x0 = | -1.0000 -1.0000 1.0000 3.0000 x4 = | 0.0000 -2.0000 1.0000 2.0000 x5 = | 1.0000 -2.0000 0.0000 2.0000 -------------------------------------------- z = | -1.0000 -3.0000 0.0000 -4.0000 z0 = | -1.0000 -1.0000 1.0000 3.0000 >> T = ljx(T,1,1); x0 x2 x3 1 -------------------------------------------- x1 = | -1.0000 -1.0000 1.0000 3.0000 x4 = | -0.0000 -2.0000 1.0000 2.0000 x5 = | -1.0000 -3.0000 1.0000 5.0000 -------------------------------------------- z = | 1.0000 -2.0000 -1.0000 -7.0000 z0 = | 1.0000 0.0000 0.0000 0.0000 >> T = delrow(T,'z0'); >> T = delcol(T,'x0'); x2 x3 1 --------------------------------- x1 = | -1.0000 1.0000 3.0000 x4 = | -2.0000 1.0000 2.0000 x5 = | -3.0000 1.0000 5.0000 --------------------------------- z = | -2.0000 -1.0000 -7.0000 >> % problem is unbounded (increase x3 indefinitely) >> >> >> % Question 2 >> A A = 1 2 -1 1 4 3 4 -2 -1 -1 2 1 >> b b = 0 3 1 >> p p = 1 -2 -4 -2 >> A(2,:) = -A(2,:); b(2) = -b(2); >> T = totbl(A,b,-p); x1 x2 x3 x4 1 ------------------------------------------------------- x5 = | 1.0000 2.0000 -1.0000 1.0000 -0.0000 x6 = | -4.0000 -3.0000 -4.0000 2.0000 3.0000 x7 = | -1.0000 -1.0000 2.0000 1.0000 -1.0000 ------------------------------------------------------- z = | -1.0000 2.0000 4.0000 2.0000 0.0000 >> % move x7 to top (equality cons), x1 to left (free var) >> T = ljx(T,3,1); >> T = delcol(T,'x7'); >> T = permrows(T,[1 2 4 3]); x2 x3 x4 1 -------------------------------------------- x5 = | 1.0000 1.0000 2.0000 -1.0000 x6 = | 1.0000 -12.0000 -2.0000 7.0000 -------------------------------------------- z = | 3.0000 2.0000 1.0000 1.0000 x1 = | -1.0000 2.0000 1.0000 -1.0000 >> % dual simplex pivot >> T = ljx(T,1,3); x2 x3 x5 1 -------------------------------------------- x4 = | -0.5000 -0.5000 0.5000 0.5000 x6 = | 2.0000 -11.0000 -1.0000 6.0000 -------------------------------------------- z = | 2.5000 1.5000 0.5000 1.5000 x1 = | -1.5000 1.5000 0.5000 -0.5000 >> % solution is x1 = -0.5, x2 = 0, x3 =0, x4 = 0.5, z = -1.5 >> >> % Qeustion 3 >> % dual is min 3u2 + u3 >> % subject to u1 + 4u2 - u3 = 1 >> % 2u1 + 3u2 - u3 >= -2 >> % -u1 + 4u2 + 2u3 >= -4 >> % u1 -2u2 + u3 >= -2 >> % u1 <= 0, u2 >= 0 >> % Dual solution is: u1 = -0.5, u2 =0, u3 = -1.5, w = -1.5 >> % check by KKT conds >> >> % Question 4 >> A = [1 2 3 4; 1 0 1 0; 1 -1 0 -1]; >> b = [1 2 3]'; >> T = totbl(A,b); x1 x2 x3 x4 1 ------------------------------------------------------- y1 = | 1.0000 2.0000 3.0000 4.0000 -1.0000 y2 = | 1.0000 0.0000 1.0000 0.0000 -2.0000 y3 = | 1.0000 -1.0000 0.0000 -1.0000 -3.0000 >> T = ljx(T,1,1); y1 x2 x3 x4 1 ------------------------------------------------------- x1 = | 1.0000 -2.0000 -3.0000 -4.0000 1.0000 y2 = | 1.0000 -2.0000 -2.0000 -4.0000 -1.0000 y3 = | 1.0000 -3.0000 -3.0000 -5.0000 -2.0000 >> T = ljx(T,2,2); y1 y2 x3 x4 1 ------------------------------------------------------- x1 = | 0.0000 1.0000 -1.0000 0.0000 2.0000 x2 = | 0.5000 -0.5000 -1.0000 -2.0000 -0.5000 y3 = | -0.5000 1.5000 0.0000 1.0000 -0.5000 >> T = ljx(T,3,4); y1 y2 x3 y3 1 ------------------------------------------------------- x1 = | 0.0000 1.0000 -1.0000 0.0000 2.0000 x2 = | -0.5000 2.5000 -1.0000 -2.0000 -1.5000 x4 = | 0.5000 -1.5000 -0.0000 1.0000 0.5000 >> >> % all solutions are: x1 = 2 - u, x2 = -1.5 - u, x3 = u, x4 = 0.5 >> % u arbitrary >> >> % when x3 >= 0, just add constraint that u >= 0 >> diary off