a computational study of gomory cut generators
play

A computational study of Gomory cut generators ejols 1 , Fran cois - PowerPoint PPT Presentation

A computational study of Gomory cut generators ejols 1 , Fran cois Margot 1 , Giacomo Nannicini 2 Gerard Cornu 1. CMU Tepper School of Business, Pittsburgh, PA. 2. Singapore University of Technology and Design, Singapore, and MIT Sloan


  1. A computational study of Gomory cut generators ejols 1 , Fran¸ cois Margot 1 , Giacomo Nannicini 2 Gerard Cornu´ 1. CMU Tepper School of Business, Pittsburgh, PA. 2. Singapore University of Technology and Design, Singapore, and MIT Sloan School of Management, Cambridge, MA. January 12, 2012 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 1 / 36

  2. Summary of Talk Motivation 1 Cut generation parameters 2 Failures and Feasibility 3 Dive-and-Cut 4 Computational framework 5 Optimizing GMI cut generators 6 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 2 / 36

  3. Motivation 1 Cut generation parameters 2 Failures and Feasibility 3 Dive-and-Cut 4 Computational framework 5 Optimizing GMI cut generators 6 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 3 / 36

  4. The problem We consider the following problem: c ⊤ x min    Ax ≥ b  (MILP) R n x ∈ +   ∀ j ∈ N I x j ∈ Z ,  where c ∈ Q n , b ∈ Q m , A ∈ Q m × n and N I ⊂ { 1 , . . . , n } We denote by (LP) the Linear Programming relaxation of (MILP) G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 4 / 36

  5. Introduction General-purpose solvers for (MILP) rely on Branch-and-Cut Gomory Mixed-Integer (GMI) [Gomory, 1960] cuts are one of the most important cutting plane families [Balas et al., 1996, Bixby and Rothberg, 2007] used by state-of-the-art software Surprisingly, there is no rigorous study of GMI cut generation in the literature G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 5 / 36

  6. Motivation 1 Cut generation parameters 2 Failures and Feasibility 3 Dive-and-Cut 4 Computational framework 5 Optimizing GMI cut generators 6 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 6 / 36

  7. The GMI formula G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 7 / 36

  8. GMI cuts for dummies Cut generation loop: Solve LP relaxation 1 For each basic integer variable that has a fractional value, generate a 2 GMI cut Add round of cuts to the LP relaxation 3 Repeat 4 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 8 / 36

  9. GMI cuts for dummies Cut generation loop: Solve LP relaxation 1 For each basic integer variable that has a fractional value, generate a 2 GMI cut Add round of cuts to the LP relaxation 3 Repeat 4 That’s it! G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 8 / 36

  10. GMI cuts for dummies Cut generation loop: Solve LP relaxation 1 For each basic integer variable that has a fractional value, generate a 2 GMI cut Add round of cuts to the LP relaxation 3 Repeat 4 That’s it! . . . is it? G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 8 / 36

  11. How I wish things were that simple This scheme is not a good idea Because of floating point (finite precision) arithmetic, not all rational numbers can be represented exactly: round-off error ◮ For q ∈ Q , let R ( q ) be its representation as a 64-bit floating point number ◮ We can have q 1 + q 2 = q 3 but R ( q 1 ) + R ( q 2 ) � = R ( q 3 ) ! Operations on numbers can inflate errors In rational arithmetic, computations can be checked exactly [Espinoza, 2006, Cook et al., 2011] Typically, we use floating point because of its rapidity G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 9 / 36

  12. GMI cuts in practice Several operations are performed on generated cutting planes to reduce occurrence of numerical problems A number of empirical rules are applied in open-source codes (COIN-OR Cgl, SCIP) ◮ Cut modification ◮ Cut rejection G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 10 / 36

  13. GMI cuts in practice Several operations are performed on generated cutting planes to reduce occurrence of numerical problems A number of empirical rules are applied in open-source codes (COIN-OR Cgl, SCIP) ◮ Cut modification ◮ Cut rejection Analysis applies to all tableau cut generators G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 10 / 36

  14. Cut modification and rejection routines Cut modification (and its parameters) ◮ Coefficient Removal ( EPS ELIM for surplus variables, EPS COEFF for original variables) ◮ Rhs Relaxation ( EPS RELAX ABS , EPS RELAX REL ) Cut rejection (and its parameters) ◮ Fractionality Check ( AWAY ) ◮ Dynamism Check ( MAX DYN ) ◮ Support Check ( MAX SUPP ABS , MAX SUPP REL ) ◮ Violation Check ( MIN VIOL ) Scaling – ignored here Some cut generators distinguish variables with large bounds ( ≥ LUB ) and treat them separately (e.g. EPS COEFF LUB , MAX DYN LUB ) G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 11 / 36

  15. Cut generation parameters 12 parameters involved in the generation of each cutting plane Their value is chosen after tests on a small number of instances Are all the parameters necessary? What value should they take? To answer these questions, we need a framework for testing cut generators G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 12 / 36

  16. Strength vs Safety Properties of a good cut generator: G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  17. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  18. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  19. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength ◮ Does not cut off feasible solutions or lead to numerical failures of LP solver G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  20. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength ◮ Does not cut off feasible solutions or lead to numerical failures of LP solver ← Safety G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  21. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength ◮ Does not cut off feasible solutions or lead to numerical failures of LP solver ← Safety Safety must be tested before strength G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  22. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength ◮ Does not cut off feasible solutions or lead to numerical failures of LP solver ← Safety Safety must be tested before strength Goal: develop a framework for testing safety of cut generators in a Branch-and-Cut setting, so that strength of generators with similar safety can be compared Related work: [Margot, 2009] G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  23. Strength vs Safety Properties of a good cut generator: ◮ Decreases solution time with Branch-and-Cut ← Strength ◮ Does not cut off feasible solutions or lead to numerical failures of LP solver ← Safety Safety must be tested before strength Goal: develop a framework for testing safety of cut generators in a Branch-and-Cut setting, so that strength of generators with similar safety can be compared Related work: [Margot, 2009] Define “safe” and “unsafe” G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 13 / 36

  24. Motivation 1 Cut generation parameters 2 Failures and Feasibility 3 Dive-and-Cut 4 Computational framework 5 Optimizing GMI cut generators 6 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 14 / 36

  25. Failures Assume that we employ a cut generator in the typical cut generation loop A failure of a given cut generator on (MILP) is the occurrence of one of the following events: A cutting plane that cuts off a known integral feasible solution to 1 (MILP) is generated (LP) becomes infeasible after the addition of cutting planes, but an 2 integral feasible solution for the original problem is known A time limit for cut generation and (LP) resolve is hit 3 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 15 / 36

  26. Feasibility In floating point arithmetic, we have to accept slight violations of the constraints Notation: ◮ Rows of A : a i , i = 1 , . . . , m ◮ For k > 0 , [ k ] is the set { 1 , . . . , k } A point x ∗ is ( ǫ abs , ǫ rel , ǫ int )-feasible for (MILP) if: ∀ i ∈ N I , x ∗ i − ⌊ x ∗ i ⌉ ≤ ǫ int 1 min i ∈ [ m ] { a i x ∗ − b i } ≥ − ǫ abs 2 min i ∈ [ m ] { ( a i x ∗ − b i ) / � a i � 2 } ≥ − ǫ rel 3 ∃ x ′ : Ax ′ ≥ b, x ′ ≥ 0 , � x ∗ − x ′ � ≤ ǫ rel 4 G. Nannicini (SUTD/MIT) Study of Gomory cut generators January 12, 2012 16 / 36

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