Sie sind auf Seite 1von 21

Dantzig-Wolfe Decomposition

1
Outline

 block structure of a problem


 representing a point by extreme points
 RevisedSimplex to the extreme point
representation
 an example

2
General Problem
min c1 x1  c2 x2  ...  c K x K ,
T T T

 common in network-
 s.t. A1x1  A2x2  ...  A K x K  b0 ,
based problems
 B1x1 = b1,
 distribution of K types of
 B2x2 = b2,
products
 …
 Bkxk = bk: constraints
 BKxK = bK,
related to the flow of the
 0  xk, k = 1, 2, …, K. kth type of products
 constraints of common
resources for the K
products:
A1x1  A2x2  ...  A K x K  b0
3
General Problem

c T
 min 1 1 x  c T
x
2 2  ...  c T
K xK ,
 s.t. A1x1  A2x2  ...  A K x K  b0 ,
 B1x1 = b1,
 B2x2 = b2,
 …
 BKxK = bK,
 0  xk, k = 1, 2, …, K.
4
General Problem

c T
 min 1 1 x  c T
x
2 2  ...  c T
K xK ,
 s.t. A1x1  A2x2  ...  A K x K  b0 ,
 B1x1 = b1,
Possible to avoid solving
 B2x2 = b2, a large problem?
 …
 BKxK = bK,
 0  xk, k = 1, 2, …, K.
5
A Numerical Example

 Problem P2:
 min –3x1 – 2x2 – 2x3 – 4x4,
 s.t. x1 + x2 + 2x3 + x4  10,
 x1 + 2x2  8,
 x2  3,
 x3 + 3x4  6,
 x3  4,
 xi  0.
6
A Numerical Example

 feasible region: {(x1, x2): x1 + 2x2  8, x2  3}


0 8  2 0
 extreme points:   ,   ,   ,  .
 0  0  3  3
a feasible point: convex combination of the
extreme points

 x1   0 8  2  0
   11    12    13    14   ;
 x2   0  0  3  3
11  12  13  14  1;
0  11, 12 , 13 , 14 .

7
A Numerical Example

 feasible region: {(x3, x4): x3 + 3x4  6, x3  4}


0  4  4   0
 extreme points:  , ,  ,  .
 0   0   2 / 3  2 
a feasible point: convex combination of the
extreme points

 x3  0 8  4  0
    21     22     23  2    24   ,
 x4  0  0 3  2
21  22  23  24  1,

0  21, 22 , 23 , 24 .


8
A Numerical Example

 Problem P3: problem in terms of extreme points


 min -3(812+213) – 2(313+314) a subspace
– 2(422+423) – 4( 23+224), Bkxk = bk is
 s.t. (812+213) + (313+314) represented
by a single
+ 2(422+423) + ( 23+224)  10,
constraint
 11 + 12 + 13 + 14 = 1, n kn = 1
 21 + 22 + 23 + 24 = 1,
 ij  0, i = 1, 2; j = 1, 2, 3, 4.
9
A Numerical Example

 Problem P3: problem in terms of extreme points


 min –2412 – 1213 – 614 – 822 – (32/3)23 – 824,
 s.t. 812 + 513 + 314 + 822 +8 23 +224  10,
 11 + 12 + 13 + 14 = 1,
 21 + 22 + 23 + 24 = 1,
 ij  0, i = 1, 2; j = 1, 2, 3, 4.

The previous representation


suits DW Decomposition more. 10
Practical?

 impractical approach
 impossible to generate all the extreme points
of a block Bkxk = bk
 Dantzig-WolfeDecomposition: check all
extremely points without explicitly
generating them

11
General Problem

K blocks, Bkxk = bk, k = 1, …, K


 Nk extreme points in the kth block

dual variable 0 

dual variable 1 

dual variable 2 

dual variable K 
12
Reduced Cost
for a Non-Basic Variable kn
 reduced cost of kn ˆ 
 Ak X kn
 
 0 
T 1 Tˆ T 1
 
ckn  ckn  cBB Pkn = ck X kn  cB B  
 1 
 
ˆ   X
= cTk X ˆ  .  
 0 
kn 0 k kn k
 

13
Most Negative Reduced Cost
ˆ  A X
min cTk X
k ,n
kn
ˆ 
0 k kn k 
 min min cTk X
k  n
ˆ  A X
kn 0 k kn
ˆ  
k 


where
n
kn
ˆ  A X
min cTk X ˆ 
0 k kn k 
 min  ck Xk  0 A k Xk  k 
T
B X b
k k k

Check each extreme point for each block, which is


equivalent to solving a linear program. Result: Solving
K+1 small linear programs. 14
General Approach

 1 Form the master program (MP) by the representation


 2 Get a feasible solution of the MP; find the corresponding 
 3 Solve the subproblems to check the reduced costs of kn
 3.1 stop if the MP is optimal;
 3.2 else carry a standard revised simplex iteration (i.e.,
identifying the entering and leaving variables,
stopping for an unbounded problem , and
determining B-1 otherwise)
 3.3 go back to 2 if the problem is not unbounded

15
An Example of
the Dantzig-Wolfe Approach
 min –3y1 – 2y2 – 2y3 – 4y4,
 s.t. y1 + y2 + 2y3 + y4  10,
 y1 + 2y2  8,
 y2  3,
 y3 + 3y4  6,
 y3  4,
 yi  0.
16
An Example of
the Dantzig-Wolfe Approach
 problem in general form with
 y1   y3 
x1    , x2    ,
 y2   y4 
c1T  (3, 2), cT2  (2, 4),
A1  (1,1), A2  (1,1), b0  10,
1 2 8 1 3  6
B1    , b1    , B2    , b2    ,
0 1  3 1 0   4
0 0
x1    , x2    .
0 0 17
An Example of
the Dantzig-Wolfe Approach
ˆ ,X
 let X ˆ ,X
ˆ ,X
ˆ be the extreme points of
11 12 13 14
B1x1 = b1
 y1  4

 any point   in B1x1 = b1  c1 X1n1n
:
 y2  n1
 y3  4

point  y  in B2x2 = b2  c 2 X 2 n 2 n
 similarly, any :
 4 n1

18
An Example of
the Dantzig-Wolfe Approach
 in terms of the extreme points

19
An Example of
the Dantzig-Wolfe Approach
 tosolve the problem, introduce the slack
variable x5 and artificial variables x6 and x7

20
An Example of
the Dantzig-Wolfe Approach
 initialbasic variable xB = (x5, x6, x7)T, B = I,
(cB)T = (0, M, M), b = (10, 1, 1)T
 = (cB)TB = (0, M, M)
 for the kth subproblem, the reduced costs:
min cTk X
n
kn 
ˆ  A Xˆ
0 k kn  k 
 min
B X b
k
 k k
cTk Xk  0 A k Xk  
k
21