Duality Theory
LI Xiaolei
Finding the dual of an LP
When taking the dual of a given LP, we refer to the given LP as the primal. If the primal is a max problem, the dual will be a min problem, and vice versa.
For convenience, we define the variables for the max problem to be z, x1,x2,…,xn and the variables for the min problem to be w,y1,y2,…,y
m.
Finding the dual of an LP
A normal max problem may be written as
(16)
,n),,(ix
bxaxaxa
bxaxaxa
bxaxaxats
xcxcxcz
j
mnmnmm
nn
nn
nn
210
..
max
2211
22222121
11212111
2211
Finding the dual of an LP
The dual of a normal max problem is defined to be,
(17)
,m),,(iy
cyayaya
cyayaya
cyayayats
ybybybw
i
nmmnnn
mm
mm
mm
210
..
min
2211
22222112
11221111
2211
Finding the dual of an LP A min problem like (17) that has all ≥constraints
and all variables nonnegative is called a normal min problem.
If the primal is a normal min problem like (17), we define the dual of (17) to be (16).
A tabular approach makes it easy to find the dual of an LP. A normal min problem is found by reading down; the dual is found by reading across in the table.
Finding the dual of an LP
n
mmnmmmm
n
n
n
n
ccc
baaayy
baaayy
baaayy
xxx
xxxw
z
21
21
22222122
11121111
21
21
0
0
0
000min
max
Finding the dual of an LP
Illustrate by the Dakota problem,
),,(ix
xxx
xxx
xxxts
xxxz
j 3210
85.05.12
205.124
4868 ..
203006 max
321
321
321
321
Finding the dual of an LP
203060
85.05.120
205.1240
481680
000min
max
33
22
11
321
321
yy
yy
yy
xxx
xxxw
z
Finding the dual of an LP
Then, reading down, we find the Dakota dual to be
),,(ix
yyy
yyy
yyyts
yyyw
j 3210
205.05.1
305.12 6
602 4 8 ..
8 2084 max
321
321
321
321
Finding the dual of a nonnormal LP
Many LPs are not normal max or min problem. For example,
ursxx
xx
xx
xxts
xxz
,0
1
32
2 ..
2max
21
21
21
21
21
0,y urs,
3 2
1
1
2 2 ..
642min
321
21
32
31
321
321
y y
yy
yy
yy
yyyts
yyyw(18) (19)
Finding the dual of a nonnormal LP
An LP can be transformed into normal form. To place a max problem into normal form, we proc
eed as follows: Step 1 multiply each ≥ constraint by -1, converting it into
a ≤ constraint. Step 2 replace each equality constraint by two inequalit
y constraints (a ≤ constraint and a ≥ constraint). Then convert the ≥ constraint to a ≤ constraint.
Step 3 replace each urs variable xi by xi=xi’-xi’’, where xi’ ≥0 and xi’’ ≥0 .
Finding the dual of a nonnormal LP
(18) has been transformed onto the following LP:
0,,
1
32-
2-
2 ..
2max
221
21
21
21
21
221
xxx
xxx
xxx
xxx
xxxts
xxxz
Finding the dual of a nonnormal LP
Transform a nonnormal min problem into a normal min problem: Step 1 multiply each ≤ constraint by -1, converting it into
a ≥ constraint. Step 2 replace each equality constraint by two inequalit
y constraints (a ≤ constraint and a ≥ constraint). Then convert the ≥ constraint to a ≤ constraint.
Step 3 replace each urs variable yi by yi=yi’-yi’’, where y
i’ ≥0 and yi’’ ≥0 .
Finding the dual of a nonnormal max problem
Find the dual of a nonnormal max LP without going through the transformations, Step 1 fill in table so that the primal can be read across. Step 2 making the following changes, (a) if the ith primal
constraint is a ≥ constraint, the corresponding dual variable yi must satisfy yi≤0. (b) if the ith primal constraint is an equality constraint, the dual variable yi is now unrestricted in sign. (c) if the ith primal variable is urs, the ith dual constraint will be an equality constraint.
Then the dual can be read down in the usual fashing.
Finding the dual of a nonnormal max problem
For example,
12
111)0(
312
211
) ()0(min
max
33
*2
*1
21
*21
yy
y
y
xx
ursxxw
z
ursxx
xx
xx
xxts
xxz
,0
1
32
2 ..
2max
21
21
21
21
21
Finding the dual of a nonnormal max problem
12
111)0(
312)0(
211) (
) ()0(min
max
33
22
11
21
21
yy
yy
yursy
xx
ursxxw
z
Finding the dual of a nonnormal min LP
Step 1 write out the primal table. Step 2 making the following changes, (a) if the ith primal
constraint is a ≤ constraint, the corresponding dual variable xi must satisfy xi ≤0. (b) if the ith primal constraint is an equality constraint, the dual variable xi is now unrestricted in sign. (c) if the ith primal variable is urs, the ith dual constraint will be an equality constraint.
Then the dual can be read down in the usual fashing.
Economic interpretation of the dual problem
The dual of the Dakota problem is,
0,,
)constraintchair ( 205.05.1
)constraint table( 305.12 6
)constraintdesk ( 602 4 8 ..
8 2048min
321
321
321
321
321
yyy
yyy
yyy
yyyts
yyyw
Economic interpretation of the dual problem
Suppose an entrepreneur wants to purchase all of Dakota’s resources. Then the entrepreneur must determine the price he or she is willing to pay for a unit of each of Dakota’s resources, then y1=price paid for 1 board ft of lumber y2=price paid for 1 finishing hour y3=price paid for 1 carpentry hour
Economic interpretation of the dual problem
The total price that should be paid for these resources is w. the cost of purchasing the resources is to be minimized.
In setting resource prices, what constraints does the entrepreneur face?For example, the entrepreneur must offer Dakota at least
$60 for a combination of resources that includes 8 board feet of lumber, 4 finishing hours, and 2 carpentry hours, because Dakota could use these resources to produce a desk that can be sold for $60. the same reason shows the other two constraints.
The dual theorem and its consequences
The dual theorem states that the primal and dual have equal optimal objective function values.
The dual theorem and its consequences
Primal problem
(22)
,n),,(ix
bxaxaxa
bxaxaxa
bxaxaxats
xcxcxcz
j
mnmnmm
nn
nn
nn
210
..
max
2211
22222121
11212111
2211
The dual theorem and its consequences
Dual problem
(23)
,m),,(iy
cyayaya
cyayaya
cyayayats
ybybybw
i
nmmnnn
mm
mm
mm
210
..
min
2211
22222112
11221111
2211
The dual theorem and its consequences
Weak duality
If we choose any feasible solution to the primal and any feasible solution to the dual, the w-value for the feasible dual solution will be at least as large as the z-value for the feasible primal solution.
The dual theorem and its consequences
Lemma 1
Let
Be any feasible solution to the primal and y=[y1 y
2 … ym] be any feasible solution to the dual, then (z-value for x)≤(w-value for y).
nx
x
x
x
2
1
The dual theorem and its consequences
If a feasible solution to either the primal or the dual is readily available, weak duality can be used to obtain a bound on the optimal objective function value for the other problem.
The dual theorem and its consequences
Lemma 2 Let
Be a feasible solution to the primal and y=[y1 y2 … ym] be a feasible solution to the dual. If cx=yb, then x is optimal for the primal and y is optimal for the dual.
nx
x
x
x
2
1
The dual theorem and its consequences
Lemma 3
If the primal is unbounded, the dual problem is infeasible.
Lemma 4
If the dual is unbounded, the primal is infeasible.
The dual theorem
Theorem 1 The dual theorem
Suppose BV is an optimal basis for the primal. Then cBVB-1 is an optimal solution to the dual. Also, wz
The dual theorem
Remarks A basis BV that is feasible for the primal is
optimal if and only if cBVB-1 is dual feasible.
When we find the optimal solution to the primal by using the simplex algorithm, we have also found the optimal solution to the dual.
The dual theorem
How to read the optimal dual solution from row 0 of the optimal tableau if the primal is a max problem
Optimal value of dual variable yi
if constraint i is a ≤ constraint
=coefficient of si in optimal row 0
Optimal value of dual variable yi
if constraint i is a ≥ constraint
=-(coefficient of ei in optimal row 0)
Optimal value of dual variable yi
if constraint i is a = constraint
=(coefficient of ai in optimal row 0)-M
Example 10
To solve the following LP,
0,,
105 2
5 2
152 3 ..
5 23max
321
321
32
321
321
xxx
xxx
xx
xxxts
xxxz
Example 10
The optimal tableau,
23120
123120
237
2317
2317
239
2365
22365
231
239
239
232
2315
32315
232
235
235
234
23565
23565
239
2358
2358
2351
3221321
0010
0100
1000
0001
BV
x
x
x
zMM
rhsaaesxxxz
Example 10
Solution
To find the dual from the tableau,
523
*10512) (
*5120)0(
15231)0(
)0()0()0(min
max
33
22
11
321
321
yursy
yy
yy
xxx
xxxw
z
Example 10
From the optimal primal tableau, we can find the optimal solution to dual as follows:Since the first primal constraint is a ≤ constraint,
y1=coefficient of s1 in optimal row 0=51/23.
Since the second primal constraint is a ≥ constraint, y2=-(coefficient of e2 in optimal row 0)=-58/23.
Since the third constraint is an equality constraint, y3=(coefficient of a3 in optimal row 0)-M=9/23.
Example 10
By the dual theorem, the optimal dual objective function value w must equal 565/23.
In summary, the optimal dual solution is
239
32358
22351
123565 ,,, yyyw
The dual theorem
How to read the optimal dual solution from row 0 of the optimal tableau if the primal is a min problem
Optimal value of dual variable xi
if constraint i is a ≤ constraint
=coefficient of si in optimal row 0
Optimal value of dual variable xi
if constraint i is a ≥ constraint
=-(coefficient of ei in optimal row 0)
Optimal value of dual variable xi
if constraint i is a = constraint
=(coefficient of ai in optimal row 0)+M
The dual simplex method
When we use the simplex method to solve a max problem (primal) , we begin with a primal feasible solution. Since at least one variable in row 0 of the initial tableau has a negative coefficient, our initial primal solution is not dual feasible.
Through a sequence of simplex pivots, we maintain primal feasibility and obtain an optimal solution when dual feasibility is attained.
The dual simplex method In many situations, it is easier to solve an LP by
beginning with a tableau in which each variable in row 0 has a nonnegative coefficient (so the tableau is dual feasible) and at least one constraint has a negative right-hand side (so the tableau is primal infeasible).
The dual simplex method maintains a nonnegative row 0 (dual feasibility) and eventually obtains a tableau in which each right-hand side is nonnegative (primal feasibility).
Dual simplex method for a max problem
Step1
Is the right-hand side of each constraint nonnegative? If so, an optimal solution has been found; if not, at least one constraint has a negative right-hand side, and we go to step 2.
Dual simplex method for a max problem
Step2 Choose the most negative basic variable as the variable to
leave the basis. The row in which the variable is basic will be the pivot row. 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 0Coefficient of xj in pivot row
Choose the variable with the smallest ratio as the entering variable.
This form of the ratio test maintains a dual feasible tableau (all variables in row 0 have nonnegative coefficients). Now use ero’s to make the entering variable a basic variable in the pivot row.
Dual simplex method for a max problem
Step 3
If there is any constraint in which the right-hand side is negative and each variable has a nonnegative coefficient, the LP has no feasible solution. If no constraint indicating infeasibility is found, return to step 1.
Dual simplex method for a max problem
To illustrate the case of an infeasible LP, suppose the dual simplex method yielded a constraint such as x1+2x2+x3=-5. since x1,x2,x3≥0, then x1+2x2+x3≥0, the constraint cannot be satisfied. In this case, the original LP must be infeasible.
Dual simplex method
Three uses of the dual simplex follow: Finding the new optimal solution after a
constraint is added to an LP Finding the new optimal solution after changing
a right-hand side of an LP Solving a normal min problem
Finding the new optimal solution after a constraint is added to an LP
The dual simplex method is often used to find the new optimal solution to an LP after a constraint is added. When a constraint is added, one of the following three cases will occur: Case 1 the current optimal solution satisfies the new
constraint. Case 2 the current optimal solution does not satisfy the
new constraint, but the LP still has a feasible solution. Case 3 the additional constraint causes the LP to have
no feasible solution.
Finding the new optimal solution after a constraint is added to an LP
Suppose we have added the constraint x1+x2+x3≤11 to the Dakota problem.The current optimal solution (z=280, x1=2, x2=0, x3=8)
satisfies this constraint.Adding a constraint to an LP either leaves the feasible
region unchanged or eliminates points from the feasible region. So, it either reduces the optimal z-value or leaves it unchanged.
Since the current solution is still feasible and has z=280, it must still be optimal.
Finding the new optimal solution after a constraint is added to an LP
Suppose that in the Dakota problem, adds the constraint x2≥1
Since the current optimal solution has x2=0, it is no longer feasible and cannot be optimal.
Appending the constraint –x2+e4=-1 to the optimal Dakota tableau.
Finding the new optimal solution after a constraint is added to an LP
11
22
88422
2424822
28028010105
442
1323
221
245
1
33232
13212
322
eex
xssxx
xssxx
ssssx
zssxz
BV
The variable e4=-1 is the most negative basic variable, so e4 will exit from the basis, and row 4 will be the pivot row. Since x2 is the only variable with a negative coefficient in row 4, x2 must enter into the basis.
Finding the new optimal solution after a constraint is added to an LP
11
1010242
2626282
27527551010
242
43
143
445
323
221
1
34323
14321
432
xex
xessx
xessx
sesss
zessz
BV
This is an optimal tableau.
Finding the new optimal solution after a constraint is added to an LP
Suppose we add the constraint x1+x2≥12 to the Dakota problem.Appending the constraint –x1-x2+e4=-12 to the optimal
Dakota tableau yields,
1212
22
88422
2424822
28028010105
4421
1323
221
245
1
33232
13212
322
eexx
xssxx
xssxx
ssssx
zssxz
BV
Finding the new optimal solution after a constraint is added to an LP
To eliminate x1 from the new constraint,
10105.15.025.0
22
88422
2424822
28028010105
44322
1323
221
245
1
33232
13212
322
eessx
xssxx
xssxx
ssssx
zssxz
BV
Since e4=-10 is the most negative basic variable, e4 will
leave the basis and row 4 will be the pivot row. The variable s2 is the only one with a negative coefficient in
row 4, so s2 enters the basis.
Finding the new optimal solution after a constraint is added to an LP
Now x3 must leave the basis, and row 2 will be the pivot. Since x2 is the only variable in row 2 with a negative coefficient, x2 now enters the basis.
2020235.0
1212
323242
161642
28080204010
24322
2421
34332
14312
432
sessx
xexx
xesxx
sessx
zesxz
BV
Finding the new optimal solution after a constraint is added to an LP
Row 3 cannot be satisfied. Hence the Dakota problem with the additional constraint x1+x2≥12 has no feasible solution.
3636445.0
202032
323242
16164
240240606010
24323
14331
24332
1313
433
sessx
xesxx
xesxx
sssx
zesxz
BV
Finding the new optimal solution after changing a right-hand side
If the right-hand side of a constraint is changed and the current basis becomes infeasible, the dual simplex can be used to find the new optimal solution.
To illustrate, suppose that 30 finishing hours are now available in Dakota problem. Then it changed the current optimal tableau to that shown ->
Finding the new optimal solution after changing a right-hand side
Basic
variables
z +5x2 +10s2+10s3=380 z=380
-2x2 +s1+ 2s2 -8s3=44 s1=44
-2x2+x3 +2s2 -4s3=28 x3=28
x1+1.25x2 -0.5s2+1.5s3=-3 x1=-3
x1 is the most negative one, so x1 must leave the basis, and row 3 will be the pivot row. Since s2 has the only negative coefficient in row 3, s2 will enter the basis.
Finding the new optimal solution after changing a right-hand side
Basic
variables
z+20x1+30x2 +40s3=320 z=320
4x1 +3x2 +s1 -2s3=32 s1=32
4x1 +3x2+x3 +2s3=16 x3=16
-2x1-2.5x2 +s2 -3s3=6 s2=6
This is an optimal tableau.
Solving a normal min problem
To solve the following LP:
Convert the LP to a max problem with objective function z’=-x1-2x2.
0,,
6 2
4 2- ..
2min
321
321
321
21
xxx
xxx
xxxts
xxz
Solving a normal min problem
Subtracting excess variables e1 and e2 from the two constraints, and multiply each constraint through by -1, we can use e1 and e2 as basic variables.
662
442
002
22321
11321
21
eexxx
eexxx
zxxz
BV
Solving a normal min problem
At least one constraint has a negative right-hand side, so this is not an optimal tableau.
We choose the most negative basic variable e2 to leave the basis. Since e2 is basic in row 2, row 2 will be the pivot row.
To determine the entering variable, we find the following ratios:
x1 ratio=1/2=0.5 x2 ratio=2/1=2The smaller ratio is the x1 ratio, so x1 enters the basis in
row 2.
Solving a normal min problem
Since there is no constraint indicating infeasibility, we return to step 1.
33
11
33
2221
321
221
1
1221
1323
225
221
321
223
eexxx
eeexx
zexxz
BV
Solving a normal min problem
The first constraint has a negative right-hand side, so the tableau is not optimal.
Since e1=-1 is the only negative basic variable, e1 will exit from the basis, and row 1 will be the pivot row.
The ratios are x3 ratio=(1/2)/(3/2)=1/3 e2 ratio=(1/2)/(1/2)=1The smallest ratio is 1/3, so x3 will enter the basis in
row 1.
Solving a normal min problem
Since each right-hand side is nonnegative, this is an optimal tableau.
The original problem was a min problem, so the optimal solution to the original problem is
z=10/3,x1=10/3, x3=2/3 and x2=0.
310
2310
231
131
231
1
32
132
231
132
3235
310
310
231
131
237
eeexx
eeexx
zeexz
BV
Top Related