Basic Concepts of Constraint Integer Programming

Size: px
Start display at page:

Download "Basic Concepts of Constraint Integer Programming"

Transcription

1 Basic Concepts of Constraint Integer Programming Ambros Gleixner Zuse Institute Berlin September 30, 2015

2 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated method SCIP: Solving Constraint Integer Programs The Solving Process of SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 1 / 39

3 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated method SCIP: Solving Constraint Integer Programs The Solving Process of SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 2 / 39

4 Mixed-Integer Linear Programming: MIP Problem class min s.t. c T x Ax b (x I, x C ) Z I R C continuous and integer variables linear objective function linear constraints Ambros Gleixner Basic Concepts of Constraint Integer Programming 3 / 39

5 Mixed-Integer Linear Programming: MIP Problem class min s.t. c T x Ax b (x I, x C ) Z I R C continuous and integer variables linear objective function linear constraints x2 3 x 2 F 1 conv(f IP ) min{c T x : x conv(f IP )} x1 Methods LP relaxation cutting planes branch-and-bound x IP More details: Tobias Achterberg and Bob Bixby, Oct. 5 Ambros Gleixner Basic Concepts of Constraint Integer Programming 3 / 39

6 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

7 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Methods unit propagation x 1 x 3 x 1 x 2 x 4 x 3 Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

8 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Methods unit propagation x 1 x 3 x 1 x 2 x 4 x 3 x 1 x 1 x 2 x 4 x 3 Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

9 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Methods unit propagation x 1 x 3 x 1 x 2 x 4 x 3 x 1 x 1 x 2 x 4 x 3 x 1 x 3 Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

10 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Methods unit propagation tree search clause learning x 1 x 3 x 1 x 2 x 4 x 3 x 1 x 1 x 2 x 4 x 3 x 1 x 3 Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

11 Satisability Solving: SAT Problem class x {0, 1} n s.t. x i x i for k = 1,..., m, i Y k i N k Y k, N k {1,..., n} binary variables and their negation (linear) clauses feasible assignment? Methods unit propagation tree search clause learning restarts x 1 x 3 x 1 x 2 x 4 x 3 x 1 x 1 x 2 x 4 x 3 x 1 x 3 Ambros Gleixner Basic Concepts of Constraint Integer Programming 4 / 39

12 Constraint Programming: CP Problem class min c(x) s.t. x F k for k = 1,..., m (x I, x N ) Z I X x 1 x 2 x 3 alldi (x) arbitrary variable domains (usually nite: FD) arbitrary constraints arbitrary objective function x 4 Ambros Gleixner Basic Concepts of Constraint Integer Programming 5 / 39

13 Constraint Programming: CP Problem class min c(x) s.t. x F k for k = 1,..., m (x I, x N ) Z I X x 1 x 2 x 3 alldi (x) x 1 x 2 x 3 arbitrary variable domains (usually nite: FD) arbitrary constraints arbitrary objective function x 4 x 4 Methods constraint propagation Ambros Gleixner Basic Concepts of Constraint Integer Programming 5 / 39

14 Constraint Programming: CP Problem class min c(x) s.t. x F k for k = 1,..., m (x I, x N ) Z I X x 1 x 2 x 3 alldi (x) x 1 x 2 x 3 arbitrary variable domains (usually nite: FD) arbitrary constraints arbitrary objective function x 4 x 4 Methods constraint propagation tree search conict analysis/no-good learning Ambros Gleixner Basic Concepts of Constraint Integer Programming 5 / 39

15 Mixed-Integer Nonlinear Programming: MINLP Problem class min s.t. f (x) g(x) b (x I, x C ) Z I R C continuous and integer variables nonlinear objective function nonlinear constraint functions 5 g x g c 10 x 15 More details: Ralf Lenz, Jesco Humpola, Pierre Bonami, Oct. 1 & 8 Ambros Gleixner Basic Concepts of Constraint Integer Programming 6 / 39

16 Mixed-Integer Nonlinear Programming: MINLP Problem class min s.t. f (x) g(x) b (x I, x C ) Z I R C continuous and integer variables nonlinear objective function nonlinear constraint functions 5 g x g c 10 x 15 Methods outer approximation convex relaxation bound tightening More details: Ralf Lenz, Jesco Humpola, Pierre Bonami, Oct. 1 & 8 Ambros Gleixner Basic Concepts of Constraint Integer Programming 6 / 39

17 Mixed-Integer Nonlinear Programming: MINLP Problem class min s.t. f (x) g(x) b (x I, x C ) Z I R C continuous and integer variables nonlinear objective function nonlinear constraint functions 5 g x g c 10 x 15 5 Methods outer approximation convex relaxation bound tightening spatial branch-and-bound More details: Ralf Lenz, Jesco Humpola, Pierre Bonami, Oct. 1 & 8 Ambros Gleixner Basic Concepts of Constraint Integer Programming 6 / 39

18 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated method SCIP: Solving Constraint Integer Programs The Solving Process of SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 7 / 39

19 Integrating CP, MIP, SAT, and MINLP Search: in MIP in SAT in CP in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

20 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation in SAT in CP in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

21 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT in CP in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

22 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning in CP in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

23 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

24 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

25 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation + conict analysis in MINLP Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

26 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation + conict analysis in MINLP + outer approximation Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

27 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation + conict analysis in MINLP + outer approximation + bound tightening Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

28 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation + conict analysis in MINLP + outer approximation + bound tightening + spatial branching Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

29 Integrating CP, MIP, SAT, and MINLP Search: in MIP + LP relaxation + cutting planes in SAT + clause learning + restarts in CP + propagation + conict analysis in MINLP + outer approximation + bound tightening + spatial branching } High-level and low-level integration interaction of dierent algorithms combination of algorithmic techniques e.g., Althaus, Bockmayr, Elf, Jünger, Kasper, Mehlhorn 2002; Hooker 2007; Achterberg 2007; Berthold, Heinz, Vigerske 2010; Vigerske 2013;... Ambros Gleixner Basic Concepts of Constraint Integer Programming 8 / 39

30 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

31 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP MIP SAT Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

32 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP CP MIP SAT Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

33 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP CP MIP SAT FD Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

34 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP CP MIP MINLP SAT FD Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

35 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP Problem class continuous and integer variables linear objective function arbitrary constraints condition: after xing all integers, CIP can be solved as an LP or NLP MIP SAT CP CIP MINLP FD Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

36 Constraint Integer Programming: CIP Low-level integration of solving techniques into one algorithm CP+SAT+MIP [Achterberg 2007, 2009] +MINLP [Berthold, Heinz, Vigerske 2010; Vigerske 2013] implemented in the solver SCIP Problem class continuous and integer variables linear objective function arbitrary constraints condition: after xing all integers, CIP can be solved as an LP or NLP MIP SAT CP CIP MINLP PBO FD Ambros Gleixner Basic Concepts of Constraint Integer Programming 9 / 39

37 Example: Pseudoboolean Optimization The AND constraint y = i J x i y {0, 1}: resultant x i {0, 1}: operand variables Ambros Gleixner Basic Concepts of Constraint Integer Programming 10 / 39

38 Example: Pseudoboolean Optimization The AND constraint y = i J x i y {0, 1}: resultant x i {0, 1}: operand variables Propagation rules i : x i = 0 y = 0 Ambros Gleixner Basic Concepts of Constraint Integer Programming 10 / 39

39 Example: Pseudoboolean Optimization The AND constraint y = i J x i y {0, 1}: resultant x i {0, 1}: operand variables Propagation rules i : x i = 0 y = 0 x i = 1 i J y = 1 Ambros Gleixner Basic Concepts of Constraint Integer Programming 10 / 39

40 Example: Pseudoboolean Optimization The AND constraint y = i J x i y {0, 1}: resultant x i {0, 1}: operand variables Propagation rules i : x i = 0 y = 0 x i = 1 i J y = 1 y = 1 x i = 1 i J Ambros Gleixner Basic Concepts of Constraint Integer Programming 10 / 39

41 Example: Pseudoboolean Optimization The AND constraint y = i J x i y {0, 1}: resultant x i {0, 1}: operand variables Propagation rules i : x i = 0 y = 0 x i = 1 i J y = 1 y = 1 x i = 1 i J y = 0 k : x i = 1 i J \ {k} x k = 0 Ambros Gleixner Basic Concepts of Constraint Integer Programming 10 / 39

42 Linearization of y = x 1 x n n x i y n 1 i=1 n x i n y 0 i=1 n x i y n 1 i=1 x i y 0 for i = 1,..., n 2 constraints contains fractional vertices n + 1 constraints only integer vertices Ambros Gleixner Basic Concepts of Constraint Integer Programming 11 / 39

43 Algorithms Only propagation good: fast subproblem processing bad: LP relaxation has no knowledge about the nonlinear structure Ambros Gleixner Basic Concepts of Constraint Integer Programming 12 / 39

44 Algorithms Only propagation good: fast subproblem processing bad: LP relaxation has no knowledge about the nonlinear structure Only relaxation put the complete linearization into the LP good: LP relaxation contains complete problem bad: can blow up the LP Ambros Gleixner Basic Concepts of Constraint Integer Programming 12 / 39

45 Algorithms Only propagation good: fast subproblem processing bad: LP relaxation has no knowledge about the nonlinear structure Only relaxation put the complete linearization into the LP good: LP relaxation contains complete problem bad: can blow up the LP Only separation generate the linearization as they are needed good: the LP only is fed with the import constraint (cuts) bad: LP relaxation has partial knowledge about the nonlinearities Ambros Gleixner Basic Concepts of Constraint Integer Programming 12 / 39

46 Algorithms Only propagation good: fast subproblem processing bad: LP relaxation has no knowledge about the nonlinear structure Only relaxation put the complete linearization into the LP good: LP relaxation contains complete problem bad: can blow up the LP Only separation generate the linearization as they are needed good: the LP only is fed with the import constraint (cuts) bad: LP relaxation has partial knowledge about the nonlinearities SCIP can implement all strategies default: propagation + weak linearization + separation Ambros Gleixner Basic Concepts of Constraint Integer Programming 12 / 39

47 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated method SCIP: Solving Constraint Integer Programs The Solving Process of SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 13 / 39

48 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader and Constraint Handler logicor opb zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

49 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader and Constraint Handler logicor opb zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

50 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader and Constraint Handler logicor opb zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

51 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader and Constraint Handler logicor opb zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

52 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader and Constraint Handler logicor opb zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

53 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader Constraint Handler logicor opb and zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design supports column generation and branch-cut-and-price SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

54 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader Constraint Handler logicor opb and zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design supports column generation and branch-cut-and-price is free for academic research SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

55 estimate implics dualfix dfs bound shift hybrid estim intto binary restart dfs bfs spx qso xprs none probing Presolver Node selector default msk trivial default LP cpx Display Dialog clp Impli cations sos1 setppc fix cnf soc cip sos2 lp Tree Cutpool var bound quadr atic orbi tope ccg mps xor or Reader Constraint Handler logicor opb and zpl linking ppm sos Pricer Conflict rlp bound disjunc. count sols knap sack linear sol indi cator cumu lative integral flow cover cmir clique Propa gator Event Variable relps cost gomory Relax random implied bounds Separator zero half pseudo obj root redcost default Branch allfull strong pscost intobj strong cg vbound actcons mcf redcost zi round full strong mostinf odd cycle rapid learn cross over under cover infer ence leastinf coef feaspump veclen dins twoopt trysol frac fixand infer trivial simple rounding guided Primal Heuristic shift& prop int int shifting rounding shifting linesearch local branching rins rootsol subnlp mutation octane pscost rens objpscost oneopt Why use SCIP? SCIP: Solving Constraint Integer Programs... provides a full-scale MIP and MINLP solver can solve general CIPs: constraint-based design can be extended: plugin-based design supports column generation and branch-cut-and-price is free for academic research is open: available in source code SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 14 / 39

56 Plugin-based design SCIP core branching tree variables conict analysis solution pool cut pool statistics clique table implication graph... Ambros Gleixner Basic Concepts of Constraint Integer Programming 15 / 39

57 Plugin-based design SCIP core branching tree variables conict analysis solution pool cut pool statistics clique table implication graph... Plugins external callback objects interact with the framework through a very detailed interface Ambros Gleixner Basic Concepts of Constraint Integer Programming 15 / 39

58 Plugin-based design SCIP core branching tree variables conict analysis solution pool cut pool statistics clique table implication graph... Plugins external callback objects interact with the framework through a very detailed interface SCIP knows for each plugin type: the number of available plugins priority dening the calling order (usually) SCIP does not know any structure behind a plugin plugins are black boxes for the SCIP core Ambros Gleixner Basic Concepts of Constraint Integer Programming 15 / 39

59 Plugin-based design SCIP core branching tree variables conict analysis solution pool cut pool statistics clique table implication graph... Plugins external callback objects interact with the framework through a very detailed interface SCIP knows for each plugin type: the number of available plugins priority dening the calling order (usually) SCIP does not know any structure behind a plugin plugins are black boxes for the SCIP core Very exible branch-and-bound based search algorithm Ambros Gleixner Basic Concepts of Constraint Integer Programming 15 / 39

60 Types of Plugins Constraint handler: assures feasibility, strengthens formulation Separator: adds cuts, improves dual bound Pricer: allows dynamic generation of variables Heuristic: searches solutions, improves primal bound Branching rule: how to divide the problem? Node selection: which subproblem should be regarded next? Presolver: simplies the problem in advance, strengthens structure Propagator: simplies problem, improves dual bound locally Reader: reads problems from dierent formats Event handler: catches events (e.g., bound changes, new solutions) Display: allows modication of output... Ambros Gleixner Basic Concepts of Constraint Integer Programming 16 / 39

61 A closer look: branching rules lp mps opb ppm implied bounds gomory intobj fix rlp flow cover mcf cnf Reader sol cmir Separator odd cycle probing intto binary trivial implics cip ccg zpl sos clique zero half rapid learn redcost strong cg dualfix bound shift Presolver Impli cations Tree Pricer Propa gator pseudo obj root redcost vbound frac int linesearch feaspump guided fixand int infer shifting cross local mutation over dins branching restart dfs hybrid estim Node estimate selector SCIP Relax actcons coef Primal Heuristic subnlp objpscost octane dfs Display Variable zi round veclen pscost oneopt bfs default Dialog Event under cover twoopt rins rens default Cutpool Conflict default trysol trivial rounding shift& prop rootsol simple shifting rounding xprs var bound xor and bound disjunc. allfull strong full strong spx LP sos1 sos2 count sols cumu lative Branch infer ence qso soc Constraint Handler indi cator leastinf none msk cpx clp setppc quadr atic knap sack integral relps cost mostinf random pscost orbi tope or linking linear logicor Ambros Gleixner Basic Concepts of Constraint Integer Programming 17 / 39

62 t default A closer look: branching rules trysol simple rounding shif nd unc. allfull strong full strong nt ls cumu lative Branch infer ence indi cator leastinf ap ck integral relps cost random pscost mostinf ar Ambros Gleixner Basic Concepts of Constraint Integer Programming 17 / 39

63 What does SCIP know about branching rules? SCIP knows the number of available branching rules each branching rule has a priority SCIP calls the branching rule in decreasing order of priority the interface denes the possible results of a call: branched reduced domains added constraints detected cuto did not run Ambros Gleixner Basic Concepts of Constraint Integer Programming 18 / 39

64 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated method SCIP: Solving Constraint Integer Programs The Solving Process of SCIP Ambros Gleixner Basic Concepts of Constraint Integer Programming 19 / 39

65 Operational Stages Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve Ambros Gleixner Basic Concepts of Constraint Integer Programming 20 / 39

66 Operational Stages Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve Basic data structures are allocated and initialized. User includes required plugins (or just takes default plugins). Ambros Gleixner Basic Concepts of Constraint Integer Programming 20 / 39

67 Problem Specication Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve User creates and modies the original problem instance. Problem creation is usually done in le readers. Ambros Gleixner Basic Concepts of Constraint Integer Programming 21 / 39

68 Transformation Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve Creates a working copy of the original problem. Ambros Gleixner Basic Concepts of Constraint Integer Programming 22 / 39

69 Original and Transformed Problem Original CIP Transformed CIP Original variables Transformed variables Original constraints Transformed constraints data is copied into separate memory area presolving and solving operate on transformed problem original data can only be modied in problem modication stage Ambros Gleixner Basic Concepts of Constraint Integer Programming 23 / 39

70 Presolving Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve Ambros Gleixner Basic Concepts of Constraint Integer Programming 24 / 39

71 Presolving Task reduce size of model by removing irrelevant information strengthen LP relaxation by exploiting integrality information make the LP relaxation numerically more stable extract useful information Primal Reductions: Dual Reductions: based on feasibility reasoning no feasible solution is cut o consider objective function at least one optimal solution remains Ambros Gleixner Basic Concepts of Constraint Integer Programming 25 / 39

72 Solving Init Init Solve Problem Transforming Presolving Solving Free Transform Free Solve Ambros Gleixner Basic Concepts of Constraint Integer Programming 26 / 39

73 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 27 / 39

74 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 27 / 39

75 Node Selection Techniques basic rules Task improve primal bound keep comp. eort small improve global dual bound depth rst search (DFS) early feasible solutions best bound search (BBS) improve dual bound best estimate search (BES) improve primal bound combinations BBS or BES with plunging hybrid BES/BBS interleaved BES/BBS Ambros Gleixner Basic Concepts of Constraint Integer Programming 28 / 39

76 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 29 / 39

77 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 29 / 39

78 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 30 / 39

79 LP Solving LP solver is a black box interface to dierent LP solvers: SoPlex, CPLEX, XPress, Gurobi, CLP,... primal/dual simplex barrier with/without crossover double-check feasibility check condition number address numerical troubles by changing parameters: scaling, tolerances, solving from scratch, other simplex Ambros Gleixner Basic Concepts of Constraint Integer Programming 31 / 39

80 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 32 / 39

81 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 33 / 39

82 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 34 / 39

83 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 35 / 39

84 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 36 / 39

85 Conict Analysis Techniques Analyze: Task Analyze infeasibility Derive valid constraints Help to prune other nodes Propagation conicts Infeasible LPs Bound-exceeding LPs Strong branching conicts Detection: Cut in conict graph LP: Dual ray heuristic Use conicts: Only for propagation As cutting planes Ambros Gleixner Basic Concepts of Constraint Integer Programming 37 / 39

86 Flow Chart SCIP Presolving Stop Domain propagation Conict analysis Node selection Solve LP Pricing Primal heuristics Processing Branching Enforce constraints Cuts Ambros Gleixner Basic Concepts of Constraint Integer Programming 38 / 39

87 Summary Take-away messages optimization paradigms: CP, SAT, MIP, MINLP CIP: an algorithmic, solution-driven integration SCIP: a exible tool for computational research in optimization Next The most powerful plugin: constraint handlers Ambros Gleixner Basic Concepts of Constraint Integer Programming 39 / 39

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP SCIP Workshop 2014, Berlin, September 30, 2014 Introduction to SCIP ZIB: Fast Algorithms Fast Computers Konrad-Zuse-Zentrum für Informationstechnik Berlin non-university research institute of the state

More information

Introduction to SCIP. Gregor Hendel, SCIP Introduction Day September 26, rd IMI-ISM-ZIB MODAL Workshop

Introduction to SCIP. Gregor Hendel, SCIP Introduction Day September 26, rd IMI-ISM-ZIB MODAL Workshop Introduction to SCIP Gregor Hendel, hendel@zib.de SCIP Introduction Day September 26, 2018 3rd IMI-ISM-ZIB MODAL Workshop What is SCIP? SCIP (Solving Constraint Integer Programs)... provides a full-scale

More information

SCIP Workshop Visit scip.zib.de/workshop2018 for all information. Tomorrow and on Thursday: Scientific Talks

SCIP Workshop Visit scip.zib.de/workshop2018 for all information. Tomorrow and on Thursday: Scientific Talks SCIP Workshop 2018 Structure of the SCIP Introduction Day 9:30 11:00 Introduction to SCIP 11:00 11:30 Coffee Break 11:30 12:30 Installation of SCIP and GCG 12:30 14:00 Lunch 14:00 17:30 Programming Exercises

More information

Large neighbourhood Benders' search

Large neighbourhood Benders' search Large neighbourhood Benders' search Stephen J. Maher Lancaster University Management School, s.maher3@lancaster.ac.uk 8th March 2018 1 / 23 Structured mixed integer programming Basic idea: Minimise a linear

More information

The MIP-Solving-Framework SCIP

The MIP-Solving-Framework SCIP The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem

More information

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany SCIP Stefan Vigerske, Humboldt University Berlin, Germany Contents 1 Introduction.................................................. 673 2 Model requirements..............................................

More information

Primal Heuristics in SCIP

Primal Heuristics in SCIP Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007 Outline 1 Introduction Basics Integration Into SCIP 2 Available

More information

Implementing Constraint Handlers in SCIP

Implementing Constraint Handlers in SCIP Implementing Constraint Handlers in SCIP Gregor Hendel Ambros Gleixner, Felipe Serrano September 30 Outline Why use constraints? Motivation Callback: Default Constraint Handlers of SCIP Implementation

More information

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Timo Berthold Xpress Optimization Team Gerald Gamrath Zuse Institute Berlin Domenico Salvagnin Universita degli Studi di Padova This presentation

More information

The Gurobi Optimizer. Bob Bixby

The Gurobi Optimizer. Bob Bixby The Gurobi Optimizer Bob Bixby Outline Gurobi Introduction Company Products Benchmarks Gurobi Technology Rethinking MIP MIP as a bag of tricks 8-Jul-11 2010 Gurobi Optimization 2 Gurobi Optimization Incorporated

More information

Motivation for Heuristics

Motivation for Heuristics MIP Heuristics 1 Motivation for Heuristics Why not wait for branching? Produce feasible solutions as quickly as possible Often satisfies user demands Avoid exploring unproductive sub trees Better reduced

More information

The Gurobi Solver V1.0

The Gurobi Solver V1.0 The Gurobi Solver V1.0 Robert E. Bixby Gurobi Optimization & Rice University Ed Rothberg, Zonghao Gu Gurobi Optimization 1 1 Oct 09 Overview Background Rethinking the MIP solver Introduction Tree of Trees

More information

Applied Mixed Integer Programming: Beyond 'The Optimum'

Applied Mixed Integer Programming: Beyond 'The Optimum' Applied Mixed Integer Programming: Beyond 'The Optimum' 14 Nov 2016, Simons Institute, Berkeley Pawel Lichocki Operations Research Team, Google https://developers.google.com/optimization/ Applied Mixed

More information

Welcome to the Webinar. What s New in Gurobi 7.5

Welcome to the Webinar. What s New in Gurobi 7.5 Welcome to the Webinar What s New in Gurobi 7.5 Speaker Introduction Dr. Tobias Achterberg Director of R&D at Gurobi Optimization Formerly a developer at ILOG, where he worked on CPLEX 11.0 to 12.6 Obtained

More information

Exploiting Degeneracy in MIP

Exploiting Degeneracy in MIP Exploiting Degeneracy in MIP Tobias Achterberg 9 January 2018 Aussois Performance Impact in Gurobi 7.5+ 35% 32.0% 30% 25% 20% 15% 14.6% 10% 5.7% 7.9% 6.6% 5% 0% 2.9% 1.2% 0.1% 2.6% 2.6% Time limit: 10000

More information

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Andrea Tramontani CPLEX Optimization, IBM CWI, Amsterdam, June 12, 2018 Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Agenda CPLEX Branch-and-Bound (B&B) Primal heuristics in CPLEX

More information

Advanced Use of GAMS Solver Links

Advanced Use of GAMS Solver Links Advanced Use of GAMS Solver Links Michael Bussieck, Steven Dirkse, Stefan Vigerske GAMS Development 8th January 2013, ICS Conference, Santa Fe Standard GAMS solve Solve william minimizing cost using mip;

More information

Exact solutions to mixed-integer linear programming problems

Exact solutions to mixed-integer linear programming problems Exact solutions to mixed-integer linear programming problems Dan Steffy Zuse Institute Berlin and Oakland University Joint work with Bill Cook, Thorsten Koch and Kati Wolter November 18, 2011 Mixed-Integer

More information

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

Addressing degeneracy in the dual simplex algorithm using a decompositon approach Addressing degeneracy in the dual simplex algorithm using a decompositon approach Ambros Gleixner, Stephen J Maher, Matthias Miltenberger Zuse Institute Berlin Berlin, Germany 16th July 2015 @sj_maher

More information

RENS. The optimal rounding. Timo Berthold

RENS. The optimal rounding. Timo Berthold Math. Prog. Comp. (2014) 6:33 54 DOI 10.1007/s12532-013-0060-9 FULL LENGTH PAPER RENS The optimal rounding Timo Berthold Received: 25 April 2012 / Accepted: 2 October 2013 / Published online: 1 November

More information

Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming

Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany STEFAN HEINZ J. CHRISTOPHER BECK Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming

More information

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School Heuristics in MILP Group 1 D. Assouline, N. Molyneaux, B. Morén Supervisors: Michel Bierlaire, Andrea Lodi Zinal 2017 Winter School 0 / 23 Primal heuristics Original paper: Fischetti, M. and Lodi, A. (2011).

More information

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy How to use your favorite MIP Solver: modeling, solving, cannibalizing Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it January-February, 2012 @ Universität Wien A. Lodi, How to use your favorite

More information

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lecture 5 Mixed Integer Programming and Exercises Marco Chiarandini 2. 3. 2 Outline Modeling 1. Min cost flow Shortest path 2. Max flow Assignment

More information

Conflict Analysis in Mixed Integer Programming

Conflict Analysis in Mixed Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany TOBIAS ACHTERBERG Conflict Analysis in Mixed Integer Programming URL: http://www.zib.de/projects/integer-optimization/mip

More information

The SCIP Optimization Suite 3.2

The SCIP Optimization Suite 3.2 The SCIP Optimization Suite 3.2 Gerald Gamrath 1, Tobias Fischer 2, Tristan Gally 2, Ambros M. Gleixner 1, Gregor Hendel 1, Thorsten Koch 1, Stephen J. Maher 1, Matthias Miltenberger 1, Benjamin Müller

More information

Algorithms II MIP Details

Algorithms II MIP Details Algorithms II MIP Details What s Inside Gurobi Optimizer Algorithms for continuous optimization Algorithms for discrete optimization Automatic presolve for both LP and MIP Algorithms to analyze infeasible

More information

LaGO - A solver for mixed integer nonlinear programming

LaGO - A solver for mixed integer nonlinear programming LaGO - A solver for mixed integer nonlinear programming Ivo Nowak June 1 2005 Problem formulation MINLP: min f(x, y) s.t. g(x, y) 0 h(x, y) = 0 x [x, x] y [y, y] integer MINLP: - n

More information

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,

More information

On Mixed-Integer (Linear) Programming and its connection with Data Science

On Mixed-Integer (Linear) Programming and its connection with Data Science On Mixed-Integer (Linear) Programming and its connection with Data Science Andrea Lodi Canada Excellence Research Chair École Polytechnique de Montréal, Québec, Canada andrea.lodi@polymtl.ca January 16-20,

More information

Benders in a nutshell Matteo Fischetti, University of Padova

Benders in a nutshell Matteo Fischetti, University of Padova Benders in a nutshell Matteo Fischetti, University of Padova ODS 2017, Sorrento, September 2017 1 Benders decomposition The original Benders decomposition from the 1960s uses two distinct ingredients for

More information

The SCIP Optimization Suite 4.0

The SCIP Optimization Suite 4.0 Zuse Institute Berlin Takustrasse 7 D-14195 Berlin-Dahlem Germany STEPHEN J. MAHER, TOBIAS FISCHER, TRISTAN GALLY, GERALD GAMRATH, AMBROS GLEIXNER, ROBERT LION GOTTWALD, GREGOR HENDEL, THORSTEN KOCH, MARCO

More information

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Solving lexicographic multiobjective MIPs with Branch-Cut-Price Solving lexicographic multiobjective MIPs with Branch-Cut-Price Marta Eso (The Hotchkiss School) Laszlo Ladanyi (IBM T.J. Watson Research Center) David Jensen (IBM T.J. Watson Research Center) McMaster

More information

Integer Optimization: Mathematics, Algorithms, and Applications

Integer Optimization: Mathematics, Algorithms, and Applications Integer Optimization: Mathematics, Algorithms, and Applications Sommerschool Jacobs University, July 2007 DFG Research Center Matheon Mathematics for key technologies Thorsten Koch Zuse Institute Berlin

More information

Restrict-and-relax search for 0-1 mixed-integer programs

Restrict-and-relax search for 0-1 mixed-integer programs EURO J Comput Optim (23) :2 28 DOI.7/s3675-3-7-y ORIGINAL PAPER Restrict-and-relax search for - mixed-integer programs Menal Guzelsoy George Nemhauser Martin Savelsbergh Received: 2 September 22 / Accepted:

More information

Mixed Integer Programming Class Library (MIPCL)

Mixed Integer Programming Class Library (MIPCL) Mixed Integer Programming Class Library (MIPCL) Nicolai N. Pisaruk Belarus State University, Faculty of Economy, Nezavisimosty Av., 4, 220088 Minsk, Belarus April 20, 2016 Abstract The Mixed Integer Programming

More information

Linear & Integer Programming: A Decade of Computation

Linear & Integer Programming: A Decade of Computation Linear & Integer Programming: A Decade of Computation Robert E. Bixby, Mary Fenelon, Zongao Gu, Irv Lustig, Ed Rothberg, Roland Wunderling 1 Outline Progress in computing machines Linear programming (LP)

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Handling first-order linear constraints with SCIP

Handling first-order linear constraints with SCIP Handling first-order linear constraints with SCIP James Cussens, University of York KU Leuven, 2015-02-16 James Cussens, University of York FO with SCIP KU Leuven, 2015-02-16 1 / 18 MIP Mixed integer programs

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

More information

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs Computational Integer Programming Lecture 12: Branch and Cut Dr. Ted Ralphs Computational MILP Lecture 12 1 Reading for This Lecture Wolsey Section 9.6 Nemhauser and Wolsey Section II.6 Martin Computational

More information

State-of-the-Optimization using Xpress-MP v2006

State-of-the-Optimization using Xpress-MP v2006 State-of-the-Optimization using Xpress-MP v2006 INFORMS Annual Meeting Pittsburgh, USA November 5 8, 2006 by Alkis Vazacopoulos Outline LP benchmarks Xpress performance on MIPLIB 2003 Conclusions 3 Barrier

More information

Column Generation Based Primal Heuristics

Column Generation Based Primal Heuristics Column Generation Based Primal Heuristics C. Joncour, S. Michel, R. Sadykov, D. Sverdlov, F. Vanderbeck University Bordeaux 1 & INRIA team RealOpt Outline 1 Context Generic Primal Heuristics The Branch-and-Price

More information

Gurobi Guidelines for Numerical Issues February 2017

Gurobi Guidelines for Numerical Issues February 2017 Gurobi Guidelines for Numerical Issues February 2017 Background Models with numerical issues can lead to undesirable results: slow performance, wrong answers or inconsistent behavior. When solving a model

More information

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2 2. Modeling AEA 2018/2019 Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

Parallel Branch & Bound

Parallel Branch & Bound Parallel Branch & Bound Bernard Gendron Université de Montréal gendron@iro.umontreal.ca Outline Mixed integer programming (MIP) and branch & bound (B&B) Linear programming (LP) based B&B Relaxation and

More information

Noncommercial Software for Mixed-Integer Linear Programming

Noncommercial Software for Mixed-Integer Linear Programming Noncommercial Software for Mixed-Integer Linear Programming J. T. Linderoth T. K. Ralphs December 23, 2004 Abstract We present an overview of noncommercial software tools for the solution of mixed-integer

More information

Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods

Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods Carnegie Mellon University Research Showcase @ CMU Department of Chemical Engineering Carnegie Institute of Technology 2-2014 Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods

More information

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

February 19, Integer programming. Outline. Problem formulation. Branch-andbound Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps Björn Geißler, Antonio Morsi, Lars Schewe, Martin Schmidt FAU Erlangen-Nürnberg, Discrete Optimization

More information

Primal Heuristics for Branch-and-Price Algorithms

Primal Heuristics for Branch-and-Price Algorithms Primal Heuristics for Branch-and-Price Algorithms Marco Lübbecke and Christian Puchert Abstract In this paper, we present several primal heuristics which we implemented in the branch-and-price solver GCG

More information

Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories

Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories Integrating Mixed-Integer Optimisation & Satisfiability Modulo Theories Application to Scheduling Miten Mistry and Ruth Misener Wednesday 11 th January, 2017 Mistry & Misener MIP & SMT Wednesday 11 th

More information

The AIMMS Outer Approximation Algorithm for MINLP

The AIMMS Outer Approximation Algorithm for MINLP The AIMMS Outer Approximation Algorithm for MINLP (using GMP functionality) By Marcel Hunting marcel.hunting@aimms.com November 2011 This document describes how to use the GMP variant of the AIMMS Outer

More information

Assessing Performance of Parallel MILP Solvers

Assessing Performance of Parallel MILP Solvers Assessing Performance of Parallel MILP Solvers How Are We Doing, Really? Ted Ralphs 1 Stephen J. Maher 2, Yuji Shinano 3 1 COR@L Lab, Lehigh University, Bethlehem, PA USA 2 Lancaster University, Lancaster,

More information

Discrete Optimization with Decision Diagrams

Discrete Optimization with Decision Diagrams Discrete Optimization with Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University Australian OR Society, May 2014 Goal Find an alternative

More information

Parallel and Distributed Optimization with Gurobi Optimizer

Parallel and Distributed Optimization with Gurobi Optimizer Parallel and Distributed Optimization with Gurobi Optimizer Our Presenter Dr. Tobias Achterberg Developer, Gurobi Optimization 2 Parallel & Distributed Optimization 3 Terminology for this presentation

More information

Rounding and Propagation Heuristics for Mixed Integer Programming

Rounding and Propagation Heuristics for Mixed Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-9 Berlin-Dahlem Germany TOBIAS ACHTERBERG TIMO BERTHOLD GREGOR HENDEL Rounding and Propagation Heuristics for Mixed Integer Programming

More information

The AIMMS Outer Approximation Algorithm for MINLP

The AIMMS Outer Approximation Algorithm for MINLP The AIMMS Outer Approximation Algorithm for MINLP (using GMP functionality) By Marcel Hunting Paragon Decision Technology BV An AIMMS White Paper November, 2011 Abstract This document describes how to

More information

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition

Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition Laszlo Ladanyi (IBM T.J. Watson Research Center) joint work with Marta Eso (The Hotchkiss School) David Jensen (IBM T.J.

More information

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova 8th Cargese-Porquerolles Workshop on Combinatorial Optimization, August 2017 1 Mixed-Integer Programming We

More information

Experiments with a Generic Dantzig-Wolfe Decomposition for Integer Programs

Experiments with a Generic Dantzig-Wolfe Decomposition for Integer Programs Experiments with a Generic Dantzig-Wolfe Decomposition for Integer Programs Gerald Gamrath 1 and Marco E. Lübbecke 2 1 Zuse Institute Berlin, Takustr. 7, 14195 Berlin, Germany gamrath@zib.de 2 Technische

More information

Modern Benders (in a nutshell)

Modern Benders (in a nutshell) Modern Benders (in a nutshell) Matteo Fischetti, University of Padova (based on joint work with Ivana Ljubic and Markus Sinnl) Lunteren Conference on the Mathematics of Operations Research, January 17,

More information

Linear Programming. Course review MS-E2140. v. 1.1

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

SBB: A New Solver for Mixed Integer Nonlinear Programming

SBB: A New Solver for Mixed Integer Nonlinear Programming SBB: A New Solver for Mixed Integer Nonlinear Programming Michael R. Bussieck GAMS Development Corp. Arne Drud ARKI Consulting & Development A/S Overview Introduction: The MINLP Model The B&B Algorithm

More information

Algorithms for Decision Support. Integer linear programming models

Algorithms for Decision Support. Integer linear programming models Algorithms for Decision Support Integer linear programming models 1 People with reduced mobility (PRM) require assistance when travelling through the airport http://www.schiphol.nl/travellers/atschiphol/informationforpassengerswithreducedmobility.htm

More information

5.3 Cutting plane methods and Gomory fractional cuts

5.3 Cutting plane methods and Gomory fractional cuts 5.3 Cutting plane methods and Gomory fractional cuts (ILP) min c T x s.t. Ax b x 0integer feasible region X Assumption: a ij, c j and b i integer. Observation: The feasible region of an ILP can be described

More information

SAS/OR 14.1 User s Guide: Mathematical Programming. The Mixed Integer Linear Programming Solver

SAS/OR 14.1 User s Guide: Mathematical Programming. The Mixed Integer Linear Programming Solver SAS/OR 14.1 User s Guide: Mathematical Programming The Mixed Integer Linear Programming Solver This document is an individual chapter from SAS/OR 14.1 User s Guide: Mathematical Programming. The correct

More information

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC Pivot and Gomory Cut A MIP Feasibility Heuristic Shubhashis Ghosh Ryan Hayward shubhashis@randomknowledge.net hayward@cs.ualberta.ca NSERC CGGT 2007 Kyoto Jun 11-15 page 1 problem given a MIP, find a feasible

More information

A hybrid branch-and-bound approach for exact rational mixed-integer programming

A hybrid branch-and-bound approach for exact rational mixed-integer programming Math. Prog. Comp. (2013) 5:305 344 DOI 10.1007/s12532-013-0055-6 FULL LENGTH PAPER A hybrid branch-and-bound approach for exact rational mixed-integer programming William Cook Thorsten Koch Daniel E. Steffy

More information

Improving the heuristic performance of Benders decomposition

Improving the heuristic performance of Benders decomposition Improving the heuristic performance of Benders decomposition Stephen J. Maher Department of Management Science, Lancaster University, Bailrigg, Lancaster LA1 4YX, UK Abstract A general enhancement of the

More information

A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs

A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs This research is funded by NSF, CMMI and CIEG 0521953: Exploiting Cyberinfrastructure to Solve Real-time Integer Programs A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs Mahdi

More information

The Mixed Integer Linear Programming Solver

The Mixed Integer Linear Programming Solver SAS/OR 14.3 User s Guide Mathematical Programming The Mixed Integer Linear Programming Solver This document is an individual chapter from SAS/OR 14.3 User s Guide: Mathematical Programming. The correct

More information

Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics

Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics Sebastian Orlowski, Zuse Institute Berlin, Takustr. 7, D-14195 Berlin, orlowski@zib.de Arie M.C.A. Koster, Zuse Institute Berlin,

More information

IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference. Version 12 Release 7 IBM

IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference. Version 12 Release 7 IBM IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference Version 12 Release 7 IBM IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference Version 12 Release 7 IBM Copyright notice Describes

More information

A. Atamturk. G.L. Nemhauser. M.W.P. Savelsbergh. Georgia Institute of Technology. School of Industrial and Systems Engineering.

A. Atamturk. G.L. Nemhauser. M.W.P. Savelsbergh. Georgia Institute of Technology. School of Industrial and Systems Engineering. A Combined Lagrangian, Linear Programming and Implication Heuristic for Large-Scale Set Partitioning Problems 1 A. Atamturk G.L. Nemhauser M.W.P. Savelsbergh Georgia Institute of Technology School of Industrial

More information

Branching rules revisited

Branching rules revisited Operations Research Letters 33 (2005) 42 54 Operations Research Letters www.elsevier.com/locate/dsw Branching rules revisited Tobias Achterberg a;, Thorsten Koch a, Alexander Martin b a Konrad-Zuse-Zentrum

More information

The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach

The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach Andreas Lundell a, Jan Kronqvist b, and Tapio Westerlund

More information

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

Using Multiple Machines to Solve Models Faster with Gurobi 6.0 Using Multiple Machines to Solve Models Faster with Gurobi 6.0 Distributed Algorithms in Gurobi 6.0 Gurobi 6.0 includes 3 distributed algorithms Distributed concurrent LP (new in 6.0) MIP Distributed MIP

More information

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs Juan Pablo Vielma Shabbir Ahmed George L. Nemhauser H. Milton Stewart School of Industrial and Systems

More information

12/7/2006. Outline. Generalized Conflict Learning for Hybrid Discrete/Linear Optimization. Forward Conflict-Directed Search

12/7/2006. Outline. Generalized Conflict Learning for Hybrid Discrete/Linear Optimization. Forward Conflict-Directed Search 2/7/26 Massachusetts Institute of Technology Generalized Conflict Learning for Hybrid Discrete/Linear Optimization Hui Li and Brian Williams Computer Science and Artificial Intelligence Laboratory Massachusetts

More information

A Nonlinear Presolve Algorithm in AIMMS

A Nonlinear Presolve Algorithm in AIMMS A Nonlinear Presolve Algorithm in AIMMS By Marcel Hunting marcel.hunting@aimms.com November 2011 This paper describes the AIMMS presolve algorithm for nonlinear problems. This presolve algorithm uses standard

More information

Course Summary! What have we learned and what are we expected to know?

Course Summary! What have we learned and what are we expected to know? Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer

More information

Column Generation and its applications

Column Generation and its applications Column Generation and its applications Murat Firat, dept. IE&IS, TU/e BPI Cluster meeting Outline Some real-life decision problems Standard formulations Basics of Column Generation Master formulations

More information

On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization

On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization Vasco Manquinho and João Marques-Silva Technical University of Lisbon, IST/INESC-ID, Lisbon, Portugal {vmm, jpms}@sat.inesc-id.pt

More information

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs Constraint Branching and Disunctive Cuts for Mixed Integer Programs Constraint Branching and Disunctive Cuts for Mixed Integer Programs Michael Perregaard Dash Optimization Constraint Branching and Disunctive

More information

Pure Cutting Plane Methods for ILP: a computational perspective

Pure Cutting Plane Methods for ILP: a computational perspective Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree? 1 Outline 1. Pure cutting plane methods

More information

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER By Qun Chen A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Industrial Engineering) at the

More information

lpsymphony - Integer Linear Programming in R

lpsymphony - Integer Linear Programming in R lpsymphony - Integer Linear Programming in R Vladislav Kim October 30, 2017 Contents 1 Introduction 2 2 lpsymphony: Quick Start 2 3 Integer Linear Programming 5 31 Equivalent and Dual Formulations 5 32

More information

George Reloaded. M. Monaci (University of Padova, Italy) joint work with M. Fischetti. MIP Workshop, July 2010

George Reloaded. M. Monaci (University of Padova, Italy) joint work with M. Fischetti. MIP Workshop, July 2010 George Reloaded M. Monaci (University of Padova, Italy) joint work with M. Fischetti MIP Workshop, July 2010 Why George? Because of Karzan, Nemhauser, Savelsbergh Information-based branching schemes for

More information

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems Lars M. Hvattum The Norwegian University of Science and Technology Trondheim,

More information

Large-Scale Optimization and Logical Inference

Large-Scale Optimization and Logical Inference Large-Scale Optimization and Logical Inference John Hooker Carnegie Mellon University October 2014 University College Cork Research Theme Large-scale optimization and logical inference. Optimization on

More information

Solving the Euclidean Steiner Tree Problem in n-space

Solving the Euclidean Steiner Tree Problem in n-space Solving the Euclidean Steiner Tree Problem in n-space Marcia Fampa (UFRJ), Jon Lee (U. Michigan), and Wendel Melo (UFRJ) January 2015 Marcia Fampa, Jon Lee, Wendel Melo Solving the Euclidean Steiner Tree

More information

sbb COIN-OR Simple Branch-and-Cut

sbb COIN-OR Simple Branch-and-Cut sbb COIN-OR Simple Branch-and-Cut John Forrest Lou Hafer lou@cs.sfu.ca CORS/INFORMS Joint Meeting Banff, May 2004 p.1/12 Outline Basic Branch-and-Bound Branching Node Selection Cuts and Heuristics Using

More information

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem Presented by: Ted Ralphs Joint work with: Leo Kopman Les Trotter Bill Pulleyblank 1 Outline of Talk Introduction Description

More information

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems Cutting Planes for Some Nonconvex Combinatorial Optimization Problems Ismael Regis de Farias Jr. Department of Industrial Engineering Texas Tech Summary Problem definition Solution strategy Multiple-choice

More information

The Three Phases of MIP Solving

The Three Phases of MIP Solving Zuse Institute Berlin Takustrasse 7 D-14195 Berlin-Dahlem Germany TIMO BERTHOLD, GREGOR HENDEL, AND THORSTEN KOCH The Three Phases of MIP Solving The work for this article has been conducted within the

More information