300 likes | 576 Views
Column Generation. Outline. trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column generation the time constrained shortest-path problem shortest-path subproblems for network-based problems.
E N D
Outline • trim loss problem • different formulations • column generation • the trim loss problem • master problem and subproblem in column generation • the time constrained shortest-path problem • shortest-path subproblems for network-based problems 2
Motivation Example for Column Generation • trim-loss problem, 7-meter steel pipes • to cut • 150 pieces of 1.5-meter (pipe) segments • 250 pieces of 2-meter segments, and • 200 pieces of 4-meter segments • loss: pipes cut and segments left after satisfying the demands • how to cut the steel pipes so as to minimize the loss? 3
Motivation Example for Column Generation • X: the total number of steel pipes used • trim loss = 7X – (150)(1.5) – (250)(2) – (200)(4) = 7X-1525 • minimizing trim loss = minimizing X, the number of steel pipes used 4
Formulation 1: A Naive OneMotivation Example for Column Generation • several formulations • an upper bound of pipes used: 255 • 200 pipes cut by the (0, 1, 1) pattern • 38 pipes cut by the (4, 0, 0) pattern • 17 pieces cut by the (0, 3, 0) pattern 5
Formulation 1: A Naive One Motivation Example for Column Generation • segments: 1st type = 1.5 meters, 2nd type = 2 meters, and 3rd type = 4 meters • variables • . • xij = # of type-j segments cut from pipe i • e.g., xi = (2, 2, 0) two 1.5-meter segments and two 2-meter segments from the ith pipe 6
Formulation 1: A Naive One Motivation Example for Column Generation • formulation 7
Formulation 1: A Naive One Motivation Example for Column Generation • disadvantages of Formulation 1 • many alternate optimal solutions due to the symmetry • hard to solve 8
Formulation 2: Variables on Cut PatternsMotivation Example for Column Generation • defining variables on cut patterns • parameters • aij = # of j type segments produced by the ith cut pattern • a1 = (a11, a12, a13)T = (0, 0, 1) • trim loss t1 = 3 • variables: xi = the # of steel pipes cut in the ith pattern 9
Formulation 2: Variables on Cut PatternsMotivation Example for Column Generation • cut patterns 10
Formulation 2: Variables on Cut PatternsMotivation Example for Column Generation • formulation: • question: Is it necessary to include inefficient cut patterns in this formulation? • yes • is there any formulation that uses only efficient cut patterns? 11
Formulation 3: Variables on Efficient Cut PatternsMotivation Example for Column Generation • efficient cut patterns 12
Formulation 3: Variables on Efficient Cut PatternsMotivation Example for Column Generation • formulation 13
Formulation 3: Variables on Efficient Cut PatternsMotivation Example for Column Generation • challenges faced by the formulation • hard problem, an integer program • explosive number of variables for long pipes and multiple demands • solved by column generation • ignoring the integral constraints 14
Solving the Trim Loss Problem by Column Generation • min ixi, • s.t. iaijxibj, j = 1, 2, 3, • xi 0, i = 1, 2, 3. • = (cB)TB-1 be the vector of dual variables • reduced cost of xi = ci - Tai = 1- Tai • minimal reduced cost from max Tai 15
Solving the Trim Loss Problem by Column Generation • minimal reduced cost from solving the subproblem • max jjaj, • s.t. jljajL; • aj Z+{0}, i. • a knapsack problem, NP-hard, with pseudo-polynomial algorithm in L 16
Solving the Trim Loss Problem by Column Generation • master problem: the problem with the columns selected • providing • subproblem • suggesting a new cut pattern, or optimal 17
Solving the Trim Loss Problem by Column Generation • Generic Column Generation Algorithm for the trim loss problem: • 1 Select columns for the initial basis. • 2 Solve the master problem to get • 3 Solve the knapsack subproblem for new cut pattern; stop if optimal, else go to 2 with the new cut pattern added to the master problem 18
A Shortest-Path Subproblemin Solving Network-Based Problem by Column Generation • a time-constrained shortest-path problem • minimum cost path from node 1 to node 6 such that the total time 14 • label of arcs: (cij, tij) 20
A Time-Constrained Shortest-Path Problem • variables: xij = 1 if arc (i, j) is taken, else xij = 0 • formulation • constrained shortest-path problem, NP-hard problem 21
Path-Based Formulation of a Time-Constrained Shortest-Path Problem • P: set of all paths • parameters apij = • for path 1-2-4-6 to be the first path, a112 = 1, a124 = 1, a146 = 1, and other a1ij = 0. • possible to express xij in p, where p = the “probability” that path p is taken By itself there is no guarantee p = 1 so that fractional xij may be possible. 22
A Time-Constrained Shortest-Path Problem • set of all paths for the problem 23
A Time-Constrained Shortest-Path Problem • formulation 24
A Time-Constrained Shortest-Path Problem • relaxed version: master problem solved by column generation • 1 and 0be the dual variable of the first and the second constraints, respectively 25
A Time-Constrained Shortest-Path Problem • reduced cost of variable p 26
A Time-Constrained Shortest-Path Problem • subproblem: shortest-path problem s.t. xij {0, 1}, (i, j) A. 27
Solving the Time Constrained Shortest-Path Problem by Column Generation • Generic Column Generation Algorithm for the time constrained shortest-path problem: • 1 Start arbitrarily with a feasible path • 2 Solve the master problem to get • 3 Solve the shortest-path subproblem for new path; stop if optimal, else go to 2 with the new path added to the master problem 28