The Gurobi Solver V1.0

Similar documents
Motivation for Heuristics

The Gurobi Optimizer. Bob Bixby

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

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

Applied Mixed Integer Programming: Beyond 'The Optimum'

Algorithms II MIP Details

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

Welcome to the Webinar. What s New in Gurobi 7.5

The MIP-Solving-Framework SCIP

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

Linear & Integer Programming: A Decade of Computation

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

Exploiting Degeneracy in MIP

A Parallel Macro Partitioning Framework for Solving Mixed Integer Programs

Exact solutions to mixed-integer linear programming problems

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

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

M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011

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

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Integer Optimization: Mathematics, Algorithms, and Applications

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

Solving a Challenging Quadratic 3D Assignment Problem

Fundamentals of Integer Programming

Conflict Analysis in Mixed Integer Programming

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

What's New in Gurobi 7.0

Solving a Challenging Quadratic 3D Assignment Problem

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

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

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

Primal Heuristics in SCIP

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

Gurobi Guidelines for Numerical Issues February 2017

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

Optimization Methods in Management Science

Noncommercial Software for Mixed-Integer Linear Programming

Discrete Optimization with Decision Diagrams

Experiments On General Disjunctions

Parallel and Distributed Optimization with Gurobi Optimizer

Solving Linear and Integer Programs

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

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

sbb COIN-OR Simple Branch-and-Cut

Benders in a nutshell Matteo Fischetti, University of Padova

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

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

Integer Programming Chapter 9

Basic Concepts of Constraint Integer Programming

1 date: September 15, 1998 file: mitche2

Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

Parallel Branch & Bound

Parallel Solvers for Mixed Integer Linear Optimization

Assessing Performance of Parallel MILP Solvers

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

Algorithms for Decision Support. Integer linear programming models

Parallel Branch, Cut, and Price for Large-Scale Discrete Optimization

Recent Advances In The New Mosek 8

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Implementing Constraint Handlers in SCIP

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

Parallelizing the dual revised simplex method

Parallel Solvers for Mixed Integer Linear Programming

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

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

Selected Topics in Column Generation

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Primal Heuristics for Branch-and-Price Algorithms

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

Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs

A Local Dominance Procedure for Mixed-Integer Linear Programming

Integer Programming as Projection

DETERMINISTIC OPERATIONS RESEARCH

Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs

Cutting Stock with Binary Patterns: Arc-flow Formulation with Graph Compression

Column Generation Based Primal Heuristics

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

Modern Benders (in a nutshell)

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

SYMPHONY 4.0 User s Manual 1

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

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

lpsymphony - Integer Linear Programming in R

Large-Scale Optimization and Logical Inference

RENS. The optimal rounding. Timo Berthold

The Mixed Integer Linear Programming Solver

3 INTEGER LINEAR PROGRAMMING

Tree Search Stabilization by Random Sampling

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Column Generation: Cutting Stock

Integer and Combinatorial Optimization

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

Implementing Scalable Parallel Search Algorithms for Data-Intensive Applications

TIM 206 Lecture Notes Integer Programming

Pure Cutting Plane Methods for ILP: a computational perspective

Finding an optimal seating arrangement for employees traveling to an event

Branch and Cut. John E. Mitchell. May 12, 2010

Search Algorithms for Discrete Optimization Problems

The Decomposition Algorithm

Transcription:

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 Parallel MIP Other Heuristics Cutting Planes Where we are now Performance 2 1 Oct 09

Gurobi Optimization, Inc. founded July, 2008 Founders: Gu, Rothberg, Bixby Building a algorithmic base LP simplex and MIP in Version 1.0 Development timeline March 2008 Development began Otb October 2008 Version 1.0 development completed 18 May 2009 Version 10released 1.0 2 October 2009 Version 2.0 to be released 3 1 Oct 09

Redesigning the MIP Solver 4 1 Oct 09

MIP problem Mixed Integer Programming Minimize Subject To c T x Ax = b l x u Some x j must be integral 5 1 Oct 09

MIP Solution Approach Branch and bound [Land & Doig, 1960] Explore a tree of relaxations (ignore integrality) x 0 x 1 Root node: (x=0.5, y=1, z=0.5, ) y 0 y 1 6 1 Oct 09

Key Ingredients For an effective MIP solver, you need Heuristics Explore solutions near the relaxation quickly Find feasible solutions at nodes other than leaf nodes Parallelism Presolve Tighten formulation before starting branch & bound Once you start branching, mistakes replicate Branch variable selection Cutting planes LP dual simplex solver 7 1 Oct 09

A Fresh Look 8 1 Oct 09

A Fresh Look Things have changed: Two examples: Sub MIP as a pervasive approach Ubiquitous parallel processing 9 1 Oct 09

Sub MIP As A Paradigm Key recent insight for heuristics: Can use MIP solver recursively as a heuristic Solve a related model: Hopefully smaller and simpler Examples: Local cuts [Applegate, Bixby, Chvátal & Cook, 2001] Local branching [Fischetti & Lodi, 2003] RINS [Danna, Rothberg, Le Pape, 2005] Solution polishing [Rothberg, 2007] 10 1 Oct 09

RINS Relaxation InducedNeighborhood Search Given two solutions : x*: any integer feasible solution (not optimal) x R : optimal relaxation solution (not integer feasible) Fix variables that agree Solve the result as a MIP Possibly requiring early termination Extremely effective heuristic Often finds solutions that no other technique finds 11 1 Oct 09

Why Is RINS So Effective? MIP models often involve a hierarchy of decisions Some much more important than others Fixing variables doesn t just make the problem smaller Often changes the nature of the problem Extreme case: Problem decomposes into multiple, simple problems More general case: Resolving few key decisions can have a dramatic effect Strategies that worked well for the whole problem may not work well for RINS sub MIP More effective to treat it as a brand new MIP 12 1 Oct 09

Rethinking MIP Tree Search 13 1 Oct 09

Tree of Trees Trees Gurobi MIP search tree manager built to handle multiple related trees Can transform any node into the root node of a new tree Maintains a pool of nodes from all trees No need to dedicate the search to a single sub tree 14 1 Oct 09

Tree of Trees Trees Search tree: Node pool: x=0 x=1 y=0 y=1 15 1 Oct 09

Tree of Trees Trees Each tree has its own relaxation and its own strategies... Presolved model for each subtree Cuts specific to that subtree Pseudo costs for that subtree only Symmetry detection on that submodel Etc. Captures structure that is often not visible in the original model 16 1 Oct 09

Parallel MIP 17 1 Oct 09

Why Parallel? Microprocessor trends have changed Transistors are: Still getting smaller But not faster Implications: New mathfor CPUs: more transistors = more cores 4 cores now, 8 cores in late 2009, Sequential software won t be getting significantly faster in the foreseeable future Gurobi MIP solver built for parallel from the ground up Sequential isjust a special case 18 1 Oct 09

Need Deterministic Behavior Non deterministicparallel behavior: Multiple runs with the same inputs can give different results Insanity: doing the same thing over and over again and expecting different results. Albert Einstein Conclusion: non deterministic i i parallel l behavior will drive you insane 19 1 Oct 09

Building Blocks 20 1 Oct 09

Building Blocks Parallel MIPis parallel branch and bound: and bound: Available for simultaneous processing 21 1 Oct 09

Deterministic Parallel MIP Multiple phases In each phase, on each processor: Explore nodes assigned to processor Report back results New active nodes New solutions New cuts Etc. One approach to node assignment: Assign a subtree to each processor Limit amount of exploration in each phase 22 1 Oct 09

Subtree Partitioning Problem: Subtree may quickly prove to be uninteresting Poorrelaxation relaxation objectives May want to abandon it Pruned quickly Leaves processor idle 23 1 Oct 09

More Global Partitioning Node coloring: assign a color to every node Processor can only process nodes of the appropriate color New child node same color as parent node Perform periodic re coloring 24 1 Oct 09

More Dynamic Node Processing Allows much more flexibility Processor can choose from among many nodes of the appropriate color Deterministic priority queue data structure required to support node coloring Single global view of active nodes Support notion of node color Processor only receives node of the appropriate color Efficient, frequent node reallocation 25 1 Oct 09

Heuristics 26 1 Oct 09

Summary of Heuristics 5 heuristics prior to solving root LP 5 different variable orders, fix variables in this order 15 heuristics within tree (9 primary, several variations) RINS, rounding, fix and dive (LP), fix and dive (Presolve), Lagrangian approach, pseudo costs, Hail Mary (set objective to 0) 3 solution improvement heuristics Applied whenever a new integer feasible is found

Cutting Planes 28 1 Oct 09

Cutting Planes Gomory Gu ISMP 2006, strengthen by lifting in GUBs Flow covers MIR Strengthened by lifting before un transforming Different aggregation for MIR and flow covers Knapsack covers Clique Implied bound Flow paths Results fed into flow covers GUB covers 29 1 Oct 09

Performance 30 1 Oct 09

Performance Benchmarks Performance test sets: Mittelmann optimality test set: 55 models, varying degrees of difficulty http://plato.asu.edu/ftp/milpc.html Mittelmann feasibility test set: 34 models, difficult to find feasible solutions http://plato.asu.edu/ftp/feas_bench.html Our own broader test set: A set of 263 models that require between one minute and one hour to solve on one core Publicly available models, plus a few customer models Test platform: Q9450 (2.66 GHz, quad core system) 31 1 Oct 09

Performance Results Two basic questions: Is P=1 efficient? How much does performance improve with P>1? P=1 efficiency (geometric means): Mittelmann optimality test set Gurobi 1.1 is 1.18X slower than CPLEX 12.0 Mittelmann feasibility test set Gurobi 1.1 is 2.3X faster than CPLEX 12.0 32 1 Oct 09

Parallel Performance Comparisons: Gurobi 1.45X faster than CPLEX 12.0 for p=4 on Mittelmann Gurobi p=1 versus p=4 1.73X speedup on Mittelmann 1.61X speedup on broader set CPLEX p=1 versus p=4 1.21X speedup for CPLEX 12 on Mittelmann (nondeterministic) 1.29X speedup for CPLEX 11 on their broader set 33 1 Oct 09

Speedups for P=4 (By Model) 5 4 3 2 1 0 34 1 Oct 09

Gurobi 2.0 Improve simplex solver Cutting planes Add missing i cutting planes Add missing presolve reductions

Thank You