feasibility pump heuristics for column generation
play

Feasibility Pump Heuristics for Column Generation Approaches Ruslan - PowerPoint PPT Presentation

Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1 , 2 Francois Vanderbeck 1 , 2 1 University Bordeaux I 2 INRIA Bordeaux Sud-Ouest SEA 2012 Bordeaux, France, June 9, 2012 1 / 29 Outline Generic


  1. Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1 , 2 Francois Vanderbeck 1 , 2 1 University Bordeaux I 2 INRIA Bordeaux — Sud-Ouest SEA 2012 Bordeaux, France, June 9, 2012 1 / 29

  2. Outline Generic Primal Heuristics Generic Primal Heuristics for Branch-and-Price Column Generation based Feasibility Pump heuristic Numerical tests Conclusion 2 / 29

  3. Generic Primal Heuristics for MIPs “good” feasible solutions using the tools of exact optimization 3 / 29

  4. Generic Primal Heuristics for MIPs “good” feasible solutions using the tools of exact optimization ◮ Truncating an exact method ◮ Building from the relaxation used for the exact approach ◮ Defining a target based on the relaxation ◮ Using dual information to price choices in greedy heuristics ◮ Exact approach used to explore a neighborhood 4 / 29

  5. Generic Primal Heuristics for MIPs “good” feasible solutions using the tools of exact optimization ◮ Truncating an exact method ◮ Building from the relaxation used for the exact approach ◮ Defining a target based on the relaxation ◮ Using dual information to price choices in greedy heuristics ◮ Exact approach used to explore a neighborhood Examples: [Berthold’06] 1. Large Scale Neighborhood Search [Ahuja al’02] 2. Relaxation Induced Neighborhood Search [Dana al’05] 3. Local Branching [Fischetti al’03] 4. Feasibility Pump [Fischetti al’05] 5 / 29

  6. Generic LP based heuristics min { � j c j x j : � j a ij x j ≥ b i ∀ i , l j ≤ x j ≤ u j ∀ j } 6 / 29

  7. Generic LP based heuristics min { � j c j x j : � j a ij x j ≥ b i ∀ i , l j ≤ x j ≤ u j ∀ j } ◮ Rounding: Iteratively select a var x j and bound /fix it ◮ least fractional: argmin j { min { x j − ⌊ x j ⌋ , ⌈ x j ⌉ − x j }} ◮ guided search: argmin j {| x j − x inc |} j 7 / 29

  8. Generic LP based heuristics min { � j c j x j : � j a ij x j ≥ b i ∀ i , l j ≤ x j ≤ u j ∀ j } ◮ Rounding: Iteratively select a var x j and bound /fix it ◮ least fractional: argmin j { min { x j − ⌊ x j ⌋ , ⌈ x j ⌉ − x j }} ◮ guided search: argmin j {| x j − x inc |} j ◮ Diving: rounding + LP resolve + reiterate heuristic depth search in branch-and-bound tree branching rule � = that of exact branch-and-bound 8 / 29

  9. Generic LP based heuristics min { � j c j x j : � j a ij x j ≥ b i ∀ i , l j ≤ x j ≤ u j ∀ j } ◮ Rounding: Iteratively select a var x j and bound /fix it ◮ least fractional: argmin j { min { x j − ⌊ x j ⌋ , ⌈ x j ⌉ − x j }} ◮ guided search: argmin j {| x j − x inc |} j ◮ Diving: rounding + LP resolve + reiterate heuristic depth search in branch-and-bound tree branching rule � = that of exact branch-and-bound ◮ sub-MIPing: rounding/diving + MIP sol of the residual prob. 9 / 29

  10. Heuristic search in branch-and-bound tree Diving sub-MIPing 10 / 29

  11. Feasibility Pump heuristic x is obtained by rounding LP solution x LP to the Target solution ˜ closest integer solution. If ˜ x is not feasible, the problem is modified: ◮ 0 − 1 integer program � � � � : A x ≥ a , x ∈ [ 0 , 1 ] n � � min c x + ǫ x j + ( 1 − x j ) j : ˜ x j = 0 j : ˜ x j = 1 ◮ general integer program ( l j ≤ x j ≤ u j ) � � � � � � min c x + ǫ ( x j − l j ) + ( u j − x j ) + d j : A x ≥ a , j :˜ x j = l j j :˜ x j = u j j : l j < ˜ x j < u j x j ∀ j , x ∈ R n � d j − ˜ x j ≤ x j ≤ d j + ˜ 11 / 29

  12. The Branch-and-Price Approach c 2 x 2 c K x K c 1 x 1 min + + . . . + D x 1 D x 2 D x K + + . . . + ≥ d B x 1 ≥ b B x 2 ≥ b . ... . ≥ . B x K ≥ b x 1 ∈ N n , x 2 ∈ N n , x K ∈ N n . . . . 12 / 29

  13. The Branch-and-Price Approach c 2 x 2 c K x K c 1 x 1 min + + . . . + D x 1 D x 2 D x K + + . . . + ≥ d B x 1 ≥ b B x 2 ≥ b . ... . ≥ . B x K ≥ b x 1 ∈ N n , x 2 ∈ N n , x K ∈ N n . . . . Relax Dx ≥ d = ≻ decomposition: subproblem { B x ≥ b , x ∈ N n } and a reformulation solved by Branch-and-Price : g ∈ G cx g λ g min � g ∈ G Dx g λ g � Solve Master LP ≥ d Pricing Problem � g ∈ G λ g = K N | G | λ ∈ Solve Master LP Solve Master LP Pricing Problem Pricing Problem 13 / 29

  14. The Branch-and-Price Approach c 2 x 2 c K x K c 1 x 1 min + + . . . + D x 1 D x 2 D x K + + . . . + ≥ d B x 1 ≥ b B x 2 ≥ b . ... . ≥ . B x K ≥ b x 1 ∈ N n , x 2 ∈ N n , x K ∈ N n . . . . Relax Dx ≥ d = ≻ decomposition: subproblem { B x ≥ b , x ∈ N n } and a reformulation solved by Branch-and-Price : g ∈ G cx g λ g min � g ∈ G Dx g λ g � Solve Master LP ≥ d Pricing Problem � g ∈ G λ g = K N | G | λ ∈ x k = x g λ g � � y := Solve Master LP Solve Master LP Pricing Problem Pricing Problem k g ∈ G 14 / 29

  15. Difficulties in a B-a-P context for generic heuristics Heuristic paradigm in original space or the reformulation? 15 / 29

  16. Difficulties in a B-a-P context for generic heuristics Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions) ◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump) 16 / 29

  17. Difficulties in a B-a-P context for generic heuristics Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions) ◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump) On original variables: x (disaggregated decisions) ◮ Cannot grasp individual SP var. after aggregation in the common case of identical SPs ◮ Cannot modify the SP structure required by the oracle 17 / 29

  18. Difficulties in a B-a-P context for generic heuristics Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions) ◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump) On original variables: x (disaggregated decisions) ◮ Cannot grasp individual SP var. after aggregation in the common case of identical SPs ◮ Cannot modify the SP structure required by the oracle Differences ◮ Acting on master λ variables results in a more macroscopic decision . ◮ Faster progress to an integer solution, but you can quickly “paint yourself in a corner” 18 / 29

  19. Generic modifications of the master ◮ Setting a lower bound of a column: λ g ≥ l g ◮ Decreasing cost c g of a column λ g 19 / 29

  20. Generic modifications of the master ◮ Setting a lower bound of a column: λ g ≥ l g ◮ Decreasing cost c g of a column λ g In both cases, pricing oracle overestimates the reduced cost of column λ g already included in the master. 20 / 29

  21. Generic modifications of the master ◮ Setting a lower bound of a column: λ g ≥ l g ◮ Decreasing cost c g of a column λ g In both cases, pricing oracle overestimates the reduced cost of column λ g already included in the master. Preprocessing ◮ Lower bound setting is done by fixing a partial (“rounded-down”) solution ◮ After that, the residual master problem is defined by preprocessing: ◮ updating RHS of the master; ◮ updating bounds for subproblem variables. 21 / 29

  22. Pure Diving Heuristic Depth-First Search ◮ select least fractional col: λ s ← ⌈ ¯ λ s ⌋ ◮ update master and SP ◮ apply preprocessing 22 / 29

  23. Generic Feasibility Pump algorithm I ◮ Solution ˜ λ is defined by rounding the LP solution λ LP . ◮ If ˜ λ is feasible, stop. Otherwise, we use ˜ λ as a target point. ◮ We decrease the cost of rounded-up columns and increase the cost of rounded-down ones (but not beyond the original cost). 23 / 29

  24. Generic Feasibility Pump algorithm I ◮ Solution ˜ λ is defined by rounding the LP solution λ LP . ◮ If ˜ λ is feasible, stop. Otherwise, we use ˜ λ as a target point. ◮ We decrease the cost of rounded-up columns and increase the cost of rounded-down ones (but not beyond the original cost). Cost modification factor functions f 1 ( λ, α ) f 2 ( λ, α ) 0 . 1 0 . 1 1 1 1 λ λ α α − 0 . 1 − 0 . 1 λ ( 1 − λ � 0 . 1 if λ ≤ α � 0 . 1 α ) if λ ≤ α α f 1 ( λ, α ) = f 2 ( λ, α ) = ( 1 − λ ) ( λ − α ) − 0 . 1 − 0 . 1 if λ > α if λ > α ( 1 − α ) ( 1 − α ) 24 / 29

  25. Embedding Feasibility Pump in a Diving heuristic ◮ At iteration t , the modified master becomes � � c t � ( Ax g ) λ g ≥ a t ; � λ g = K t ; λ g ∈ N min g λ g : ∀ g ∈ G g ∈ G t g ∈ G t g ∈ G t ◮ Before defining target solution ˜ λ t , the “rounded-down” integer part of λ t LP is fixed and removed: λ t g ← λ t g − ⌊ λ t g ⌋ (this way the residual master is close to a 0 − 1 problem). ◮ Cycling can occur if no columns are rounded up in ˜ λ t . In this case, we decrease fractionality threshold parameter α (initially α ← 0 . 5). 25 / 29

  26. Cutting Stock Problem n = 50 , 100 d i ∈ [ 1 , 50 ] W = 10000 w i ∈ [ 500 , 2500 ] 50 instances for each n n function found opt gap time 50 Pure Div. 50/50 43/50 0.07 1.17 f 1 50 50/50 45/50 0.05 6.14 f 2 50 50/50 41/50 0.09 4.82 100 Pure Div. 50/50 35/50 0.08 4.08 f 1 100 50/50 43/50 0.04 23.93 f 2 100 50/50 40/50 0.05 17.98 26 / 29

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