Mixed Integer Programming Class Library (MIPCL)

Size: px
Start display at page:

Download "Mixed Integer Programming Class Library (MIPCL)"

Transcription

1 Mixed Integer Programming Class Library (MIPCL) Nicolai N. Pisaruk Belarus State University, Faculty of Economy, Nezavisimosty Av., 4, Minsk, Belarus April 20, 2016 Abstract The Mixed Integer Programming Class Library (MIPCL) is a free software designed for implementing mixed-integer programming models quickly, easily, and efficiently. Computational experiments show that currently MIPCL is one of the best noncommercial mixed-integer programming solvers. MIPCL libraries, documentation and examples are provided under the terms of the GNU Lesser Public License. Therefore, MIPCL is equally freely available for noncommercial and commercial use. 1 Introduction A mixed integer (linear) program (MIP) is an optimization problem with linear objective and linear constraints in which some of its variables are required to take on integral values. A wide variety of practical problems can be formulated as MIPs. For details on mixed integer programming, see, e.g., [12, 13, 11]. For decades from its introduction, mixed integer programming believed to be a powerful modeling tool that did not work in practice. The past twenty years has seen an impressive increase in the quality of software both commercial and noncommercial designed for solving MIPs. Today, with faster computers and better software, we can solve to optimality many classes of difficult practical MIPs. In general, noncommercial MIP solvers cannot match the speed and robustness of best commercial counterparts (CPLEX [7], GUROBY [6], Xpress-MP [5]), but they are a viable alternative for those users who cannot afford costly commercial software. At the same time, for practical applications of moderate size, the best noncommercial MIP solvers (SCIP [1], CBC [4], MIPCL [8]) are almost equally efficient as the best commercial solvers. 1

2 2 MIPL MIPCL is a tool for solving mixed integer programs (MIPs). It is completely implemented in C++. MIPCL can be used standalone as a shared object (dynamically linked library) in C++ projects; together with a modeling tool MIPshell; as an application for solving MIPs written in the MPS format. A detailed description of MIPCL can be found in the MIPCL Reference Manual [8]. MIPCL is implemented as a library of C++ classes. The main classes are CMIP and CLP. CMIP is a system for solving MIPs, and CLP is a system for solving linear programs (LPs). MIPCL supports MIPCL supports implementation of both branch-and-cut and branch-and-price algorithms, preprocessing (automatic reformulation), symmetry breaking, primal heuristics, cut/column generation, strong branching. The MIPCL API makes it easy for users to integrate optimization into their own application. The developer interface has been designed for maximum easeof-use. MIPCL is highly flexible through many virtual functions that allow developers to implement problem specific separation routines to apply problem specific cutting planes; column generation procedures; primal heuristics to search for feasible solutions with specific support for probing and diving; node selectors to guide the search; branching rules to split the problem into subproblems; preprocessing to simplify solved problems; managing the pool storing cuts and generated columns. MIPCL comes with clear, comprehensive documentation and examples to help you get started quickly. MIPCL also comes with many examples developed to ease using the MIPCL libraries. Since all the examples are available in source code, they are useful for teaching mixed-integer programming. 2

3 2.1 Multithreading Modern multi-core desktop computers provide parallel computing environments that allow MIP solvers work in parallel. Therefore, MIPCL has been redesigned to parallelize the tree search. Developing and debugging complex multithreaded applications is far from being a trivial task. When designing multithreaded MIPCL library, the main goal was not to add further difficulties. If you do not overload any MICLfunction in your application, then there is nothing to be bothered about: your application will run equally well both with singlethreaded and multithreaded libraries. But if in your application generates cuts or columns, implements some problem specific branching strategy. or simply overload any virtual function of the base class CMIP, in any derived subclass of CMIP, you have to implement the clone constructor and an interface that is used by MIPCL to create objects of this derived subclass. The clone constructor is called when a new thread is created. It is is very similar to the copy constructor except that the clone constructor does not allocates memory to store shared (with the created object) members of the cloned object. 2.2 Performance The MIPCL code was run with a limit of 2 hours on the MIPLIB2010 benchmark set (statistics of these problems can be obtained from the MIPLIB2010 website [9]) with the MIPLIB2010 scripts on the following platform: AMD FX8120, 8 cores, 8GB, 3.1GHz. In a consize form the results are given in the last column of Table 1. To compare MIPCL with its best counterparts (commercial and noncommercial), we use the results of tests conducted by H.Mittelmamm [10]. The following codes were run with a limit of 2 hours on the MIPLIB2010 benchmark set on different platforms: CPLEX: CPLEX [7], GUROBY: GUROBY [6], SCIPC: ug[scip/cpx] (parallel development version of SCIP+CPLEX) [2], SCIPS: ug[scip/spx] (parallel development version of SCIP+SOPLEX) [2], CBC: CBC [3], XPRESS: XPRESS [5]. We compare the MIPCL results with those for its counterparts obtained on the following platform: Intel i7-2600, 4 cores, 16GB, 3.4GHz, which performance is similar (and even assumed to be a little bit better) than the performance of the platform on which we tested MIPCL. GMRT stands for geometric mean of run times. 3

4 CBC CPLEX SCIPC SCIPS Gurobi XPRESS MIPCL Solved Stopped Failed GMRT Table 1: Results produced by MIP solvers 3 MIPshell modeling framework Anyone who has ever attempted to apply mathematical programming in practice knows that it is usually not a simple and straightforward exercise. Optimization programming languages are the tools that facilitates modelling and solving optimization problems. MIPshell is not an optimization programming language. It is just a framework designed to ease modelling and solving LPs and MIPs with MIPCL. MIPshell comprises collection of STL-based C++ classes that represent variables, constraints, sets, vectors, arrays, and etc.; library of functions to simplify posing optimization problems; preprocessor that translates new modelling operators into fragments of C++ code. Developing complex industrial applications, we need an API that supports writing GUI interfaces, working with databases, connecting to remote servers, and etc. None of the existing optimization programming languages supports implementation of all these requirements. On the other hand, modern development frameworks, such as Qt or Microsoft Visual Studio, have everything what is needed. One can easily incorporate MIPCL together with MIPshell into any of such frameworks. 3.1 Illustrative Example Let us consider the following MIP (f e y e + c e x e ) min, e E x e e E:t e=v e E:h e=v x e = d v, v V, 0 x e u e y e, e E, y e {0, 1}, e E, (1) wich is a formulation of the fixed charge network flow problem (see [13]). Here, G = (V, E) is a directed graph, and, for each e = (v, w) E, t e = v and h e = w are the tail and head nodes of arc e, u e is the capacity, and f e + c e x e is the 4

5 the cost of shipping x e > 0 units of product along e (if x e = 0, then nothing is paid). In MIPshell, (1) is written as follows: int e; VAR VECTOR x("x",real GE,E); VAR VECTOR y("y",bin,e); minimize(sum(e in E) (f(e)*y(e) + c(e)*x(e))); forall(v in V) sum(e in E: h(e)==v) x(e) - sum(e in E: t(e)==v) x(e) == d(v); forall(e in E) x(e) <= u(e)*y(e); optimize(); To help you get started quickly, MIPshell comes with clear, comprehensive documentation and a great deal of examples. Since all the examples are available in source code, they are useful for teaching mixed integer programming. References [1] T. Achterberg, SCIP: solving constraint integer programs. Math. Prog. Comp. (2009) 1: [2] [3] J.J.H.Forrest, COIN branch and cut. COIN-OR., [4] COIN-OR. Computational Infrastructure for Operations Research. [5] Dash Optimization. Xpress-MP. [6] Guroby Optimization Inc. Guroby Optimizer. Software, 2012, [7] IBM. IBM ILOG CPLEX Optimization Studio ibm.com/software/integration/optimisation/cplex-optimization-studio/ [8] MIPCL Reference Manual, Online 2015, [9] MIPLIB2010, [10] [11] N.N. Pisaruk, Models and methods of mixed-integer programming. Belarus State University,

6 [12] M.Jürgen, T.Liebling, D.Naddef, G.L.Nemhauser, W.R.Pulleyblank, G.Reinelt, G.Rinaldi, L.A.Wolsey (eds.): 50 Years of Integer Programming Springer, Berlin (2009). [13] L.A. Wolsey. Integer Programming. Wiley,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TIM 206 Lecture Notes Integer Programming

TIM 206 Lecture Notes Integer Programming TIM 206 Lecture Notes Integer Programming Instructor: Kevin Ross Scribe: Fengji Xu October 25, 2011 1 Defining Integer Programming Problems We will deal with linear constraints. The abbreviation MIP stands

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

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 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

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

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

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

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

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

GAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla

GAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla GAMS General Algebraic Modeling System Michael Bussieck mbussieck@gams.com Jan-Hendrik Jagla jhjagla@gams.com GAMS Software GmbH www.gams.de GAMS Development Corporation www.gams.com EURO 2009 Bonn GAMS

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

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

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

Introduction to Mathematical Programming IE406. Lecture 9. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 9. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 9 Dr. Ted Ralphs IE406 Lecture 9 1 Reading for This Lecture AMPL Book: Chapter 1 AMPL: A Mathematical Programming Language GMPL User s Guide ZIMPL

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

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

Modelling. Christina Burt, Stephen J. Maher, Jakob Witzig. 29th September Zuse Institute Berlin Berlin, Germany

Modelling. Christina Burt, Stephen J. Maher, Jakob Witzig. 29th September Zuse Institute Berlin Berlin, Germany Modelling Christina Burt, Stephen J. Maher, Jakob Witzig Zuse Institute Berlin Berlin, Germany 29th September 2015 Modelling Languages Jakob Witzig Burt, Maher, Witzig Modelling 1 / 22 Modelling Languages:

More information

An open-source stochastic programming solver. H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago

An open-source stochastic programming solver. H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago An open-source stochastic programming solver H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago ICSP 2013 Overview Open source software COIN-OR Optimization

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

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

Parallel Processing in Mixed Integer Programming

Parallel Processing in Mixed Integer Programming Parallel Processing in Mixed Integer Programming Laurent Poirrier Université de Liège Montefiore Institute March 27, 2009 Outline Parallel Processing Basics What, why, how? Types of Parallel Computing

More information

The SYMPHONY Callable Library for Mixed-Integer Linear Programming

The SYMPHONY Callable Library for Mixed-Integer Linear Programming The SYMPHONY Callable Library for Mixed-Integer Linear Programming A Tutorial Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University INFORMS Computing Society Conference, Annapolis,

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

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

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

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

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

Minimum Weight Constrained Forest Problems. Problem Definition

Minimum Weight Constrained Forest Problems. Problem Definition Slide 1 s Xiaoyun Ji, John E. Mitchell Department of Mathematical Sciences Rensselaer Polytechnic Institute Troy, NY, USA jix@rpi.edu, mitchj@rpi.edu 2005 Optimization Days Montreal, Canada May 09, 2005

More information

Tools for Modeling Optimization Problems A Short Course. Algebraic Modeling Systems. Dr. Ted Ralphs

Tools for Modeling Optimization Problems A Short Course. Algebraic Modeling Systems. Dr. Ted Ralphs Tools for Modeling Optimization Problems A Short Course Algebraic Modeling Systems Dr. Ted Ralphs Algebraic Modeling Systems 1 The Modeling Process Generally speaking, we follow a four-step process in

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

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

Using COIN-OR to Solve the Uncapacitated Facility Location Problem

Using COIN-OR to Solve the Uncapacitated Facility Location Problem Using COIN-OR to Solve the Uncapacitated Facility Location Problem Ted Ralphs 1 Matthew Saltzman 2 Matthew Galati 3 1 COR@L Lab Department of Industrial and Systems Engineering Lehigh University 2 Department

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

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

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

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

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

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

Finding an optimal seating arrangement for employees traveling to an event

Finding an optimal seating arrangement for employees traveling to an event Croatian Operational Research Review 419 CRORR 6(2015), 419 427 Finding an optimal seating arrangement for employees traveling to an event Ninoslav Čerkez 1, Rebeka Čorić 2, Mateja Dumić 2, and Domagoj

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

DETERMINISTIC OPERATIONS RESEARCH

DETERMINISTIC OPERATIONS RESEARCH DETERMINISTIC OPERATIONS RESEARCH Models and Methods in Optimization Linear DAVID J. RADER, JR. Rose-Hulman Institute of Technology Department of Mathematics Terre Haute, IN WILEY A JOHN WILEY & SONS,

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

LPL: Product Description

LPL: Product Description LPL: Product Description LPL is a full-fetched mathematical modeling system with a point-and-click user interface and a powerful modeling language. The language is a structured mathematical and logical

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

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

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

Free modelling languages for linear and integer programming

Free modelling languages for linear and integer programming Alistair Clark Free modelling languages for linear and integer programming Alistair Clark Faculty of Computing, Engineering and Mathematical Sciences University of the West of England alistair.clark@uwe.ac.uk

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

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

NOTATION AND TERMINOLOGY

NOTATION AND TERMINOLOGY 15.053x, Optimization Methods in Business Analytics Fall, 2016 October 4, 2016 A glossary of notation and terms used in 15.053x Weeks 1, 2, 3, 4 and 5. (The most recent week's terms are in blue). NOTATION

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

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

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

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

Solving Linear and Integer Programs

Solving Linear and Integer Programs Solving Linear and Integer Programs Robert E. Bixby Gurobi Optimization, Inc. and Rice University Overview Linear Programming: Example and introduction to basic LP, including duality Primal and dual simplex

More information

COIN-OR: Software Tools for Implementing Custom Solvers

COIN-OR: Software Tools for Implementing Custom Solvers COIN-OR: Software Tools for Implementing Custom Solvers Ted Ralphs Lehigh University László Ladányi IBM T. J. Watson Research Center Matthew Saltzman Clemson University Institute for Operations Research

More information

Automatic Conference Scheduling with PuLP

Automatic Conference Scheduling with PuLP Automatic Conference Scheduling with PuLP EuroPython 2017 Rimini, Italy Marc-André Lemburg :: egenix.com GmbH (c) 2017 egenix.com Software, Skills and Services GmbH, info@egenix.com Speaker Introduction

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

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

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

Tree Search Stabilization by Random Sampling

Tree Search Stabilization by Random Sampling Noname manuscript No. (will be inserted by the editor) Tree Search Stabilization by Random Sampling Matteo Fischetti Andrea Lodi Michele Monaci Domenico Salvagnin Andrea Tramontani Submitted: September

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

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 SAS/OR s OPTMODEL Procedure :

The SAS/OR s OPTMODEL Procedure : The SAS/OR s OPTMODEL Procedure : A Powerful Modeling Environment for Building, Solving, and Maintaining Mathematical Optimization Models Maurice Djona OASUS - Wednesday, November 19 th, 2008 Agenda Context:

More information

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016 Simulation Lecture O Optimization: Linear Programming Saeed Bastani April 06 Outline of the course Linear Programming ( lecture) Integer Programming ( lecture) Heuristics and Metaheursitics (3 lectures)

More information

Parallel Solvers for Mixed Integer Linear Optimization

Parallel Solvers for Mixed Integer Linear Optimization Industrial and Systems Engineering Parallel Solvers for Mixed Integer Linear Optimization Ted Ralphs Lehigh University, Bethlehem, PA, USA Yuji Shinano Zuse Institute Berlin, Takustraße 7, 14195 Berlin,

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

Experiments On General Disjunctions

Experiments On General Disjunctions Experiments On General Disjunctions Some Dumb Ideas We Tried That Didn t Work* and Others We Haven t Tried Yet *But that may provide some insight Ted Ralphs, Serdar Yildiz COR@L Lab, Department of Industrial

More information

LocalSolver 4.0: novelties and benchmarks

LocalSolver 4.0: novelties and benchmarks LocalSolver 4.0: novelties and benchmarks Thierry Benoist Julien Darlay Bertrand Estellon Frédéric Gardi Romain Megel www.localsolver.com 1/18 LocalSolver 3.1 Solver for combinatorial optimization Simple

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

Parallel Solvers for Mixed Integer Linear Programming

Parallel Solvers for Mixed Integer Linear Programming Zuse Institute Berlin Takustr. 7 14195 Berlin Germany TED RALPHS 1, YUJI SHINANO, TIMO BERTHOLD 2, THORSTEN KOCH Parallel Solvers for Mixed Integer Linear Programming 1 Department of Industrial and Systems

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

Implementing Custom Applications with CHiPPS. INFORMS Annual Conference, San Diego, CA October 12, 2009

Implementing Custom Applications with CHiPPS. INFORMS Annual Conference, San Diego, CA October 12, 2009 Implementing Custom TED RALPHS LEHIGH UNIVERSITY YAN XU SAS INSTITUTE LASZLO LADÁNYI IBM ILOG MATTHEW SALTZMAN CLEMSON UNIVERSITY INFORMS Annual Conference, San Diego, CA October 12, 2009 Thanks: Work

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

Automatic Decomposition and Branch-and-Price A Status Report

Automatic Decomposition and Branch-and-Price A Status Report Automatic Decomposition and Branch-and-Price A Status Report Marco E. Lübbecke RWTH Aachen University, Operations Research, Kackertstraße 7, D-52072 Aachen, Germany marco.luebbecke@rwth-aachen.de Abstract.

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 SYMPHONY Callable Library for Mixed-Integer Linear Programming

The SYMPHONY Callable Library for Mixed-Integer Linear Programming The SYMPHONY Callable Library for Mixed-Integer Linear Programming Ted Ralphs and Menal Guzelsoy Industrial and Systems Engineering Lehigh University INFORMS Computing Society Conference, Annapolis, MD,

More information

FATCOP 2.0: Advanced Features in an Opportunistic Mixed Integer Programming Solver

FATCOP 2.0: Advanced Features in an Opportunistic Mixed Integer Programming Solver Annals of Operations Research 0 (2000) 1 20 1 FATCOP 2.0: Advanced Features in an Opportunistic Mixed Integer Programming Solver Qun Chen a, Michael Ferris b and Jeff Linderoth c a Department of Industrial

More information

A Branch-and-Cut Algorithm for the Single-Commodity, Uncapacitated, Fixed-Charge Network Flow Problem

A Branch-and-Cut Algorithm for the Single-Commodity, Uncapacitated, Fixed-Charge Network Flow Problem A Branch-and-Cut Algorithm for the Single-Commodity, Uncapacitated, Fixed-Charge Network Flow Problem Francisco Ortega n-side, Rue de la Longue Haie 17/001, 1348 Louvain-la-Neuve, Belgium Laurence A. Wolsey

More information

Mathematical Tools for Engineering and Management

Mathematical Tools for Engineering and Management Mathematical Tools for Engineering and Management Lecture 8 8 Dec 0 Overview Models, Data and Algorithms Linear Optimization Mathematical Background: Polyhedra, Simplex-Algorithm Sensitivity Analysis;

More information

Building a Custom Solver with the COIN-OR Branch, Cut, and Price Frameworks

Building a Custom Solver with the COIN-OR Branch, Cut, and Price Frameworks Building a Custom Solver with the COIN-OR Branch, Cut, and Price Frameworks Ted Ralphs and Menal Guzelsoy Lehigh University László Ladányi IBM T. J. Watson Research Center Matthew Saltzman Clemson University

More information

The SYMPHONY Callable Library for Mixed-Integer Linear Programming

The SYMPHONY Callable Library for Mixed-Integer Linear Programming The SYMPHONY Callable Library for Mixed-Integer Linear Programming Menal Guzelsoy and Ted Ralphs Industrial and Systems Engineering Lehigh University INFORMS Annual Meeting, San Francisco, CA, November

More information

A Generic Benders Decomposition Algorithm for the AIMMS Modeling Language Informs 2012, Phoenix

A Generic Benders Decomposition Algorithm for the AIMMS Modeling Language Informs 2012, Phoenix A Generic Benders Decomposition Algorithm for the AIMMS Modeling Language Informs 2012, Phoenix Marcel Hunting marcel.hunting@aimms.com Paragon Decision Technology Copyright by Paragon Decision Technology

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

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