advertisement

The Dual Simplex Method Normally, through the simplex method optimality is obtained when dual feasibility (i.e. a nonnegative row 0) is attained while, for each constraint, RHS is non-negative. In some cases, however, it is easier to solve an LP by beginning with a tableau in which each variable in row 0 has non-negative coefficient (dual feasible) and at least one constraint has a negative RHS (primal infeasible). The dual simplex method maintains a non-negative row 0 (dual feasibility) and eventually obtains a tableau in which each RHS is non-negative (primal feasible). Because this technique maintains dual feasibility, it is called dual simplex method. The Dual Simplex Method for a Max Problem Step 1: Is the RHS of each constraint non-negative? If so, we have optimal solution since we also have dual feasibility, i.e. non-negative row 0. If not, (at least one RHS is negative), go to step 2. Step 2: Choose the most negative basic variable as the variable to leave the basis. To select the variable that enters the basis, we compute the following ratio for each variable Xj that has a negative coefficient in the pivot row: Coefficient of Xj in row 0 / coefficient of Xj in pivot row Choose the variable with the smallest ratio (absolute value) as the entering variable (this maintains dual feasibility). Now, use ERO’s to make the entering variable a basic variable in the pivot row. Step 3: If there is any constraint in which RHS is negativeand each variable has a nonnegative coefficient, then LP has no feasible solution. If no constraint indicating infeasibility is found, return to step 1. Uses of Dual Simplex Method 1. Finding the new optimal solution after a constraint is added to an LP 2. “ “ “ “ “ “ changing the RHS of an LP 3. Solving a normal minimization problem. New Optimal Solution after a Constraint ia added to an LP We may, as a result, have one of the following: (i) (ii) The current optimal solution satisfies the new constraint. “ “ “ “ does not satisfy the new constraint, but LP still has a feasible solution (iii) The additional constraint causes the LP to have no feasible solution (i) Suppose we add X1 + X2 + X3 ≤ 11 to Dakota problem. The current optimal solution Z = 280, X1 = 2, X2 = 0, and X3 = 8 satisfies the constraint. This is still optimal because adding a constraint either reduces the optimal value or leave it unchanged. (ii) Supposing in Dakota problem we add constraint X2 ≥ 1 (at least one table). Because in current optimal solution X2 = 0, it is no longerfeasible. To find new optimal solution we include X2 – e4 = 1 or -X2 + e4 = -1 1 And we use e4 as basic variable for this constraint. Now, the Dakota tableau becomes: Z+ X1 + 5.X2 -2.X2+ -2.X2 + X3 5.X2/4 -X2 s1+ + 10.s2+ 2.s2 2.s2 -s2/2 + 10.s3 -8.s3 -4.s3 3.s3/2 + e4 = 280 = 24 =8 =2 = -1 We may now use dual simplex method (dual feasibility in row 0). The variable e4 = -1 is the most negative basic variable, so e4 will exit basis and row 4 will be the pivot row, with X2 entering basis. Carrying out the ERO’s to eliminate X2 from other rows, the tableau becomes: Z+ X3 + X1 + 10.s2+ s1 + 2.s2 2.s2 -s2/2 X2 10.s3 + + 5.e4 = 275 -8.s3 - 2.e4 = 26 -4.s3 - 2.e4 = 10 3.s3/4 + 5.e4/4 = 3/4 - e4 =1 This is now optimal. (iii) If we add constraint X1 + X2 ≥ 12 to Dakota problem, we do not have a feasible solution. See text, p.331 for explanation. Finding the New Optimal Solution after Changing a RHS If the RHS of a constraint is changed and the current basis becomes infeasible, the dual simplex can be used to find the new optimal solution. Suppose we have 30 finishing hours instead of 20 in the Dakota problem. Using the techniques shown in the sensitivity analysis, we arrive at the tableau shown below (for 30 finishing hours): Z + 5X2 + 10s2 + 10s3 = 380 - 2X2 + s1 + 2s2 - 8s3 = 44 - 2X2 + X3 + 2s2 - 4s3 = 28 X1 + 1.25X2 - 0.5s2 + 1.5s3 = -3 Using dual simplex method: X1 is the most negative, so X1 must leave basis, and row 3 will be the pivot row. Because s2 is the only variable with –ve coefficient, s2 will enter the basis. After ERO’s, we get, Z + 20X1 + 30X2 4X1 + 3X2 + s1 4X1 + 3X2 + X3 + - 2X1 - 2.5X2 + s2 This is now an optimum tableau. 2 + 40s3 - 8s3 2s3 - 3s3 = 320 = 32 = 16 =6 Solving a Normal Minimization Problem Consider the problem: Min Z = X1 + 2X2 s.t. X1 – 2X2 + X3 ≥ 4 2X1 + X2 – X3 ≥ 6 X1, X2, X3 ≥ 0. Multiply Z by (-1) to convert to a maximization problem with Z’ = - X1 – 2X2. After subtracting excess variables e1 and e2 we obtain: Z’ + X1 + 2X2 =0 X1 - 2X2 + X3 - e1 =4 2X1 + X2 - X3 - e2 =6 Each variable has a non-negative coefficient in row 0, so dual simplex method can be applied. Multiply each constraint by (-1), we can use e1 and e2 as basic variables. Z’ + X1 + 2X2 =0 - X1 + 2X2 - X3 + e1 =-4 - 2X1 - X2 + X3 + e2 = - 6 This is not an optimal tableau. We choose the most –ve variable, which is e2 to exit with row 2 as the pivot row. For entering variable, X1 ratio = 1/(-2) = -1/2 X2 ratio = 2/(-1) = -2 Smaller ratio (absolute) is for X1; we use ERO’s to enter X1 into row 2. We get, Z’ + + 3X2/2 + X3/2 e2/2 =-3 + 5X2/2 - 3X3/2 + e1 -e2/2 =-1 X1 + X2/2 - X3/2 - e2/2 = 3 Not optimal. Because e1 = -1, most negative, e1 will exit from the basis and, X3 ratio = (1/2)/(-3/2) = -1/3 e2 ratio = (1/2)/(-1/2) = -1 Smaller ratio for X3 which will enter into row 1. After pivoting X3, we get Z’ + X1 + 7X2/3 + - 5X2/3 + X3 - X2/3 e1/3 + - 2e1/3 e2/3 +e2/3 - e1/3 = 2/3 - e2/3 This is now optimal with Z’ = - 10/3 or Z = 10/3 and X3 = 2/3, X1 = 10/3 3 = - 10/3 = 10/3