Week8/Lecture8 Dual simplex method Introduction The Dual

Week8/Lecture8
Dual simplex method
Introduction
The Dual Simplex method is used in situations where the optimality criterion (i.e.,
zj – cj  0 in the maximization case and zj – cj  0 in minimization case) is satisfied,
but the basic solution is not feasible because under the XB column of the simplex
table there are one or more negative values.
1. Sometimes it allows to easily select an initial basis without having to add any
artificial variable.
2. It aids in certain types of sensitivity testing.
3. It helps in solving integer programming problems.
1. Algorithm
2. Example
The dual simplex algorithm proceeds in this way:
Algorithm - Steps
1. Formulate the Problem
1. Formulate the mathematical model of the given linear programming
problem.
2. Convert every inequality constraint in the LPP into an equality constraint, so
that the problem can be written in a standard from.
2. Find out the Initial Solution
Calculate the initial basic feasible solution by assigning zero value to the decision
variables. This solution is shown in the initial dual simplex table.
3. Determine an improved solution
If all the values under XB column  0, then don't apply dual simplex method
because optimal solution can be easily obtained by the simplex method.
On the contrary, if any value under XB column < 0, then the current solution is
infeasible so move to step 4.
4. Determine the key row
1
Select the smallest (most) negative value under the X B column. The row that
indicates the smallest negative value is the key row.
5. Determine the key column
Select the values of the non basic variables in the index row (z j – cj), and divide
these values by the corresponding values of the key row determined in the
previous step. Specifically,
Key column =
Min
z j – cj
-------aij
:
aij < 0
7. Revise the Solution
If all basic variables have non-negative values, an optimal solution has been
obtained. If there are basic variables having negative values, then go to step
3.
Dual Simplex Method
Example
Minimize z = 80x1 + 100x2
subject to
80x1 + 60x2  1500
20x1 + 90x2  1200
x1, x2  0
Solution.
Minimize z = 80x1 + 100x2
Multiplying the constraints by -1 on both sides
-80x1 - 60x2  -1500
-20x1 - 90x2  -1200
After adding slack variables, the constraints are
-80x1 - 60x2 + x3 =-1500
-20x1 - 90x2 + x4 =-1200
Where x3 and x4 are slack variables.
2
Initial basic feasible solution
Substituting x1 = 0, x2 = 0, z = 0
This gives the solution values as
x3 = -1500, x4 = -1200
The initial simplex table is exhibited below.
Table 1
cB
cj
Basic variables
B
80
x1
100
x2
0
x3
0
x4
x3
x4
-80
-20
-80
-60
-90
-100
1
0
0
0
1
0
0
0
zj-cj
Solution values
b (=XB)
-1500
-1200
Key Row :
Min { XB1, XB2} = Min ( -1500, -1200) = -1500
So x3 row is the key row.
Key Column:
Min
z1 - c 1
-------a11
,
z2 - c 2
-------a12
Min
-80
-------80
,
-100
--------60
Min(1, 5/3) = 1
So column under x1 becomes the key column.
Pivot element = - 80.
Therefore, x3 departs & x1 enters.
Table 2
cB
80
0
zj-cj
cj
Basic variables
B
80
x1
100
x2
0
x3
0
x4
x1
x4
1
0
0
3/4
-75
-40
-1/80
-1/4
-80
0
1
0
Solution values
b (=XB)
75/4
-825
Key row = x4 row as it has the only negative value under the XB column.
Key column = x2 column.
Pivot element = -75.
x4 departs & x2 enters.
3
Table 3
cB
80
100
zj-cj
cj
Basic variables
B
80
x1
100
x2
0
x3
0
x4
x1
x2
1
0
0
0
1
0
-3/200
1/300
-13/15
1/100
-1/75
-8/15
The values for x1 & x2 are 21/2 & 11 respectively.
The associated objective function value is
z = 80 X 21/2 + 100 X 11 = 1940.
4
Solution values
b (=XB)
21/2
11