Upload
abby-dalag
View
224
Download
0
Embed Size (px)
Citation preview
8/10/2019 Integer Programming OR
1/3
1
The Dual Simplex Method
Normally, through the simplex method optimality is obtained when dual feasibility (i.e. a non-
negative 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 negativeRHS (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 Xjthat hasa negative coefficient in the pivot row:
Coefficient of Xjin 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 EROs 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 non-
negative 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) The current optimal solution satisfies the new constraint.
(ii) 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
X2e4= 1 or -X2+ e4= -1
8/10/2019 Integer Programming OR
2/3
2
And we use e4 as basic variable for this constraint. Now, the Dakota tableau becomes:
Z + 5.X2 10.s2+ 10.s3 = 280
-2.X2+ s1+ 2.s2 -8.s3 = 24
-2.X2+ X3 + 2.s2 -4.s3 = 8
X1+ 5.X2/4 -s2/2 + 3.s3/2 = 2-X2 + e4 = -1
We may now use dual simplex method (dual feasibility in row 0).
The variable e4= -1 is the most negative basic variable, so e4will exit basis and row 4 will be
the pivot row, with X2 entering basis. Carrying out the EROs to eliminate X2 from other
rows, the tableau becomes:
Z + 10.s2+ 10.s3 + 5.e4= 275
s1+ 2.s2 -8.s3 - 2.e4= 26
X3+ 2.s2 -4.s3 - 2.e4= 10X1+ -s2/2 + 3.s3/4 + 5.e4/4 = 3/4
X2 - 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: X1is the most negative, so X1must leave basis, and row 3 will
be the pivot row. Because s2is the only variable with ve coefficient, s2will enter the basis.
After EROs, we get,
Z + 20X1 + 30X2 + 40s3 = 320
4X1 + 3X2 + s1 - 8s3 = 32
4X1 + 3X2 + X3 + 2s3 = 16
- 2X1 - 2.5X2 + s2 - 3s3 = 6
This is now an optimum tableau.
8/10/2019 Integer Programming OR
3/3
3
Solving a Normal Minimization Problem
Consider the problem:
Min Z = X1+ 2X2
s.t. X12X2+ X3 4
2X1+ X2X3 6
X1, X2, X3 0.
Multiply Z by (-1) to convert to a maximization problem with Z = - X12X2.
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 e1and e2as 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 mostve variable, which is e2to exit with row 2 as the pivot row. For entering
variable,
X1ratio = 1/(-2) = -1/2
X2ratio = 2/(-1) = -2
Smaller ratio (absolute) is for X1; we use EROs to enter X1into row 2. We get,
Z + + 3X2/2 + X
3/2 e
2/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, e1will exit from the basis and,
X3ratio = (1/2)/(-3/2) = -1/3 e2ratio = (1/2)/(-1/2) = -1
Smaller ratio for X3which will enter into row 1. After pivoting X3, we get
Z + + 7X2/3 + e1/3 + e2/3 = - 10/3
- 5X2/3 + X3 - 2e1/3 +e2/3 = 2/3
X1 - X2/3 - e1/3 - e2/3 = 10/3
This is now optimal with Z = - 10/3 or Z = 10/3 and X3= 2/3, X1= 10/3