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
i1
k
 di xi  e
i1
k
 di xi  e
i1
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