Exact solutions to mixed-integer linear programming problems

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

An exact rational mixed-integer programming solver

An Exact Rational Mixed-Integer Programming Solver

The MIP-Solving-Framework SCIP

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

The Gurobi Optimizer. Bob Bixby

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

Primal Heuristics in SCIP

TOPICS IN EXACT PRECISION MATHEMATICAL PROGRAMMING

Motivation for Heuristics

Gurobi Guidelines for Numerical Issues February 2017

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

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

Verifying Integer Programming Results

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

Exact solutions to linear programming problems

The Gurobi Solver V1.0

Conflict Analysis in Mixed Integer Programming

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Algorithms for Decision Support. Integer linear programming models

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

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

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

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

Exploiting Degeneracy in MIP

Pure Cutting Plane Methods for ILP: a computational perspective

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

Fundamentals of Integer Programming

Parallel and Distributed Optimization with Gurobi Optimizer

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

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

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

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

RENS. The optimal rounding. Timo Berthold

5.3 Cutting plane methods and Gomory fractional cuts

Rounding and Propagation Heuristics for Mixed Integer Programming

3 INTEGER LINEAR PROGRAMMING

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

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

Applied Mixed Integer Programming: Beyond 'The Optimum'

Primal Heuristics for Branch-and-Price Algorithms

Branching rules revisited

Integer Optimization: Mathematics, Algorithms, and Applications

Algorithms II MIP Details

Investigating Mixed-Integer Hulls using a MIP-Solver

Modelling of LP-problems (2WO09)

Welcome to the Webinar. What s New in Gurobi 7.5

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

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

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

Numerically Safe Gomory Mixed-Integer Cuts

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

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

lpsymphony - Integer Linear Programming in R

Advanced Use of GAMS Solver Links

Handling first-order linear constraints with SCIP

The Ascendance of the Dual Simplex Method: A Geometric View

A Feasibility Pump heuristic for general Mixed-Integer Problems

SBB: A New Solver for Mixed Integer Nonlinear Programming

The Three Phases of MIP Solving

Basic Concepts of Constraint Integer Programming

On the safety of Gomory cut generators

MIPLIB Mixed Integer Programming Library version 5

Column Generation Based Primal Heuristics

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Solving a Challenging Quadratic 3D Assignment Problem

Integer Programming Chapter 9

COMP9334: Capacity Planning of Computer Systems and Networks

Integer Programming as Projection

Benders Decomposition

Discrete Optimization with Decision Diagrams

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

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

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

NEOS.jl (and other things)

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

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

Linear programming and duality theory

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

From final point cuts to!-polyhedral cuts

The AIMMS Outer Approximation Algorithm for MINLP

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Experiments with a Generic Dantzig-Wolfe Decomposition for Integer Programs

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

Linear and Integer Programming (ADM II) Script. Rolf Möhring WS 2010/11

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

Primal Heuristics for Mixed Integer Programs with a Staircase Structure

Linear Programming Duality and Algorithms

On the Global Solution of Linear Programs with Linear Complementarity Constraints

Benders in a nutshell Matteo Fischetti, University of Padova

The AIMMS Outer Approximation Algorithm for MINLP

Assessing Performance of Parallel MILP Solvers

Improved Gomory Cuts for Primal Cutting Plane Algorithms

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

Tutorial on Integer Programming for Visual Computing

The goal of this paper is to develop models and methods that use complementary

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

Some Advanced Topics in Linear Programming

Crash-Starting the Simplex Method

Transcription:

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 Programming Mixed-Integer Linear Program. max s.t. c T x Ax b x R n 1 Z n 2

Floating-point Computation for MIP What can go wrong? Suboptimal solution returned Infeasible solution returned Feasible problem declared infeasible

Deviation in Integer Programming Software Results Default Settings Presolve, cuts and heur. disabled Example SCIP CPLEX SCIP CPLEX aim-200-1 6-yes1-3 200 200 200 177 alu10 7 91 86 84 83 alu8 9 2.341e5 91 2.341e5 90 neos-585467 399.373 399.373 397.363 392.805 neos-619167 [1.643, 2.611] 2.141 2.141 1.664 ns1637403 46 46 46 14 ns2122603 [94, 7e5] infeasible [3.3, ] [1.7, ] opti 157 0 8.593e3 infeas./unbd. infeasible infeasible opti 24 1 8.210e2 infeas./unbd. infeasible infeasible ran14x18.disj-8 [3595, 3714] 3761 [3574, 3735] [3618, 3797] transportmoment infeasible infeas./unbd. unbounded [-5e10, -3e9] Results of FP based solvers (2 hour time limit) Numerically difficult instances (from MIPLIB 2010 and others)

Deviation in Integer Programming Software Results Default Settings Presolve, cuts and heur. disabled Example SCIP CPLEX SCIP CPLEX aim-200-1 6-yes1-3 200 200 200 177 alu10 7 91 86 84 83 alu8 9 2.341e5 91 2.341e5 90 neos-585467 399.373 399.373 397.363 392.805 neos-619167 [1.643, 2.611] 2.141 2.141 1.664 ns1637403 46 46 46 14 ns2122603 [94, 7e5] infeasible [3.3, ] [1.7, ] opti 157 0 8.593e3 infeas./unbd. infeasible infeasible opti 24 1 8.210e2 infeas./unbd. infeasible infeasible ran14x18.disj-8 [3595, 3714] 3761 [3574, 3735] [3618, 3797] transportmoment infeasible infeas./unbd. unbounded [-5e10, -3e9] Results of FP based solvers (2 hour time limit) Numerically difficult instances (from MIPLIB 2010 and others)

Necessity of Exact Solutions Where are exact MIP results needed? VLSI chip design verification Combinatorial auctions Numerically difficult problems Verifying results of test libraries

Rational Arithmetic for Linear Programming Applegate, Cook, Dash and Espinoza [2007] tested rational simplex implementation. http://gmplib.org It was hundreds or thousands of times slower than floating-point code.

Rational Arithmetic for Linear Programming Applegate, Cook, Dash and Espinoza [2007] tested rational simplex implementation. http://gmplib.org It was hundreds or thousands of times slower than floating-point code. try hybrid symbolic-numeric computation

Exact Linear Programming QSopt ex: Exact Rational LP Solver 1 Simplex method performed limited/fixed precision Final basic solution checked exactly Precision increased if needed Only 2-5x slower than FP-codes 1 Developed by Applegate, Cook, Dash and Espinoza [2007]

Branch-and-Bound Procedure max

Branch-and-Bound Procedure max f

Branch-and-Bound Procedure max f

Branch-and-Bound Procedure max f

Branch-and-Bound Procedure max f

Branch-and-Bound Procedure max x

Branch-and-Bound Procedure max x

Branch-and-Bound Procedure max x

Exact Mixed Integer Programming What happens if we use a fast exact LP solver at every node?

Exact Mixed Integer Programming What happens if we use a fast exact LP solver at every node? Applegate, Dash, Cook, Espinoza [2007] found this considerably slower than FP code. Warm starting the LPs in branch-and-bound means lots of LPs with less pivots per LP.

Exact Mixed Integer Programming Hybrid Approach for Exact MIP: Branch & Bound

Exact Mixed Integer Programming Hybrid Approach for Exact MIP: Branch & Bound 1 Store exact representation of problem Perform many operations on approximation or relaxation Exact or safe methods must be used for: Computing feasible solutions Computing LP bounds 1 see Cook, Koch, Steffy and Wolter [2011]

Exact Mixed Integer Programming Hybrid Approach for Exact MIP: Branch & Bound 1 Store exact representation of problem Perform many operations on approximation or relaxation Exact or safe methods must be used for: Computing feasible solutions use exact LP solver Computing LP bounds many choices here 1 see Cook, Koch, Steffy and Wolter [2011]

Valid Dual Bounds: Exact LP and Basis Verification Exact LP Solve each node LP exactly using QSopt ex Produces tightest possible bound

Valid Dual Bounds: Exact LP and Basis Verification Exact LP Solve each node LP exactly using QSopt ex Produces tightest possible bound Basis Verification Recompute basic sol. from floating-point LP solver exactly If dual feasible return valid dual bound Otherwise return infinite bound, branch (Hopefully branching can resolve numerical troubles)

Valid Dual Bounds: Primal-Bound-Shift Linear Program Primal: max s.t. Dual: min s.t. c T x Ax b l x u b T y l T z l + u T z u A T y Iz l + Iz u = c y, z l, z u 0 Idea: Use dual variables from primal bounds to correct approximate dual solution Applegate et al. [2006], Neumaier and Shcherbina [2004]

Valid Dual Bounds: Primal-Bound-Shift Linear Program Primal: max s.t. Dual: min s.t. c T x Ax b l x u b T y l T z l + u T z u A T y Iz l + Iz u = c y, z l, z u 0 Rigorous objective bound: Let ŷ, ẑ l, ẑ u 0 be an approximate dual solution Set r = c A T ŷ + ẑ l ẑ u (y, z l, z u ) = (ŷ, ẑ l + r +, ẑ u + r ) is a valid dual solution

Valid Dual Bounds: Primal-Bound-Shift Linear Program Primal: max c T x s.t. Ax b l x u Dual: min b T y l T z l + u T z u s.t. A T y Iz l + Iz u = c y, z l, z u 0 Good: Bad: Bound is trivial to compute Floating-point computation with directed rounding can be used Strength of the bound depends on tightness of primal variable bounds

Valid Dual Bounds: Project-and-Shift Linear Program Primal: max c T x s.t. Ax b Dual: min b T y s.t. A T y = c y 0 A more general procedure:

Valid Dual Bounds: Project-and-Shift Linear Program Primal: max c T x s.t. Ax b Dual: min b T y s.t. A T y = c y 0 A more general procedure: Main Idea: Find approximate dual solution ỹ Project ỹ to satisfy A T y = c Maintaining feasibility, shift to satisfy y 0

Valid Dual Bounds: Project-and-Shift Linear Program Primal: max c T x s.t. Ax b Dual: min b T y s.t. A T y = c y 0 Comments: Under some assumptions, most expensive computations can be done only once at root node and reused through the tree More general than Primal-Bound-Shift (but not entirely general) Some exact computation still required

Problem Structure in Tree Root Primal: max c T x s.t. Ax b Root Dual: min b T y s.t. A T y = c y 0 Node Primal: max c T x s.t. Ax b Āx b Node Dual: min b T y + b T z s.t. A T y + Ā T z y, z 0 = c

Valid Dual Bounds: Project-and-Shift Components of Project-and-Shift for MIP Root Node: Setup Phase Compute exact LU factorization of A T Determine (exact) corrector point y A T y = c, y > 0

Valid Dual Bounds: Project-and-Shift Components of Project-and-Shift for MIP Root Node: Setup Phase Compute exact LU factorization of A T Determine (exact) corrector point y A T y = c, y > 0 Node Bound Computation Start with approximate solution Project into equality space (using LU = A T ) Take convex combination with y to ensure feasibility

Implementation Implementation of Hybrid Branch-and-Bound Method Branch and bound framework: SCIP 1.2.0.8 Exact LP solver: QSopt ex 2.5.5 Floating-point LP solver: CPLEX 12.10 Multiple precision arithmetic package: GMP

Computational Tests Dual Bounding Methods Exact LP Basis Verification Primal-Bound-Shift Project-and-Shift Combination of above methods (automatic selection at each node)

Computational Tests Dual Bounding Methods Exact LP Basis Verification Primal-Bound-Shift Project-and-Shift Combination of above methods (automatic selection at each node) Pure Branch-and-Bound First Fractional Branching Results reported on 57 test problems selected from the MIPLIB and Mittelmann test libraries that were solved by (floating-point) SCIP branch-and-bound within 1 hour

Overall Computation Time # solved in 24h. Nodes Time (s.) Inexact 57 18,030 59.4 Exact LP 51 18,076 550.7 VerifyBasis 51 18,078 461.8 BoundShift 43 24,994 110.4 ProjectShift 49 18,206 369.3 Automatic 55 18,226 91.4 Nodes and time reported are the geometric means over 37/57 problems solved by all methods within 24h. time limit

Future Plans Some Future Plans: Cutting planes and pre-solve Certification of results Solve test library problems

East Coast Computer Algebra Day 2012 ECCAD 2012 Where: Oakland University, Rochester, Michigan When: Saturday May 12, 2012... more details to come

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