Method of Column Generation Used in IP Jan Pelikán, Jan Fábry ___________________________________________________________________________ MME 2004, Brno
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Integer Programming Models Discrete variables: NP-hard problems Non-polynomial method (exponential number of branches) Estimation of the optimal objective value Standard Branch and Bound Method
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Modifications of Branch and Bound Method Branch and Cut Algorithm (Row Generation) Branch and Price Algorithm (Column Generation)
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Branch and Cut Example – Traveling Salesperson Problem Solution w/o Restriction of Partial Cycles
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Example – Traveling Salesperson Problem Constraint Generation Branch and Cut
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Reduction of Constraints ! Branch and Cut
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Reduction of Variables ! Branch and Price
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Extreme Points of G Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Master Problem Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Master Problem Reduced Problem Reduction of Columns Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Reduced Problem Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Optimality Optimal SOL of Reduced Problem Optimal SOL of Master Problem (and original problem) ? Optimality Test on Columns in {1,2,…,r}-L (Columns from MP, missed in RP) Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Optimality Optimality Test on Columns in {1,2,…,r}-L (Columns from MP, missed in RP) non-optimal SOL Opt. SOL of dual to RP Dantzig-Wolfe Decomposition
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Sub-problem Optimal SOL of RP is Optimal SOL of MP New Column Generation Column Generation
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno L = initial set of columns Solve Reduced Problem with L Solve Sub-Problem with New Column Generation: Optimum Algorithm of Column Generation
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Example – Cutting Stock Problem Rolls 28 cm26 cm21 cm18 cm15 cm Demand Stock of rolls: standard width 100 cm Standard IP model: 67 possible patterns
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Standard IP Model PatternP1P1 P2P2 …PnPn Demand w1w1 a 11 a 12 …a1na1n d1d1 w2w2 a 21 a 22 a2na2n d2d2 ……………… wmwm am1am1 am2am2 …a mn dmdm
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno PatternP1P1 P2P2 …PmPm Demand w1w1 a 11 0…0d1d1 w2w2 0a 22 0d2d2 ……………… wmwm 00…a mm dmdm Column Generation Initial patterns Reduced Problem
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Column Generation Sub-Problem – Integer Knapsack Problem Pattern New Pattern Generation y i = number of the rolls of width w i in the generated pattern.
___________________________________________________________________________ Method of Column Generation Used in Integer Programming MME 2004, Brno Cutting Stock Problem Results PatternP1P1 P2P2 P3P3 P4P4 P5P5 P6P6 P7P7 P8P8 P9P9 P10P10 P 11 P12P12 28 cm cm cm cm cm Use Initial PatternsGenrated Patterns 131