Chapter 7 Duality Theory - University of Melbourne
Download
Report
Transcript Chapter 7 Duality Theory - University of Melbourne
Chapter 7
Duality Theory
The theory of duality is a very elegant
and important concept within the
field of operations research. This
theory was first developed in relation
to linear programming, but it has
many applications, and perhaps even
a more natural and intuitive
interpretation, in several related
areas such as nonlinear
programming, networks and game
7(1).1
theory.
The
notion of duality within linear
programming asserts that every linear
program has associated with it a related
linear program called its dual. The original
problem in relation to its dual is termed the
primal.
it is the relationship between the primal
and its dual, both on a mathematical and
economic level, that is truly the essence of
duality theory.
7(1).2
7.1 Examples
There
is a small company in Melbourne which has
recently become engaged in the production of office
furniture. The company manufactures tables, desks
and chairs. The production of a table requires 8 kgs
of wood and 5 kgs of metal and is sold for $80; a desk
uses 6 kgs of wood and 4 kgs of metal and is sold for
$60; and a chair requires 4 kgs of both metal and
wood and is sold for $50. We would like to determine
the revenue maximizing strategy for this company,
given that their resources are limited to 100 kgs of
wood and 60 kgs of metal.
7(1).3
Problem P1
max Z 80 x1 60 x 2 50 x 3
x
8 x1 6 x 2 4 x3 100
5x1 4 x2 4 x 3 60
x1 , x 2 , x3 0
7(1).4
Now
7(1).5
consider that there is a much bigger
company in Melbourne which has been the
lone producer of this type of furniture for
many years. They don't appreciate the
competition from this new company; so
they have decided to tender an offer to buy
all of their competitor's resources and
therefore put them out of business.
The
7(1).6
challenge for this large company then is
to develop a linear program which will
determine the appropriate amount of money
that should be offered for a unit of each type
of resource, such that the offer will be
acceptable to the smaller company while
minimizing the expenditures of the larger
company.
Problem D1
min w 100 y1 60 y2
y
8 y1 5 y2 80
6 y1 4 y2 60
4 y1 4 y2 50
7(1).7
y1, y2 0
A Diet Problem
An
individual has a choice of two types of food to eat,
meat and potatoes, each offering varying degrees of
nutritional benefit. He has been warned by his doctor
that he must receive at least 400 units of protein, 200
units of carbohydrates and 100 units of fat from his
daily diet. Given that a kg of steak costs $10 and
provides 80 units of protein, 20 units of carbohydrates
and 30 units of fat, and that a kg of potatoes costs $2
and provides 40 units of protein, 50 units of
carbohydrates and 20 units of fat, he would like to find
the minimum cost diet which satisfies his nutritional
7(1).8requirements
Problem P2
min Z 10 x1 2 x2
x
80 x1 40 x 2 400
20 x1 50 x 2 200
7(1).9
30 x1 20 x 2 100
x1 , x 2 0
Now
consider a chemical company which
hopes to attract this individual away from
his present diet by offering him synthetic
nutrients in the form of pills. This company
would like determine prices per unit for
their synthetic nutrients which will bring
them the highest possible revenue while still
providing an acceptable dietary alternative
7(1).10 to the individual.
Problem D2
max w 400 y1 200 y2 100 y3
y
80 y1 20 y2 30 y3 10
40 y1 50 y2 20 y3 2
7(1).11
y1, y2 , y3 0
Comments
Each
of the two examples describes some
kind of competition between two decision
makers.
We shall investigate the notion of
“competition” more formally in 618-261
under the heading “Game Theory”.
We shall investigate the economic
interpretation of the primal/dual relationship
later in this chapter.
7(1).12
7.2 FINDING THE DUAL
OF A STANDARD LINEAR
PROGRAM
In
this section we formalise the intuitive
feelings we have with regard to the the
relationship between the primal and dual
versions of the two illustrative examples we
examined in Section 7.1
The important thing to observe is that the
relationship - for the standard form - is
7(1).13given as a definition.
Standard form of the Primal
Problem
n
max Z c j x j
x
j 1
a11 x1 a12 x 2 ...
a1n xn b1
a21 x 1 a22 x 2 ...
a2 n x n b2
...
...
...
...
...
...
...
...
am1 x1 a m2 x 2 ... amn x n bm
7(1).14
x1 , x 2 ,..., x n 0
Standard form of the Dual
Problem
m
min w bi yi
y
i 1
a11 y1 a21 y 2 ...
a m1 y m c1
a12 y1 a 22 y 2 ...
a m2 ym c 2
...
...
...
...
...
...
...
...
a1n y1 a 2 n y2 ... a mn y m c n
7(1).15
y1 , y 2 ,..., ym 0
7.2.1 Definition
Dual Problem
Primal Problem
z*: max Z cx
w* : min w yb
x
x
s.t.
s. t .
Ax b
x 0
7(1).16
yA c
y 0
b is not assumed to be non-negative
7.2.2 Example
Primal
max Z 5x1 3x 2 8 x3 0 x 4 12 x5
x
3 x1 8x 2
9 x 4 15x 5 20
18x1 5x 2 8 x3 4 x4 12 x5 30
7(1).17
x1, x2 , x3 , x4 , x5 0
Dual
min w 20 y1 30 y2
y
3y1 18 y2 5
8 y1 5y 2 3
8y2 8
9y1 4 y2 0
15 y1 12 y2 12
7(1).18
y1, y 2 0
Table 7.1: Primal-Dual
relationship
D ual
(m in w )
y1 0
y2 0
x1 0
a11
a21
x2 0
a12
a22
.. .
. ..
...
am1
am2
ym 0
Z=
7(1).19
c1
c2
xn 0
a1n
a2n
amn
cn
w =
b1
b2
. ..
. ..
bn
7.2.3 Example
max Z 4 x1 10 x2 9 x3
x
5 x1 18 x2 5 x3 15
8 x1 12 x2 8x3 8
7(1).20
12 x1 4 x 2 8 x3 10
2 x1
5 x3 5
x1, x2 , x3 0
Dual
(min w)
y1 0
y2 0
y3 0
y4 0
Z=
7(1).21
x1 0
x2 0
x3 0
5
8
12
2
- 18
12
-4
0
5
0
8
-5
4
10
-9
w=
15
8
10
5
Dual
min w 15 y1 8y2 10 y3 5y4
y
5 y1 8 y2 12 y 3 2 y 4 4
18 y1 12 y 2 4 y 3
5 y1
8y 3 5 y 4 9
y1 , y2 , y 3 , y4 0
7(1).22
10
7.3 FINDING THE DUAL
OF NONSTANDARD
LINEAR PROGRAMS
The
approach here is similar to the one we
used in Section 5.6 when we dealt with nonstandard formulations in the context of the
simplex method.
There is one exception: we do not add
artificial variables. We handle “=“
constraints by writing them as “<=“
7(1).23 constraints.
This
is possible here because we do not
require here that the RHS is non-negative.
7(1).24
k
di xi e
i1
k
di xi e
i1
k
di xi e
i1
k
d x
i
i
e
i 1
k
di x i e
i 1
Standard form!
7(1).25
7.3.1 Example
max Z x1 x2 x3
x
2 x2 x 3 4
x1 3x 2 4 x 3 5
7(1).26
x1 2 x 2
3
x1 , x 2 0; x3 urs:= unrestricted sign
Conversion
Multiply
through the greater-than-or-equalto inequality constraint by -1
Use the approach described above to
convert the equality constraint to a pair of
inequality constraints.
Replace the variable unrestricted in sign, ,
by the difference of two nonnegative
7(1).27 variables.
Dual
min w 4 y1 5 y2 5y3 3 y4
y
y2 y3 y4 1
2 y1 3y2 3y3 2y4 1
y1 4y2 4y3
y1 4y2 4y3
7(1).29
y1, y2 , y3, y4 0
1
1
Streamlining the conversion ...
An
equality constraint in the primal
generates a dual variable that is
unrestricted in sign.
An unrestricted in sign variable in the
primal generates an equality constraint in
the dual.
Read the discussion in the lecture notes
Good material for a question in the final
7(1).30 exam!
Example 7.3.1 (Continued)
min w 4 y1 5 y2 5y3 3 y4
y
y2 y3 y4 1
2 y1 3y2 3y3 2y4 1
y1 4y2 4y3
y1 4y2 4y3
7(1).31
y1, y2 , y3, y4 0
1
1
,
,
,
min
w
4
y
5
y
3
y
1
2
3
,
y
+
,
,
y2 y3 1
,
,
,
2 y1 3 y2 2 y3 1
,
,
y1 + 4 y2
1
correction
,
,
,
y1, y3 0; y2 urs
7(1).32
Table 7.2: Primal-Dual
relationship
Primal Problem
Dual Problem
opt=max
opt=min
Constraint i :
<= form
= form
Variable i :
yi >= 0
yi urs
Variable j:
xj >= 0
7(1).33
xj urs
Constraint j:
>= form
= form
7.3.3 Example
max Z 5x1 4 x 2
x
3x1 8 x2 6
x1 6 x 2 5
8 x1
10
x 2 0; x1 urs
7(1).34
equivalent non-standard form
max Z 5x1 4 x 2
x
3 x1 8 x 2 6
x1 6 x2 5
7(1).35
8 x1
10
x 2 0; x1 urs
Dual from the recipe
min w 6 y1 5 y2 10 y3
y
3 y1 y2 8 y3 5
8y1 6 y2
4
y1 0; y2 , y3 urs
7(1).36
What about opt=min ?
Can
use the usual trick of multiplying the
objective function by -1 (remembering to
undo this when the dual is constructed.)
It is instructive to use this method to
construct the dual of the dual of the
standard form.
i.e, what is the dual of the dual of the
7(1).37 standard primal problem?
What is the dual of
w* : min w yb
x
s.t.
7(1).38
yA c
y 0
max w yb
max w yb
s.t.
s.t.
y
yA c
y 0
7(1).39
y
yA c
y 0
min Z cx
max Z cx
x
x
s. t .
s. t .
7(1).40
Ax b
Ax b
x 0
x 0
Important Observation
FOR
ANY PRIMAL LINEAR
PROGRAM, THE DUAL OF THE
DUAL IS THE PRIMAL
7(1).41
Table 7.3: Primal-Dual
Relationship
Primal or Dual
opt=max
Constraint i :
<= form
= form
Variable j:
xj >= 0
7(1).42
xj urs
Dual or Primal
opt=min
Variable i :
yi >= 0
yi urs
Constraint j:
>= form
= form
Example 7.3.4
min Z 6 x1 4 x2
x
3x1 5 x2 12
x1 2 x 2 8
5x1 x2 10
x1, x1 0
7(1).43
equivalent form
min Z 6 x1 4 x2
x
3x1 5x 2 12
x1 2 x2 8
5 x1 x2 10
x1 , x 2 0
7(1).44
Dual
max w 12 y1 8 y2 10 y3
y
3y1 y2 5 y3 6
5 y1 2 y2 y3 4
y1, y3 0; y2 urs
7(1).45