column generation method
play

Column Generation Method Frdric Giroire FG Simplex 1/38 Column - PowerPoint PPT Presentation

Column Generation Method Frdric Giroire FG Simplex 1/38 Column Generation in Two Words A framework to solve large problems. Main idea: not considering explicitly the whole set of variables. decompose the problem into a


  1. Column Generation Method Frédéric Giroire FG Simplex 1/38

  2. Column Generation in Two Words • A framework to solve large problems. • Main idea: • not considering explicitly the whole set of variables. • decompose the problem into a master and a subproblem (or pricing problem), use the pricing problem to generate a "good" column = variable. → allows to solve in practice hard problems with an exponential number of variables. FG Simplex 2/38

  3. Column Generation - History • Ford and Fulkerson (1958): A first suggestion to deal implicitly with the variables of a multicommodity flow problem. • Dantzig and Wolfe (1961): Develop a strategy to extend a linear program columnwise • Gilmore and Gomory (1961, 1963): First implementation as part of an efficient heuristic algorithm for solving the cutting stock problem • Desrosiers, Soumis and Desrochers (1984): Embedding of column generation within a LP based B&B framework for solving a vehicle routing problem FG Simplex 3/38

  4. Column Generation (CG) • A set of columns, a ∈ A ⊂ R m , c a ∈ R , b ∈ R m • Large-scale primal and dual problems: � max c a x a min π b a ∈A π a ≥ c a a ∈ A (P) (D) � a x a ≤ b π ≥ 0 a ∈A x a ≥ 0 a ∈ A • A too large: impossible (or impractical) to solve at once • Column Generation: select A ′ ⊆ A , solve Restricted Master Problems (RMP) � max c a x a min π b a ∈ A ′ a ∈A ′ π a ≥ c a � a x a ≤ b π ≥ 0 (P A ′ ) (D A ′ ) a ∈A ′ a ∈ A ′ x a ≥ 0 FG Simplex 4/38

  5. Column Generation (CG) • A set of columns, a ∈ A ⊂ R m , c a ∈ R , b ∈ R m • Large-scale primal and dual problems: � max c a x a min π b a ∈A π a ≥ c a a ∈ A (P) (D) � a x a ≤ b π ≥ 0 a ∈A x a ≥ 0 a ∈ A • A too large: impossible (or impractical) to solve at once • Column Generation: select A ′ ⊆ A , solve Restricted Master Problems (RMP) � max c a x a min π b a ∈ A ′ a ∈A ′ π a ≥ c a � a x a ≤ b π ≥ 0 (P A ′ ) (D A ′ ) a ∈A ′ a ∈ A ′ x a ≥ 0 FG Simplex 4/38

  6. Column Generation (CG) • A set of columns, a ∈ A ⊂ R m , c a ∈ R , b ∈ R m • Large-scale primal and dual problems: � max c a x a min π b a ∈A π a ≥ c a a ∈ A � a x a ≤ b π ≥ 0 (P) (D) a ∈A x a ≥ 0 a ∈ A • A too large: impossible (or impractical) to solve at once • Column Generation: select A ′ ⊆ A , solve Restricted Master Problems (RMP) � max c a x a min π b a ∈ A ′ a ∈A ′ π a ≤ c a � a x a ≤ b π ≥ 0 (P A ′ ) (D A ′ ) a ∈A ′ a ∈ A ′ x a ≥ 0 • primal feasible x ⋆ and dual infeasible π ⋆ FG Simplex 5/38

  7. Column Generation (2) • Then solve pricing (or separation) problem ( P π ⋆ ) max { c a − π ⋆ a : a ∈ A} for some a ∈ A \ A ′ or optimality certificate π ⋆ a ≥ c a ∀ a ∈ A FG Simplex 6/38

  8. Column Generation (2) • Then solve pricing (or separation) problem ( P π ⋆ ) max { c a − π ⋆ a : a ∈ A} for some a ∈ A \ A ′ or optimality certificate π ⋆ a ≥ c a ∀ a ∈ A • Very simple idea, very simple implementation (in principle) ... yet surprisingly effective in many applications ... provided that (P) can be efficiently solved FG Simplex 7/38

  9. Column Generation Flowchart #1 (Minimization) FG Simplex 8/38

  10. Column Generation Flowchart #2 (Minimization) FG Simplex 9/38

  11. How to Get an Integer Solution (Minimization) • What we are looking for: z ⋆ ILP • CG � z ⋆ LP , a lower bound on z ⋆ ILP • Solve the last RMP as an ILP � ˜ z ILP � = z ⋆ ILP Lower bound Upper bound z ⋆ z ⋆ ˜ z ILP LP ILP | | | Optimal Optimal Heuristic LP ILP ILP solution solution solution FG Simplex 10/38

  12. Branch-and-Price Methods Solve ¡Restricted ¡Master ¡ Problem ¡(RMP) ¡ Solve ¡Pricing ¡ ¡ Problem ¡(PP) ¡ Solve ¡Restricted ¡Master ¡ Solve ¡Restricted ¡Master ¡ Problem ¡(RMP) ¡ Problem ¡(RMP) ¡ Solve ¡Pricing ¡ ¡ Solve ¡Pricing ¡ ¡ Problem ¡(PP) ¡ Problem ¡(PP) ¡ FG Simplex 11/38

  13. Branch-and-Price Methods (2) • On the variables of the Master Problem • Select x a , and create two branches: x a = 0 and x a = 1 • Continue with the other variables... • Can be improved by using cuts • Different branching schemes... FG Simplex 12/38

  14. Example 1: Cutting-Stock Problem FG Simplex 13/38

  15. The cutting stock problem • A paper company with a supply of large rolls of paper, of width W • Customer demand is for smaller widths of paper � b i rolls of width w i ≤ W , i = 1 , 2 , ...... m need to be produced. • Smaller rolls are obtained by slicing large rolls • Example: a large roll of width 70 can be cut into 3 rolls of width w 1 = 17 and 1 roll of width w 2 = 15 , with a waste of 4. minimize the waste ! FG Simplex 14/38

  16. An Example The width of large rolls: 5600mm. The width and demand of customers: Width 1380 1520 1560 1710 1820 1880 1930 2000 2050 2100 2140 2150 2200 Demand 22 25 12 14 18 18 20 10 12 14 16 18 20 An optimal solution: FG Simplex 15/38

  17. Kantorovich Model Variables: y k = 1 if roll k is used, 0 otherwise x ik = # of times item i of width w i , is cut in roll k [ex: write LP] FG Simplex 16/38

  18. Drawbacks of the Kantorovich Model � However, the IP formulation ( P 1 ) is inefficient both from computational and theoretical point views. � The main reason is that the linear program (LP) relaxation of ( P 1 ) is poor. Actually, the LP bound of ( P 1 ) is m m m w i x k x k w i b i � � � � � � i i z ⋆ LP = y k = = W = (1) w i W W i = 1 i = 1 i = 1 k ∈K k ∈K k ∈K � Question: Is there an alternative? FG Simplex 17/38

  19. Formulation of Gilmore and Gomory � Let λ p = number of times pattern p is used a p i = number of times item i is cut in pattern p � For example, the fixed width of large rolls is W = 100 and the demands are b i = 100 , 200 , 300 , w i = 25 , 35 , 45 ( i = 1 , 2 , 3 ) . � The large roll can be cut into Pattern 1: 4 rolls each of width w 1 = 25 � a 1 1 = 4 Pattern 2: 1 roll with width w 1 = 25 and 2 rolls each of width w 2 = 35 � a 2 1 = 1 , a 2 2 = 2 Pattern 3: 2 rolls with width w 3 = 45 � a 3 3 = 2 . FG Simplex 18/38

  20. Gilmore - Gomory Model & Master Problem Cutting pattern p : described by the vector ( a p 1 , a p m ) , where a p 2 , ...., a p i represents the number of rolls of width w i obtained in cutting pattern p . Variables: λ p = # rolls to be cut according to cutting pattern p . [ex: write LP] FG Simplex 19/38

  21. Gilmore - Gomory Model & Master Problem Cutting pattern p : described by the vector ( a p 1 , a p m ) , where a p 2 , ...., a p i represents the number of rolls of width w i obtained in cutting pattern p . Variables: λ p = # rolls to be cut according to cutting pattern p . [ex: write LP] � Each column represents a cutting pattern. � How many columns (cutting patterns) are there? It could be as m ! many as k !( m − k )! where k is the average number of items in each cutting patterns. Exponentially large!. FG Simplex 20/38

  22. Cutting Pattern & Pricing Problem • p th pattern, can be represented by a column vector a p whose i th entry indicates how many rolls of width w i are produced by that pattern. • Pattern discussed earlier can be represented by the vector: ( 3 , 1 , 0 , ..., 0 ) • For a vector ( a p 1 ; a p 2 , ..., a p m ) to be a representation of a feasible pattern, its components must be nonnegative integers, and we must also have: m � w i a p i ≤ W . i = 1 FG Simplex 21/38

  23. Initial Solution First step, set up column generation iteration starting point. Actually, the initial basis matrix can be constructed in a trivial way. For example, let W = 10 and the customer demand: small roll widths w 1 = 3 and w 2 = 2 . The following two choices are both valid: • Choice 1: � � � � 1 0 a p 1 = a p 2 = ; 0 1 • Choice 2: � 3 � � 0 � a p 1 = a p 2 = ; 0 5 FG Simplex 22/38

  24. Definition of the Restricted Master Problem P ′ ⊆ P a small subset of cutting patterns � min λ p p ∈ P ′ � a p s.t. i λ p ≥ 0 i = 1 , 2 , ... m p ∈ P ′ p ∈ P ′ λ p ≥ 0 Note: • m types of small roll customers requested • | P ′ | number of patterns generated so far • column generation � tool for solving the linear programming relaxation. FG Simplex 23/38

  25. How to Iterate? Suppose that we have a basis matrix B for the restricted master problem and an associated basic feasible solution, and that we wish to carry out the next iteration for the column generation. Because the coefficient of every variable λ p is 1, every component of the vector c B is equal to 1. Next, instead of computing the reduced cost c B = 1 − c B B − 1 a p associated with every column a p , we consider the problem of minimizing ( c B = 1 − c B B − 1 a p ) over all p . This is the same as maximizing c B B − 1 a p over all p . • If the maximum is ≤ 1 , all reduced costs are nonnegative and we have an optimal solution. • If the maximum is > 1 , column a p corresponding to a maximizing p has negative reduced cost and enters the basis. FG Simplex 24/38

  26. Pricing Problem Recall that u = c B B − 1 m � max u i a i i = 1 s.t. [ex: write constraint] a i ≥ 0 i = 1 , 2 , ....., m a i ∈ Z + i = 1 , 2 , ....., m . FG Simplex 25/38

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend