Every linear programming problem has a dual problem. In certain situations, the dual problem has an interesting interpretation. In any case, the original ("primal") problem and the dual problem have the same extreme value
1. Lesson 30 (Section 19.2–3)
Duality in Linear Programming
Math 20
December 3, 2007
Announcements
Problem Set 11 on the WS. Due December 5.
next OH: Monday 1–2 (SC 323)
next PS: Sunday 6–7 (SC B-10)
Midterm II review: Tuesday 12/4, 7:30-9:00pm in Hall E
Midterm II: Thursday, 12/6, 7-8:30pm in Hall A
2. Outline
Recap
Example
Shadow Prices
The Dual Problem
3. Definition
A linear programming problem is a constrained optimization
problem with a linear objective function and linear inequality
constraints.
4. Definition
A linear programming problem is a constrained optimization
problem with a linear objective function and linear inequality
constraints.
Definition
An LP problem is in standard form if it is expressed as
max z = c1 x1 + c2 x2 + · · · + cn xn
subject to the constraints
a11 x1 + a12 x2 + · · · + a1n xn ≤ b1
a21 x1 + a22 x2 + · · · + a2n xn ≤ b2
..
..
..
am1 x1 + am2 x2 + · · · + amn xn ≤ bm
x1 , x2 , . . . , xn ≥ 0
5. In vector notation, an LP problem in standard form looks like
max z = c · x
subject to constraints
Ax ≤ b x≥0
6. Theorem of the Day for Friday
Theorem (The Corner Principle)
In any linear programming problem, the extreme values of the
objective function, if achieved, will be achieved on a corner of the
feasibility set.
7. Outline
Recap
Example
Shadow Prices
The Dual Problem
8. Example
Example
We are starting a business selling two Harvard insignia products:
sweaters and scarves. The profits on each are $35 and $10,
respectively. Each has a pre-bought embroidered crest sewn on it;
we have 2000 crests on hand. Sweaters take four skeins of yarn
while scarves only take one, and there are 2300 skeins of yarn
available. Finally, we have available storage space for 1250 scarves;
we could use any of that space for sweaters, too, but sweaters take
up half again as much space as scarves.
What product mix maximizes revenue?
9. Formulating the problem
Let x be the number of sweaters and y the number of scarves
made. We want to
max z = 35x + 10y
subject to
x + y ≤ 2000
4x + y ≤ 2300
3x + 2y ≤ 2500
x, y ≥ 0
10. Finding the corners
2300
2000
Notice one constraint is
4x +
superfluous!
x
y =2
+ z(0, 0) = 0
1250 y
= z(575, 0) = 20, 125
300
20
00 z(0, 1250) = 12, 500
z(420, 620) = 20, 900
3x
•
+
(420, 620)
2y
=
25
00
575 833 1 2000
3
11. Answer
We should make 420 sweaters and 620 scarves.
12. Outline
Recap
Example
Shadow Prices
The Dual Problem
13. Suppose our business were suddenly given
one additional crest patch?
one additional skein of yarn?
one additional unit of storage space?
How much would profits change?
14. One more patch
2300 Since we weren’t “up against”
this constraint in the first place,
2000 one extra doesn’t change our
optimal product mix.
4x +
At this product mix, the
marginal profit of patches is 0.
x
y =2
+
1250 y
=
20
300
01
3x
•
+
(420, 620)
2y
=
25
00
575 833 1 2000
3
15. One more skein
2300 We’ll make a little more sweater
and less scarf
2000
The marginal profit is
4x +
∆z = 35(0.4) + 10(−0.6) = 8
y =2
x
+
1250 y
=
301
20
00
3x
•
+
2y
(420.4, 619.4)
=
25
00
575 833 1 2000
3
16. One more storage unit
2300 We’ll make a little less sweater
and more scarf
2000
The marginal profit is
∆z = 35(−0.2) + 10(0.8) = 1
x
+
1250 y
=
20
00
•
3x
(419.8, 620.8)
+
2y
=
25
01
575 833 1 2000
3
17. Shadow Prices
Definition
In a linear programming problem in standard form, the change in
the objective function obtained by increasing a constraint by one is
called the shadow price of that constraint.
18. Shadow Prices
Definition
In a linear programming problem in standard form, the change in
the objective function obtained by increasing a constraint by one is
called the shadow price of that constraint.
Example
In our example problem,
The shadow price of patches is zero
The shadow price of yarn is 8
The shadow price of storage is 1
We should look into getting more yarn!
19. Outline
Recap
Example
Shadow Prices
The Dual Problem
20. Question
Suppose an entrepreneur wants to buy our business’s resources.
What prices should be quoted for each crest? skein of yarn? unit
of storage?
21. Question
Suppose an entrepreneur wants to buy our business’s resources.
What prices should be quoted for each crest? skein of yarn? unit
of storage?
Answer.
Suppose the entrepreneur quotes p for each crest patch, q for each
skein of yarn, and r for each storage unit.
Each sweater takes one patch, 4 skeins, and 3 storage units,
so effectively p + 4q + 3r is bid per sweater
Likewise, p + q + 2r is bid per scarf.
So we must have
p + 4q + 3r ≥ 35
p + q + 2r ≥ 10
for us to sell out. The entrepreneur’s goal is to minimize the total
payout
w = 2000p + 2300q + 2500r
22. Definition
Given a linear programming problem in standard form, the dual
linear programming problem is
min w = b1 y1 + · · · + bm ym
subject to constraints
a11 y1 + a21 y2 + · · · + am1 ym ≥ p1
a12 y1 + a22 y2 + · · · + am2 ym ≥ p2
..
..
..
a1n y1 + a2n y2 + · · · + amn ym ≥ pn
y1 , . . . , ym ≥ 0
23. In fancy vector language, the dual of the problem
max z = p · x subject to Ax ≤ b and x ≥ 0
is
min w = b · y subject to A y ≥ p and y ≥ 0
24. Solving the Dual Problem
The feasible set is unbounded (extending away from you)
r
p
q
25. Solving the Dual Problem
The feasible set is unbounded (extending away from you)
(0, 0, 83/4)
•
r •
(0, 8, 1) (12/3, 81/3, 0) (35, 0, 0)
p
•
• •
q
(0, 10, 0)
26. Solving the Dual Problem
The feasible set is unbounded (extending away from you)
w = 21, 875
•
r •
w = 20, 900 w = 70, 000
w = 22, 500
p
•
• •
w = 23, 000 q
27. Solving the Dual Problem
The feasible set is unbounded (extending away from you)
w (0, 8, 1) = 20, 900 is minimal
(0, 0, 83/4)
•
r •
(0, 8, 1) (12/3, 81/3, 0) (35, 0, 0)
p
•
• •
q
(0, 10, 0)
28. The Big Idea
The shadow prices are the solutions to the dual problem
The payoff is the same in both the primal problem and the
dual problem