DantzigWolfe Decomposition 1 Outline block structure of a
Dantzig-Wolfe Decomposition 1
Outline è block structure of a problem è representing a point by extreme points è Revised Simplex to the extreme point representation è an example 2
General Problem è min è s. t. è common in network- based problems è B 1 x 1 = b 1, è B 2 x 2 = b 2, … è è BKx. K = b. K, è 0 xk, k = 1, 2, …, K. è distribution of K types of products è Bkxk = bk: constraints related to the flow of the kth type of products è constraints of common resources for the K products: 3
General Problem è min è s. t. è B 1 x 1 = b 1, è B 2 x 2 = b 2, … è è BKx. K = b. K, è 0 xk, k = 1, 2, …, K. 4
General Problem è min è s. t. è B 1 x 1 = b 1, è B 2 x 2 = b 2, Possible to avoid solving a large problem? … è è BKx. K = b. K, è 0 xk, k = 1, 2, …, K. 5
A Numerical Example è Problem P 2: è min è – 3 x 1 – 2 x 2 – 2 x 3 – 4 x 4, s. t. x 1 + x 2 + 2 x 3 + x 4 10, è x 1 + 2 x 2 8, è x 2 3, è x 3 + 3 x 4 6, è x 3 è xi 0. 4, 6
A Numerical Example è feasible region: {(x 1, x 2): x 1 + 2 x 2 8, x 2 3} èextreme points: èa feasible point: convex combination of the extreme points 7
A Numerical Example è feasible region: {(x 3, x 4): x 3 + 3 x 4 6, x 3 4} èextreme points: èa feasible point: convex combination of the extreme points 8
A Numerical Example è Problem P 3: 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 represented è s. t. (8 12+2 13) + (3 13+3 14) + 2(4 22+4 23) + ( 23+2 24) 10, by a single constraint n kn = 1 è 11 + 12 + 13 + 14 = 1, 21 + 22 + 23 + 24 = 1, è è ij 0, i = 1, 2; j = 1, 2, 3, 4. 9
A Numerical Example è Problem P 3: 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-Wolfe Decomposition: 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 13
Most Negative Reduced Cost where Check each extreme point for each block, which is equivalent to solving a linear program. Result: Solving 14 K+1 small linear programs.
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 – 3 y 1 – 2 y 2 – 2 y 3 – 4 y 4, è s. t. y 1 + y 2 + 2 y 3 + y 4 10, è y 1 + 2 y 2 8, è y 2 3, è y 3 + 3 y 4 6, è y 3 è yi 0. 4, 16
An Example of the Dantzig-Wolfe Approach è problem in general form with 17
An Example of the Dantzig-Wolfe Approach è let be the extreme points of B 1 x 1 = b 1 è any point in B 1 x 1 = b 1: è similarly, any point in B 2 x 2 = b 2: 18
An Example of the Dantzig-Wolfe Approach è in terms of the extreme points 19
An Example of the Dantzig-Wolfe Approach è to solve the problem, introduce the slack variable x 5 and artificial variables x 6 and x 7 20
An Example of the Dantzig-Wolfe Approach è initial basic variable x. B = (x 5, x 6, x 7)T, B = I, (c. B)T = (0, M, M), b = (10, 1, 1)T è = (c. B)TB = (0, M, M) è for the kth subproblem, the reduced costs: 21
- Slides: 21