Professional Documents
Culture Documents
CHAPTER FOUR
Duality theory and further variations of the Simplex method
5.1 Dual linear programs
Introduction to duality
The term “dual” in a general sense implies two or double. The concept of
duality is a very useful in mathematics, physics, statistics, engineering and
management decision making.
For every linear programming problem there is a related unique linear
programming problem (another linear program) involving the same data
which also describes original problem. The given original program is called
primal program ( p) which can be transposing (or reversing) the row and
column of the algebraic statement of the problem. Inversing the problem in
this way results in dual program( D). A solution to the dual program may be
found similar to that used for primal. The two programs have very closely
related properties so that optimal solution of the dual gives complete
information about the solution of the primal and vice versa
Formulation of dual linear programming problem
The dual of a normal Max (canonical form of Max) problem is a normal Min
(canonical form of Min) problem.
Primal Dual
Max c T x Min bT y
s.t s.t
Ax ≤ b AT y ≥ C
x≥0 y ≥0
Rules to constructing the dual from primal
Rules to constructing the dual from primal (linear programming problem in
which its objective function is maximization)
Primal Dual
≥ ≤0
≤ ≥0
¿ free
≥0 ≥
≤0 ≤
free ¿
The dual of a normal Min (canonical form of Min) problem is a normal Max
(canonical form of Max) problem.
Primal Dual
T T
min c x max b y
s ubject ¿ subject ¿
Ax ≥ b AT y ≤ C
x≥0 y ≥0
Rules to constructing the dual from primal (linear programming problem in
which its objective function is minimization)
Primal Dual
≥ ≥0
≤ ≤0
¿ free
≥0 ≤
≤0 ≥
free ¿
Example
What is the dual of the following primal linear programming problems?
A. Min3 x +2 y+ z B. Max 3 x − y
Subject ¿ Subject ¿
2 x+ y + z ≥12 2 x+ y ≥ 2
3 x+ 4 y =11 x +3 y ≤ 2
y ,z ≥0 y=4
x≤0, y≥0
Solution
A. Max 12 x 1+ 11 x2 B. Min2 x 1+ 2 x 2 +4 x 3
Subject ¿ Subject ¿
2 x1 +3 x 2=3 2 x1 + x 2 ≤ 3
x 1+ 4 x 2 ≤ 2 x 1+ 3 x 2 + x 3 ≥−1
x1≤ 1 x 1 ≤ 0 , x2 ≥ 0
x1 ≥ 0
If the primal linear programming has a finite optimal solution so does the
dual linear programming problem. If x 0∧w0are feasible solution to the primal
and dual problem such thatc x0 =w 0 b , then x 0∧w0are optimal solutions to their
Solution
Let as find the optimal value and value by using graphical solution method
f(x) = x + 4 8
g(x) = x 2
15 10 5 5 10 15
( x 1 , x 2 )=( 3,1 ) is optimal point and 7 is optimal value to the primal linear
programming problem.
The dual of the primal linear programming problem is
Min 4 y 1 +2 y 2
subject ¿
y1 + y2 ≥ 2
y 1− y 2 ≥1
y1 , y2 ≥ 0
f(x) = 2 x 8
g(x) = x 1
15 10 5 5 10 15
(3 1)
( y 1 , y 2) = 2 , 2 is optimal point and 7 is optimal value to the dual linear
programming problem.
How to read the optimal dual solution from ∆ j of the optimal tableau of the
primal linear programming problem if the primal is a Max problem:
‘Optimal value of dual variable y i’
= – ‘coefficient of si in optimal row∆ j’ (if constraint i is ≤ inequality
constraint)
= ‘coefficient of si in optimal row∆ j’ (if constraint i is ≥ inequality
constraint)
= – ‘coefficient of a i in optimal row∆ j’ – M (if constraint iis equality
constraint)
How to read the optimal dual solution from Row ∆ j of the optimal tableau if
the primal is a Min problem:
‘Optimal value of dual variable x i’
= – ‘coefficient of si in optimal row∆ j’ (if constraint i is ≤ inequality
constraint)
= ‘coefficient of si in optimal row∆ j’ (if constraint i is ≥ inequality
constraint)
= – ‘coefficient of a i in optimal row∆ j’ + M (if constraint iis equality
constraint)
If the primal linear programming problem has unbounded solution, then the
dual of primal linear programming problem has infeasible solution.
Example
Max 2 x 1 + x 2
subject ¿
x 1+ x2 ≥1
x 1−x 2 ≤ 2
x1 , x2 ≥ 0
Solution
Let as find the optimal value and value by using graphical solution method
5
h (x ) = x + 1
f(x ) = x 2
4
10 8 6 4 2 2 4 6 8 10
5
Linear Optimization: - Chapter five 2009 E.c
f(x) = x + 2 6
g ( x) = x 1
2
15 10 5 5 10 15
Example
Min−x 1−x 2
subject ¿
x 1−x 2 ≥ 1
−x 1+ x2 ≥1
x1 , x2 ≥ 0
Solution
First let as find the optimal value and value by using graphical solution
method
h(x) = x + 1
15 10 5 5 10 15
f(x) = x 1
As we see in the graph the problem has no feasible region. This implies that
we have infeasible solution.
The dual of the primal linear programming problem is
Max y 1+ y 2
subject ¿
y 1− y 2 ≤−1
− y 1 + y 2 ≤−1
y1 , y2 ≥ 0
Now let as find the optimal value by using graphical solution method
8
h(x) = x + 1
15 10 5 5 10 15
f(x) = x 1
As we see in the graph the problem has no feasible region. This implies that
we have infeasible solution.
Therefore if the primal optimization problem has infeasible solution does
not mean the dual has unbounded solution.
If the dual of the primal linear programming has unbounded solution, then
the primal linear programming problem has infeasible solution.
Theorem (Fundamental theorem of duality)
With regard to the primal and dual linear programming problem, exactly one
of the following statements is true.
a. Both possess optimal solution
b. One problem has unbounded optimal value , in which case the
other problem must be infeasible
c. Both problems are infeasible.
From this theorem we see that duality is not completely symmetric. The best
we can say is that (here optimal means finite optimal, and unbounded means
having an unbounded optimal objective.
If the primal problem have The Its dual problem has
optimal solution n optimal solution
If the primal problem have The Its dual problem has
unbounded solution n infeasible solution
If the dual problem have The Its primal problem has
unbounded solution n infeasible solution
If the primal problem have The Its dual problem has
infeasible solution n unbounded or infeasible
solution
If the dual problem have The Its primal problem has
infeasible solution n unbounded or infeasible
solution
Feasibility
Any optimization problem is said to be
Primal feasible
If and only if all right hand are positive.
Dual feasible
In maximization problem
If all elements of net increment or decrement rate ( ∆ j=¿ c j−z j) are zero
and negative
In minimization problem
If all elements of increment or decrement rate ( ∆ j c j−z j=¿ ) are zero
and positive
The Simplex method is an algorithm that always deals with a basic feasible
solution and the algorithm is terminated as soon as an optimal solution is
achieved. I.e. the procedure should be stopped when all c j−z j ≤0 for
maximization problem and c j−z j ≥0 for minimization problem. However if one
or more solution value are negative and optimality condition in both Max and
Min is satisfied then current primal optimal solution is infeasible solution. In
such cases, our problem is primal infeasible but it is dual feasible so we can
take our table as starting basic feasible solution to dual simplex algorithm.
I.e. all c j−z j ≤0 for maximization problem. In all such cases a variant of the
simplex method called the dual simplex method would be used.
Steps of a Dual-Simplex Algorithm
Step 1:- Determine an initial solution
Convert the given problem in to the standard form by adding slack, surplus
and artificial variables and obtain initial basic feasible solution. Display this
solution in the initial dual-simplex table.
Step 2:- Test optimality of the solution
If all solution values are positive then there is no need of applying a dual
simplex method because improved solution can be obtained by simplex
method itself. Otherwise go to step 3
Step 4:- Obtain improved solution
I. Select a basic variable associated with the row (called key row)
having the largest negative solution value
i.e. x βi =min { x βi , x βi <0 }
II. Determine the minimum ratios only for those columns having a
negative element in∆ j. Then select a non basic variable for entering
into the basic associated with the column for which
c k −z k c j−z j
y rk
=min{ y rj }
; y rj <0 for all j .
The element ( y rk ) at the intersection of the key row and key column is
called key element. The improved solution can be obtained by making
y rk is 1 and all other element of the key column zero. Here it may be
noted that the key element is always positive.
Step 5: Repeat the procedure
Repeat step 2 to step 4 until either an optimal solution is reached or
there exists unbounded solution.
Example
C. Min x 1 +2 x2 D.
Subject ¿
x 1+ x2 ≤5
−x 1+ x2 =−1
x1 , x2 ≥ 0
Solution
This implies that our problem is primal infeasible but dual feasible. So we are
going to solve this problem by using dual simplex algorithm.
Cj −1 −3 0 0
CB B x1 x2 s1 s2 b=x B
0 s1 −3 −1 1 0 −2
0 s2 2 0 0 1 10
Zj 0 0 0 0
∆j −1 −3 0 0
Mr 1 3 −¿ −¿
↑
3
−1 x1 1 1/3 −1/ 3 0 2/3
0 s2 0 −2/3 2/3 1 26 /3
Zj −1 −1/ 3 1/3 0 −2/3
∆j 0 −8 /3 −1/ 3 0
This implies that our problem is primal infeasible but dual feasible. So we are
going to solve this problem by using dual simplex algorithm.
Cj 5 3 0 0
CB B x1 x2 s1 s2 b=x B
0 s1 2 1 1 0 4
0 s2 1 −4 0 1 −6 →
Zj 0 0 0 0
∆j 5 3 0 0
Mr −¿ −3 −¿ −¿
↑
4
0 s1 9 0 1 1 5
4 4 2
3 x2 −1 1 0 −1 3
4 4 2
Zj −3 3 0 −3 9
4 4 2
∆j 23 0 0 3
4 4
From the optimal table the optimal solution of the dual linear programming
3 9
(
problem is ( y 1 , y 2) = 0 ,−
4)and is optimal value.
2
This implies that our problem is primal and dual infeasible. So we are going
to solve this problem by using primal - dual simplex algorithm.
Cj 1 2 0 M
CB B x1 x2 s1 a1 b=x B
0 s1 1 1 1 0 5
M a1 −1 1 0 1 −1 →
Zj −M M 0 M
∆j 1+ M 2−M 0 0
Mr −5−M ↑ −¿ −¿ −¿
0 s1 0 2 1 0 4
1 x1 1 −1 0 −1 1
Zj 1 −1 0 −1 1
∆j 0 3 0 M +1
This is both primal and dual feasible. So this implies that ( x 1 , x 2 )=( 1,0 ) is
optimal point and 1 is optimal value to the primal linear programming
problem.
From the optimal table the optimal solution of the dual linear programming
problem is ( y 1 , y 2) =( 0 ,−1 ) and 1 is optimal value.
If a linear programming problem is primal and dual infeasible. I.e. all ∆ j=c j−z j
are not non negative for maximization problem; all ∆ j=c j−z j are not non
positive for minimization problem and all the right hand side values are not
non negative. We are going to solve to by using primal –dual simplex
algorithm method.
Example
Max 3 x 1−2 x 2
Subject ¿
x 1+ 2 x 2 ≤ 4
−x 1+ 3 x 2 ≥6
x1 , x2 ≥ 0
Solution
Max 3 x 1−2 x 2+ 0 s 1+ 0 s 2
Subject ¿
x 1+ 2 x 2 +s 1=4
x 1−3 x 2+ s 2=−6
x 1 , x 2 , s1 , s 2 ≥ 0
0 s2 1 −3 0 1 −6 −¿ infeasible
Solve by using primal
Zj 0 0 0 0 simplex algorithm
∆j 3↑ −2 0 0
3 x1 1 2 1 0 4 Primal infeasible but
dual feasible
0 s2 0 −5 1 1 −10 → Solve by using dual
simplex algorithm
Zj 3 6 3 0 12
∆j 0 −8 −3 0
Mr 0 8 −¿ −¿
5
3 x1 1 0 7 2 8 This is both primal and
5 5 dual feasible this
implies this is our
−2 x2 0 1 −1 −1 2 optimal table
5 5
Zj 3 −2 9 4 20
5 5
∆j 0 0 −9 −4
5 5
( x 1 , x 2 )=( 8,2 ) is optimal point and 20 is optimal value to the primal linear
programming problem.