Sunteți pe pagina 1din 6

Module 5

Topic 5:
Dual simplex method and its illustration:
When we initiate the simplex method to solve the following LPP
max z = cT x
subject to Ax + I x
=b
x, x
0
We always make sure that the right hand side vector b is non-negative. But why?
To ensure that the basic solution is feasible at every iteration of the method.
Note that in all the examples discussed upto now, the column vector xB 0, i.e,
- Upto now we are concerned with primal feasible basis. Turn the focus on the zj cj
row.
- Some elements in this row are negative until the final iteration.
- In the event of optimality reached, all elements in this row becomes non-negative.
- The associated basis is called then called dual feasible.
The last statement is just because while constructing the proof of the strong duality theorem
(Lecture 2, Module 5); we define the dual variables wj = (cTB B 1 )j and shown them equal to
zj cj values corresponding to the initial identity matrix columns.
A closer look at the simplex method ( also called primal simplex method ) reveals the following:
Always maintain the primal feasibility.
Attempt to attain the dual feasibility.
We could have thought off in opposite direction. Instead, can we initiate an algorithm with dual
feasibility and without compromising it try to get the primal feasibility?
This is the question that we would precisely like to answer in this lecture. A variant of the
primal approach known as the dual simplex method is proposed.
How the dual simplex method will work?
Primarily it is very similar to the primal simplex algorithm.
The direction and philosophy are although different.
Until the final iteration, each basis examined is primal infeasible (some negative values in
the xB column)
Each basis is but dual feasible (all elements in zj cj row are non-negative).
c
Copyright
Reserved IIT Delhi

2
At the optimal (final) iteration, the solution will be both primal and dual feasible, provided
the problems have optimal solutions.
Throughout the iterations we maintain the dual feasibility and drive towards primal feasibility.
Without going into the mathematical intricacies of the algorithm we present below the brief
outline of the dual simplex algorithm.

Step 1: Initialization
Start with the dual feasible basis and let k = 1. Create a tableau for this basis in the simplex
form. If the column xB is non-negative, the solution in hand is optimal, so stop.

Step 2: Iteration k
(a) Select the leaving variable with most negative xBr . Thus, row r is the pivot row.
(b) Determine the entering variable xs by the following ratio test:


zj cj
zs cs
= max
| yrj < 0, j = 1, . . . , n. .
yrs
yrj
Thus, the sth column is a pivot column and yrs < 0 is the pivot element.
(c) Change the basis by replacing xBr with xs . Create a new tableau by performing the pivot
operations same as we do in the primal simplex method.

Step 3: Feasibility Test


If all the entries in xB are non-negative, the solution is primal feasible, stop otherwise set
k k + 1 and return to step 2.

Note: If in step 2(b), there is no yrj < 0 in the rth pivot row (i.e. yrj 0, j = 1, . . . , n.),
then the problem has no feasible solution.

Example 5.1 Consider the following problem.


max z = 5x1 35x2 20x3
subject to x1 x2 x3 2
x1 3x2 3
x1 , x2 , x3 0

c
Copyright
Reserved IIT Delhi

3
The initial table (with x4 , x5 slacks) is

cB
0

vB
x4

cj
xB
-2

x5

-3

zj cj

-5
y1
1

-35
y2
-1

-20
y3
-1

0
y4
1

0
y5
0

-3

35

20

1
5

Note , zj cj 0, j, so the current solution is dual feasible but not primal feasible as xB < 0.
x5 = 3 is the most negative, so let x5 leaves the basis. Now,




zj cj
5 35
max
| y2j < 0
= max
,
= 5.
y2j
1 3
So, x1 enters into the basis, and y21 = 1 is the pivot element. The next iteration results in
the following table.

cB

vB

cj
xB

0
-5

x4
x1

-5
3

0
1

zj cj

-5
y1

-35
y2

-20
y3

0
y4

0
y5

-1
0

1
0

1
-1

20

4
3
20

Again, zj cj 0, j and x4 = 5 < 0. So, x4 is selected to leave the basis. The entering
vector is selected by the following rule.




zj cj
20 20
20
max
| y1j < 0
= max
,
=
.
y1j
4 1
4
Thus, x2 enters into the basis. The next tableau is then as follows.

cB
-35

vB
x2

cj
xB
5/4

-5

x1

-3/4

zj cj

-5
y1
0

-35
y2
1

-20
y3
1/4
3
4

0
y4
-1/4

0
y5
-1/4

3/4

-1/4

10

15

c
Copyright
Reserved IIT Delhi

4
This time x1 =

3
4

< 0, so it leaves the basis and the vector to enter is the one for which




zj cj
20
20
max
| y2j < 0
= max
, 40
=
,
y2j
3
3

that is, x3 . We again update the table to get

cB
-35
-20

vB
x2
x3

cj
xB
1
1

-5
y1
1/3
-4/3

-35
y2
1
0

-20
y3
0
1

0
y4
0
-1

0
y5
-1/3
1/3

zj cj

20

20

zj cj 0, j and xBr 0, r = 1, 2. So the current solution is optimal and of course feasible


too. The optimal solution of the problem is x1 = 0, x2 = 1, x3 = 1, and optimal value is 55.
It is important to note the following:
The dual simplex algorithm is most suited for problems for which an initial dual feasible
solution is easily available.
The method does not require any artificial variable (unlike in the simplex) to solve the
problem.
To see the things graphically for the feel of the algorithm we consider a rather simple two variables example.

Example 5.2: Consider the problem


min z = x1 + 2x2
subject to 2x1 + x2 4
x1 + 7x2 7
x1 , x2 0.
Converting it into the standard form
max (z) = x1 2x2
subject to 2x1 x2 + x3 = 4
x1 7x2 + x4 = 7
x1 , x2 , x3 , x4 0.

c
Copyright
Reserved IIT Delhi

cB
0

vB
x3

cj
xB
-4

x4

-7

-1

zj cj

-1
y1
-2

-2
y2
-1
7
2

0
y3
1

0
y4
0

Proceeding by the dual simplex, the next table is as follows:

cB

cj
xB

vB

0
-2

-2
y2

0
y3

0
y4

0
1

1
0

-1/7
-1/7

5/7

2/7

cj
xB
21/13
10/13

-1
y1
1
0

-2
y2
0
1

0
y3
-7/13
1/13

0
y4
1/13
-2/13

zj cj

5/13

Feasible
se
3/13

x3
x2

-1
y1
13
7

-3
1

1/7

zj cj

The final optimal table is the following:

cB
-1
-2

vB
x1
x2

Optimal Solution is x1 = 21/13, x2 = 10/13. Graphically, the iterations are shown below:
X2*is not integer Can be removed

X2

X
X

Feasible Set
x

Optimal Solution
and feasible too

(0, 1)

Second iteration move

(0, 4)

x x
x

(0, 0)

l
(2, 0)

l
(7, 0)

First iteration move

c
Copyright
Reserved IIT Delhi

X1

6
Note: (0, 0) (0, 0, 4, 7) in basic solution (see table 1).
(0, 1) (0, 1, 3, 0) in basic solution after first iteration (see table 2).


21 10
21 10
13 , 13 13 , 13 , 0, 0 in basic solution after second iteration (see table 3).

The following example is included to show that if we convert the dual problem into standard
form and then apply the primal simplex method on it, the resulting algorithm is not the same
as applying the dual simplex method on the primal problem. The example is taken from
www.brainmass.com/homework-help/math/optimization/55790

Consider the following (primal) LPP.


(P ) max x1 x2
subject to x1 = 1
x2 = 1
x1 , x2 0.
Its dual is
(D) min w1 + w2
subject to w1 1
w2 1
w1 , w2 unrestricted in sign.
Suppose we apply dual simplex method on (P). Then the initial table itself is an optimal table
( for there is only on optimal basis). Infact

cB
-1
-1

cj
vB
x1
x2

xB
1
1

-1
y1
1
0

-1
y2
0
1

So the optimal solution is x1 = 1, x2 = 1 of (P) in the first step only.


On the other hand, suppose we apply the primal simplex method of (D), then one or more
changes (iterations) of basis may be required.

c
Copyright
Reserved IIT Delhi

S-ar putea să vă placă și