Welcome to the Webinar. What s New in Gurobi 7.5

Size: px
Start display at page:

Download "Welcome to the Webinar. What s New in Gurobi 7.5"

Transcription

1 Welcome to the Webinar What s New in Gurobi 7.5

2 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 his degree in mathematics and computer science from the Technical University of Berlin and the Zuse Institute Berlin, then finished doctorate in mathematics with Prof. Martin Grötschel in 2007 Dr. Achterberg is the author of SCIP which is regarded as the best academic MIP solver 2

3 What's New? New features in Gurobi 7.5 Improved Python interface Multi-objective improvements JavaDoc documentation Support new versions of Python, R, Visual Studio Compute Server communication statistics New parameters Additional minor enhancements Performance improvements 3

4 Python Modeling Enhancements 4

5 Python Modeling Enhancements Significant simplification of our Python API Simpler implementation of mathematical models Model.addConstr: handles general constraints, range constraints and indicator constraints Model.addConstrs: allows you to use Python generator expressions over all constraint types GCHelper: helper functions for handling general constraints Python models become more concise and easier to read 5

6 Python Modeling Enhancements addconstr() Integrated algebraic interface for adding constraints Old: model.addqconstr( x*x + y*y <= 2.0, c1 ) model.addrange( x+y, 1.0, 2.0, c2 ) model.addgenconstrindicator( x, True, y+z == 1.0, c3 ) model.addgenconstrmax( x, [y,z], 2.0, c4 ) New: model.addconstr( x*y + y*y <= 2.0, c1 ) model.addconstr( x+y == [1.0,2.0], c2 ) model.addconstr((x == 1) >> (y+z == 1.0), c3 ) model.addconstr( x == max_(y,z,2.0), c4 ) 6

7 Python Modeling Enhancements Helper Functions General constraint helper functions: We introduced functions max_(), min_(), abs_(), and_(), or_() to simplify construction of general constraints model.addconstr(x == abs_(y)) model.addconstr(x == or_(y,z,w)) Note: any_() can be used as a synonym for or_() Integrate general constraints with addconstrs() The new syntax allows you to add sets of general constraints in batches Old: X, Y, Gcons = model.addvars(10), model.addvars(10), {} for i in X: Gcons[i] = model.addgenconstrmin(x[i], [Y[i], 10], name= Gc ) New: X, Y = model.addvars(10), model.addvars(10) Gcons = model.addconstrs((x[i] == min_(y[i],10) for i in X), name= Gc ) 7

8 Python Modeling Enhancements remove() We extended model.remove() to handle lists, tuples and dictionaries of objects Old: for i in model.getconstrs(): model.remove(i) New: model.remove(model.getconstrs()) 8

9 Enhanced Multi-Objective API 9

10 Enhanced Multi-Objective API Easier definition of multiple objectives We introduced model.setobjectiven(linexpr, index,...) Old (Gurobi 7.0): coef1 = [0, 1, 2, 3, 4] coef2 = [4, 3, 2, 1, 0] x = model.addvars(5) model.numobj = 2 model.params.objnumber = 0 model.objnpriority = 2 model.objnweight = 1 model.setattr(grb.attr.objn, x, coef1) model.params.objnumber = 1 model.objnpriority = 1 model.objnweight = 1 model.setattr(grb.attr.objn, x, coef2) New (Gurobi 7.5): coef1 = [0, 1, 2, 3, 4] coef2 = [4, 3, 2, 1, 0] x = model.addvars(5) model.setobjectiven(x.prod(coef1), 0, priority=2, weight=1) model.setobjectiven(x.prod(coef2), 1, priority=1, weight=1) Or equivalently: x = model.addvars(5) model.setobjectiven(x[1]+2*x[2]+3*x[3]+4*x[4], 0, priority=2, weight=1) model.setobjectiven(4*x[0]+3*x[1]+2*x[2]+x[3], 1, priority=1, weight=1) 10

11 Enhanced Multi-Objective API Enhanced termination control for multi-objective optimization We introduced model.getmultiobjenv(): env0 = model.getmultiobjenv(0) env1 = model.getmultiobjenv(1) env0.setparam( TimeLimit,100) env1.setparam( TimeLimit,10) model.optimize() model.discardmultiobjenvs() Allows for fine-grained control of each multi-objective optimization pass Algorithmic choices Termination criteria One optimization pass per objective priority level Settings for additional objectives of same priority level are ignored Use MIP starts for first priority level objective solve 11

12 Other Enhancements 12

13 JavaDoc Documentation Contains our full documentation Can be used in any IDE that supports JavaDoc, e.g. Eclipse Provided as gurobi-javadoc.jar 13

14 Platforms Added support for Python 3.6 Plus a Mac Anaconda 3.6 package Added support for Visual Studio 2017 on Windows Added support for R

15 Compute Server Statistics When remote environment is freed, we print communication statistics to the log: Compute Server communication statistics: Sent: 8.3 MBytes in 244 msgs and 0.76s (10.92 MB/s) Received: 7.2 MBytes in msgs and 1.53s (4.71 MB/s) Useful to assess overhead of Compute Server or cloud communication 15

16 New Parameters We added two additional parameters: IgnoreNames: Discard all user-provided names: constraint, variable and problem names User request to satisfy security concern when application is deployed in the cloud or using Compute Server Also useful to generate recording file to send to Gurobi support if sending names is a security concern StartNodeLimit: Provides additional control over how much work is performed to complete a partial MIP start 16

17 Additional Enhancements Improved performance of.net expression building No longer use "using" keyword in C++ header files Python: Raise AttributeError instead of GurobiError if attributes are used incorrectly printquality() also shows which variable/constraint is the maximally violated one Added Callback.useSolution() add solution immediately, and check if it is feasible Automatically flush pending changes when GRBpresolvemodel() is called Well-defined meaning of setting NodeLimit to 0 Support file compression for recording files Improved numerics in piece-wise linear simplex presolve aggregator presolve fixing of variables with almost identical bounds min/max calculation of constraint activities in presolve Gomory cuts reduced number of cases where solution exhibits small constraint violations Setting user cutoff equal to optimal value will always lead to finding such solution instead of a cutoff status 17

18 Performance Improvements 18

19 Two Kinds of Benchmarks Internal benchmarks Most important: compare Gurobi version-over-version Based on internal library of 4538 models External, competitive benchmarks Conducted by Hans Mittelmann, Arizona State University For MIP largely based upon MIPLIB

20 Internal Benchmarks 20

21 Gurobi MIP Library (4538 models) 1E ,000,000 Columns , Rows 21

22 Performance Improvements in Gurobi 7.5 Problem Class >1s >100s # Wins Losses Speedup # Wins Losses Speedup LP: concur x x primal x x dual x x barrier x x QCP/SOCP x x MIP x x MIQP x x MIQCP x x Gurobi 7.0 vs. 7.5: > 1.00x means that Gurobi 7.5 is faster than Gurobi

23 Continual Performance Improvements Number of unsolved models v1.1 v2.0 v3.0 v4.0 v5.0 v6.0 v7.0 v7.5 Time limit: sec. Intel Xeon CPU E GHz 4 cores, 8 hyper-threads 32 GB RAM MIP test set has 3420 models: discarded due to inconsistent answers discarded that none of the versions can solve 23

24 Where do the MIP improvements come from? 24

25 MIP Improvements in Gurobi 7.5 Presolve 7.8% Improved multi-row reductions 2.0% More efficient GUB usage and improved lifting 0.7% Improved domain propagation 0.4% Improved cancelation and fill handling 1.5% More lifting of knapsack constraints 0.5% Improved work limits 1.1% Extract common sub-expressions 0.4% Euclidian reductions in bound strengthening 1.0% Node presolve 4.2% Improved work limits in probing 0.3% Dual propagation for probing 0.8% Propagate dual bound 1.0% Improved conflict analysis 1.3% Exploit cliques for reduced cost strengthening 0.7% 25

26 MIP Improvements in Gurobi 7.5 Symmetry 7.0% Improved symmetry detection performance 4.1% Apply orbital probing to non-binary variables 0.7% Flip and split variables to induce symmetry 2.1% LP 17.5% Use concurrent simplex for root solve 2.6% Automatically select simplex and pricing strategy 2.5% General LP solving improvements 11.7% Cuts 14.3% Better root node control 6.3% Improved sub-mip cut separation 1.0% Improved MIR and flow cover cuts 1.9% Special odd-cycle cuts 1.3% Improved aggregation 2.8% Better clique cut separation 0.3% 26

27 MIP Improvements in Gurobi 7.5 Branching 2.8% Improved default branching strategy 2.8% Heuristics 4.6% Improved heuristics working on original model 0.9% Improved heuristics run in parallel to root cut loop 1.1% Improved work load balancing 1.4% Improved automatic adjustment of RINS fixing rate 0.5% More aggressive fix-and-dive heuristics 0.6% SOS constraints Improved SOS presolve 2.4% Node probing on SOS constraints 7.3% Improved SOS branching rules 1.4% 11.4% on SOS models 27

28 External Benchmarks Hans Mittelmann: 28

29 MIP Solve Times Gurobi 7.5 vs. Competition: Solve times > 1.0 means Gurobi faster Benchmark # CPLEX XPRESS P=1 P=4 P=12 P=48 P=1 P=4 P=12 P=48 Optimality x 1.37x 1.17x x 1.60x 1.46x - Feasibility x x - - Infeasibility x x - - "Solvable" Optim x 1.05x x 1.78x Number of solved models in solvable set P=12: Gurobi 210, Cplex 207, Xpress 197 P=48: Gurobi 211, Cplex 214, Xpress 200 Complete test data available here (data from July 20, 2017): "Optimality", time limit 7200 sec. "Feasibility", time limit 3600 sec., time to first solution "Infeasibility", time limit 3600 sec. "Solvable", time limit 7200 sec. 29

30 LP Solve Times Gurobi 7.5 vs. Competition: Solve times > 1.0 means Gurobi faster Benchmark # CPLEX XPRESS Mosek 8.0 Simplex x 1.22x 3.65x Barrier x 1.03x 2.33x Concurrent x 1.15x - Complete test data available here (data from July 20, 2017): Simplex, time limit sec., 8 threads Barrier and concurrent, time limit sec., 8 threads 30

31 Quadratic Model Solve Times Gurobi 7.5 vs. Competition: Solve times > 1.0 means Gurobi faster Benchmark # CPLEX XPRESS Mosek 8.0 SOCP x 1.26x 1.02x MISOCP x 1.12x 8.98x Binary QP x 2.13x - Convex discrete x 2.84x 4.94x Complete test data available here (data from July 20, 2017): SOCP, time limit 3600 sec., 8 threads MISOCP, time limit 7200 sec., 8 threads binary QP, time limit 3600 sec., 8 threads convex discrete, time limit 7200 sec., 8 threads 31

32 Next Steps 7.5 upgrades for existing Gurobi users Visit the What's New in Gurobi page and follow instructions in the bottom: For additional questions, or to request a free trial, contact us at info@gurobi.com 32

What's New in Gurobi 7.0

What's New in Gurobi 7.0 What's New in Gurobi 7.0 What's New? New employees New features in 7.0 Major and minor Performance improvements New Gurobi Instant Cloud 2 The newest members of the Gurobi team Daniel Espinoza Senior Developer

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

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

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

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

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

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

What's New In Gurobi 5.0. Dr. Edward Rothberg

What's New In Gurobi 5.0. Dr. Edward Rothberg What's New In Gurobi 5.0 Dr. Edward Rothberg Our Main Goals for Gurobi 5.0 Expand the reach of the product: New problem types: Quadratic constraints: QCP, SOCP, MIQCP Massive numbers of constraints: Through

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

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

Recent Developments in the Gurobi Optimizer

Recent Developments in the Gurobi Optimizer Recent Developments in the Gurobi Optimizer Overview Introduction (10 minutes) Ed Rothberg Gurobi 7.5 and 8.0 (15 minutes) Ed Rothberg Improvements in Compute Server and Instant Cloud (30 minutes) Michel

More information

What s New in CPLEX Optimization Studio ?

What s New in CPLEX Optimization Studio ? Mary Fenelon Manager, CPLEX Optimization Studio Development What s New in CPLEX Optimization Studio 12.6.1? Agenda IBM Decision Optimization portfolio CPLEX Optimization Studio OPL and the IDE CPLEX CP

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

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

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

Major New Features in Gurobi 7.0

Major New Features in Gurobi 7.0 Advanced Models Major New Features in Gurobi 7.0 Python modeling enhancements Much more direct mapping from mathematical notation to code General constraints Shorthand for modeling common logical constraints

More information

Solving a Challenging Quadratic 3D Assignment Problem

Solving a Challenging Quadratic 3D Assignment Problem Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment 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

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

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming Samuel Souza Brito and Haroldo Gambini Santos 1 Dep. de Computação, Universidade Federal de Ouro Preto - UFOP

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

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

ILOG CPLEX 10.0 Interactive Optimizer January 2006

ILOG CPLEX 10.0 Interactive Optimizer January 2006 ILOG CPLEX 10.0 Interactive Optimizer January 2006 ILOG CPLEX 10.0 INTERACTIVE OPTIMIZER COMMANDS 1 COPYRIGHT NOTICE Copyright 1987-2006, by ILOG S.A. and ILOG, Inc., All rights reserved. General Use Restrictions

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

Parallelizing the dual revised simplex method

Parallelizing the dual revised simplex method Parallelizing the dual revised simplex method Qi Huangfu 1 Julian Hall 2 1 FICO 2 School of Mathematics, University of Edinburgh Birmingham 9 September 2016 Overview Background Two parallel schemes Single

More information

Solving a Challenging Quadratic 3D Assignment Problem

Solving a Challenging Quadratic 3D Assignment Problem Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment Problem

More information

LP SCIP NEOS URL. example1.lp 2.1 LP 1. minimize. subject to, bounds, free, general, binary, end. .lp 1 2.2

LP SCIP NEOS URL. example1.lp 2.1 LP 1. minimize. subject to, bounds, free, general, binary, end. .lp 1 2.2 c LP SCIP LP SCIP NEOS 1. URL 2. 2.1 LP 1 LP LP.lp 1 184 8588 2 24 16 1 minimize 3x +4.5y 2z 1 + f subject to g 1,1 + g 1,2 5, 3g 1,1 7g 1,2 + z 2 10, 2f g 1,1 =6, x +0.5y = 4.6, f 0, y 0, g 1,2 0, g 1,1

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

Basic Concepts of Constraint Integer Programming

Basic Concepts of Constraint Integer Programming Basic Concepts of Constraint Integer Programming Ambros Gleixner Zuse Institute Berlin September 30, 2015 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated

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

Gurobi Implementation

Gurobi Implementation Gurobi Implementation Outlines Introduction Installing Gurobi Creating a visual studio C++ project for Groubi Building and solving Gurobi model page: 2 Introduction (1/4) Gurobi is a state-of-the-art solver

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

An Introduction to ODH CPLEX. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. April 2018

An Introduction to ODH CPLEX. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. April 2018 An Introduction to ODH CPLEX Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. April 2018 Summary New features Challenges of Large Scale Optimization The ODHeuristics approach ODHeuristics Engine

More information

Using ODHeuristics To Solve Hard Mixed Integer Programming Problems. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc.

Using ODHeuristics To Solve Hard Mixed Integer Programming Problems. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. Using ODHeuristics To Solve Hard Mixed Integer Programming Problems Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. February 2017 Summary Challenges of Large Scale Optimization Exploiting parallel

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

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

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

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

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

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

Recent Advances In The New Mosek 8

Recent Advances In The New Mosek 8 Recent Advances In The New Mosek 8 16-November-2016 Erling D. Andersen www.mosek.com Improvements in version 8 An overview Presolve Reduce memory requirements in the eliminator. Conic presolve. Conic optimizer

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

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

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

Topics. Introduction. Specific tuning/troubleshooting topics "It crashed" Gurobi parameters The tuning tool. LP tuning. MIP tuning

Topics. Introduction. Specific tuning/troubleshooting topics It crashed Gurobi parameters The tuning tool. LP tuning. MIP tuning Tuning II Topics Introduction Gurobi parameters The tuning tool Specific tuning/troubleshooting topics "It crashed" The importance of being specific LP tuning The importance of scaling MIP tuning Performance

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

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

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

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

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Modeling 2 Agenda Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Part 1: Overview of selected modeling techniques Background Range constraints

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

Solving Large-Scale Energy System Models

Solving Large-Scale Energy System Models Solving Large-Scale Energy System Models Frederik Fiand Operations Research Analyst GAMS Software GmbH GAMS Development Corp. GAMS Software GmbH www.gams.com Agenda 1. GAMS System Overview 2. BEAM-ME Background

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

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

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

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

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

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

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

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

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

GAMS and High-Performance Computing

GAMS and High-Performance Computing GAMS and High-Performance Computing Frederik Fiand Operations Research Analyst, GAMS Software GAMS Development Corp. GAMS Software GmbH www.gams.com Motivation ... HPC standard Available Computing Resources

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

optlang Documentation

optlang Documentation optlang Documentation Release 1.4.2-2-g8da74d1-dirty Niko Sonnenschein Aug 09, 2018 Contents 1 Quick start 3 1.1 Using a particular solver......................................... 4 1.2 Quadratic programming.........................................

More information

Package Rcplex. June 12, 2016

Package Rcplex. June 12, 2016 Version 0.3-3 Date 2016-06-09 Title R Interface to CPLEX Package Rcplex June 12, 2016 Description R interface to CPLEX solvers for linear, quadratic, and (linear and quadratic) mixed integer programs.

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

High performance computing and the simplex method

High performance computing and the simplex method Julian Hall, Qi Huangfu and Edmund Smith School of Mathematics University of Edinburgh 12th April 2011 The simplex method for LP Not... Nonlinear programming... Integer programming... Stochastic programming......

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

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

COMP9334: Capacity Planning of Computer Systems and Networks

COMP9334: Capacity Planning of Computer Systems and Networks COMP9334: Capacity Planning of Computer Systems and Networks Week 10: Optimisation (1) A/Prof Chun Tung Chou CSE, UNSW COMP9334, Chun Tung Chou, 2016 Three Weeks of Optimisation The lectures for these

More information

The Decomposition Algorithm

The Decomposition Algorithm SAS/OR 14.3 User s Guide Mathematical Programming The Decomposition Algorithm This document is an individual chapter from SAS/OR 14.3 User s Guide: Mathematical Programming. The correct bibliographic citation

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

Recent enhancements in. GAMS Development Corporation

Recent enhancements in. GAMS Development Corporation Recent enhancements in Jan-H. Jagla jhjagla@gams.com GAMS Software GmbH GAMS Development Corporation www.gams.de www.gams.com GAMS at a Glance General Algebraic Modeling System Roots: World Bank, 1976

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

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

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

SAS/OR 14.2 User s Guide: Mathematical Programming. The OPTMILP Procedure

SAS/OR 14.2 User s Guide: Mathematical Programming. The OPTMILP Procedure SAS/OR 14.2 User s Guide: Mathematical Programming The OPTMILP Procedure This document is an individual chapter from SAS/OR 14.2 User s Guide: Mathematical Programming. The correct bibliographic citation

More information

On the Optimization of CPLEX Models

On the Optimization of CPLEX Models International Research Journal of Applied and Basic Sciences 3 Available online at www.irjabs.com ISSN 5-838X / Vol, 4 (9): 8-86 Science Explorer Publications On the Optimization of CPLEX Models Mohamad

More information

AIMMS Function Reference - GMPInstance Procedures and Functions

AIMMS Function Reference - GMPInstance Procedures and Functions AIMMS Function Reference - Instance Procedures and Functions This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13

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

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

11th DIMACS Implementation Challenge in Collaboration with ICERM: Steiner Tree Problems

11th DIMACS Implementation Challenge in Collaboration with ICERM: Steiner Tree Problems 11th DIMACS Implementation Challenge in Collaboration with ICERM: Steiner Tree Problems Competition Rules The DIMACS Implementation Challenges address questions of determining realistic algorithm performance

More information

GUROBI 1 GUROBI Installation 2 GUROBI Using the Matlab Interface 3 GUROBI Features 4 GUROBI Appendix A 5 GUROBI Appendix B 13 GUROBI Appendix C 19

GUROBI 1 GUROBI Installation 2 GUROBI Using the Matlab Interface 3 GUROBI Features 4 GUROBI Appendix A 5 GUROBI Appendix B 13 GUROBI Appendix C 19 GUROBI PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 21 Jan 2012 17:27:25 UTC Contents Articles GUROBI 1 GUROBI Installation

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

Package Rcplex. February 15, 2013

Package Rcplex. February 15, 2013 Version 0.3-1 Date 2013-02-13 Title R interface to CPLEX Package Rcplex February 15, 2013 Author Hector Corrada Bravo, with contributions from Stefan Theussl and Kurt Hornik Maintainer Hector Corrada Bravo

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

LaGO. Ivo Nowak and Stefan Vigerske. Humboldt-University Berlin, Department of Mathematics

LaGO. Ivo Nowak and Stefan Vigerske. Humboldt-University Berlin, Department of Mathematics LaGO a Branch and Cut framework for nonconvex MINLPs Ivo Nowak and Humboldt-University Berlin, Department of Mathematics EURO XXI, July 5, 2006 21st European Conference on Operational Research, Reykjavik

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

A Feasibility Pump heuristic for general Mixed-Integer Problems

A Feasibility Pump heuristic for general Mixed-Integer Problems A Feasibility Pump heuristic for general Mixed-Integer Problems Livio Bertacco, Matteo Fischetti, Andrea Lodi Department of Pure & Applied Mathematics, University of Padova, via Belzoni 7-35131 Padova

More information

A hard integer program made easy by lexicography

A hard integer program made easy by lexicography Noname manuscript No. (will be inserted by the editor) A hard integer program made easy by lexicography Egon Balas Matteo Fischetti Arrigo Zanette February 16, 2011 Abstract A small but notoriously hard

More information

Introduction to CPLEX. Some very convenient solvers for most students include those with Excel and Matlab.

Introduction to CPLEX. Some very convenient solvers for most students include those with Excel and Matlab. 1.0 Overview Introduction to CPLEX There are a number of commercial grade LP solvers available. An excellent survey of such surveys can be found at http://lionhrtpub.com/orms/surveys/lp/lp-survey.html.

More information

Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression

Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression Filipe Brandão fdabrandao@dcc.fc.up.pt arxiv:1312.3836v1 [math.oc] 13 Dec 2013 João Pedro Pedroso pp@fc.up.pt Technical Report

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 Algorithmic Operations Research Vol.7 (2012) 13 20 Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0 1 Integer Programming Problems Lars MagnusHvattum

More information

Computational Experience with Parallel Integer Programming using the CHiPPS Framework. INFORMS Annual Conference, San Diego, CA October 12, 2009

Computational Experience with Parallel Integer Programming using the CHiPPS Framework. INFORMS Annual Conference, San Diego, CA October 12, 2009 Computational Experience with Parallel Integer Programming using the CHiPPS Framework TED RALPHS LEHIGH UNIVERSITY YAN XU SAS INSTITUTE LASZLO LADÁNYI IBM ILOG MATTHEW SALTZMAN CLEMSON UNIVERSITY INFORMS

More information

Pseudo-polynomial formulations for bin packing and cutting stock problems

Pseudo-polynomial formulations for bin packing and cutting stock problems Pseudo-polynomial formulations for bin packing and cutting stock problems Maxence Delorme (1) Manuel Iori (2) (1) DEI, University of Bologna, Italy, (2) DISMI, University of Modena and Reggio Emilia, Italy

More information

Strategies for Using Algebraic Modeling Languages to Formulate Second-Order Cone Programs

Strategies for Using Algebraic Modeling Languages to Formulate Second-Order Cone Programs Strategies for Using Algebraic Modeling Languages to Formulate Second-Order Cone Programs Robert Fourer, Jared Erickson Industrial Engineering & Management Sciences Northwestern University 4er@northwestern.edu,

More information

The Ascendance of the Dual Simplex Method: A Geometric View

The Ascendance of the Dual Simplex Method: A Geometric View The Ascendance of the Dual Simplex Method: A Geometric View Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL U.S.-Mexico Workshop on Optimization and Its Applications Huatulco

More information