Computing with the Mixed Integer Rounding Cut.

Similar documents
Simplified Benders cuts for Facility Location

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

Using diversification, communication and parallelism to solve mixed-integer linear programs

Cloud Branching. Timo Berthold. joint work with Domenico Salvagnin (Università degli Studi di Padova)

In this paper we present a branch-and-cut algorithm for

Noncommercial Software for Mixed-Integer Linear Programming

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Chapter 13: Binary and Mixed-Integer Programming

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation)

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Convex Programming Tools for Disjunctive Programs

Introduction: Models, Model Building and Mathematical Optimization The Importance of Modeling Langauges for Solving Real World Problems

Computer Sciences Department

Solving convex MINLP problems with AIMMS

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Branch, Cut, and Price: Sequential and Parallel

SBB: A New Solver for Mixed Integer Nonlinear Programming

Scheduling of Mixed Batch-Continuous Production Lines

Branch and Cut for TSP

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

How to speed-up hard problem resolution using GLPK?

Large Neighborhood Search beyond MIP

TOMLAB - For fast and robust largescale optimization in MATLAB

Using the analytic center in the feasibility pump

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

4.6 Linear Programming duality

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Discrete Optimization

1 Solving LPs: The Simplex Algorithm of George Dantzig

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Optimization in R n Introduction

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

The Gurobi Optimizer

Multiple Spanning Tree Protocol (MSTP), Multi Spreading And Network Optimization Model

Planning and Scheduling in the Digital Factory

Combining (Integer) Linear Programming Techniques and Metaheuristics for Combinatorial Optimization

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Nonlinear Programming Methods.S2 Quadratic Programming

Nonlinear Optimization: Algorithms 3: Interior-point methods

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

Approximation Algorithms

Linear Programming. March 14, 2014

Reconnect 04 Solving Integer Programs with Branch and Bound (and Branch and Cut)

Mixed integer programming methods for supply chain optimization

How the European day-ahead electricity market works

Practical Guide to the Simplex Method of Linear Programming

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

Proximal mapping via network optimization

GAMS, Condor and the Grid: Solving Hard Optimization Models in Parallel. Michael C. Ferris University of Wisconsin

CHAPTER 9. Integer Programming

A Column Generation Model for Truck Routing in the Chilean Forest Industry

Strategic planning in LTL logistics increasing the capacity utilization of trucks

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

Special Situations in the Simplex Algorithm

Backdoors to Combinatorial Optimization: Feasibility and Optimality

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

24. The Branch and Bound Method

Optimization Modeling for Mining Engineers

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

Integer Programming. subject to: (i = 1, 2,..., m),

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

DUAL METHODS IN MIXED INTEGER LINEAR PROGRAMMING

Routing in Line Planning for Public Transport

IBM ILOG CPLEX for Microsoft Excel User's Manual

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Big Data Optimization at SAS

High-performance local search for planning maintenance of EDF nuclear park

On Minimal Valid Inequalities for Mixed Integer Conic Programs

Chapter 3 INTEGER PROGRAMMING 3.1 INTRODUCTION. Robert Bosch. Michael Trick

Mixed Integer Linear Programming in R

Some representability and duality results for convex mixed-integer programs.

3. Linear Programming and Polyhedral Combinatorics

5.1 Bipartite Matching

arxiv:cs/ v2 [cs.dm] 21 Aug 2001

Maximum Utility Product Pricing Models and Algorithms Based on Reservation Prices

Linear Programming. Solving LP Models Using MS Excel, 18

Route optimization applied to school transports A method combining column generation with greedy heuristics

Applied Algorithm Design Lecture 5

Algorithm Design and Analysis

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

On the Capacitated Vehicle Routing Problem

LocalSolver: black-box local search for combinatorial optimization

Simplex method summary

Resource Allocation Modeling Techniques Applied to Air Force Crew Scheduling Problem

Adaptive Cut Generation Algorithm for Improved Linear Programming Decoding of Binary Linear Codes


! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

On the effect of forwarding table size on SDN network utilization

Optimization models for targeted offers in direct marketing: exact and heuristic algorithms

Study Guide 2 Solutions MATH 111

Discrete Optimization Introduction & applications

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots

Adaptive Linear Programming Decoding

A Decision Support System for Crew Planning in Passenger Transportation using a Flexible Branch-and-Price Algorithm

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Linear Programming Notes VII Sensitivity Analysis

An Overview Of Software For Convex Optimization. Brian Borchers Department of Mathematics New Mexico Tech Socorro, NM

Transcription:

Computing with the Mixed Integer Rounding Cut. Marcos Goycoolea. Universidad Adolfo Ibañez Santiago, Chile. (joint work with Sanjeeb Dash, IBM Research, NY)

A quick history... Gomory s Mixed Integer cut (1960). Introduces the GMI procedure. Nemhauser and Wolsey (1990). Introduces the MIR cut as a generalization of the GMI cut to non-tableau rows. Balas, Ceria, Cornuejols, Nataraj (1996). Showed how to use GMI cuts in effective manner. Bixby et al (2000,2004). Report importance of GMI/MIR cuts in modern software (CPLEX).

An overview of my research on computing with MIR cuts (the last 5 years). Effectiveness of generalized MIR inequalities. On the strength of GMI and MIR cuts. On numerically accurate GMI cuts. On GMI cuts from non-optimal bases.

In this talk: A more detailed look at the MIR cut. On GMI cuts from non-optimal bases.

A closer look at the MIR inequality

A simple mixed-integer set: a i x i + a j w j = b x i Z i I j C i I x i,w j 0 i, j 1,...,n

A simple mixed-integer set: a i x i + a j w j = b x i Z i I j C i I x i,w j 0 i, j 1,...,n Define â = a a S = {i I :â i ˆb} The Mixed-Integer-Rounding Cut (MIR) : (â i + ˆba i )x i + i S i I\S(ˆb + ˆba i )x i + a j >0 a j w j ˆbb

A simple mixed-integer set: x + y b y Z,x 0 The Mixed-Integer-Rounding Cut (MIR) : x + ˆby ˆbb

10 9 8 y variables (integer values) 7 6 5 4 x + y b 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 x variables (continuous values)

A fractional extreme point 10 9 8 y variables (integer values) 7 6 5 4 x + y b 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 x variables (continuous values)

MIR inequality cuts it off! 10 9 8 y variables (integer values) 7 6 5 4 x + y b 3 2 x ˆb(b y) 1 0 0 1 2 3 4 5 6 7 8 9 10 x variables (continuous values)

And defines convex hull of feasible region.. 10 9 8 y variables (integer values) 7 6 5 4 x + y b 3 2 x ˆb(b y) 1 0 0 1 2 3 4 5 6 7 8 9 10 x variables (continuous values)

10 9 8 y variables (integer values) 7 6 5 4 x + y b 3 2 ˆby + x ˆbb 1 0 0 1 2 3 4 5 6 7 8 9 10 x variables (continuous values)

How to derive the general inequality? i I a i x i + j C a j w j = b ˆb a i x i + a j w j b i S\I i S\I i S I i S I a i x i + a j >0 a i x i + a i x i + a j w j b a i x i + a i x i + i S\I i S I â i x i + i S I a j >0 â i x i + a j w j ˆbb i S I a j >0

GMI cuts and optimal LP relaxation bases When the base system is defined by an equality, and b is fractional, the MIR is equivalent to: i I,â i <ˆb â i ˆb x i + i I,â i ˆb 1 â i 1 ˆb x i + 1ˆb j C:a j >0 a j w j + 1 1 ˆb j C:a j <0 a j w j 1 This is the GMI cut (Gomory, 1960). Base system optimal tableau row => violated!

GMI-based algorithms. 1. Solve LP relaxation L(i) 2. Apply MIR procedure to optimal tableau rows 3. Add GMI cuts to L(i) and obtain L(i+1) 4. Go to step 1 and repeat.

GMI-based algorithms. 1. Solve LP relaxation L(i) 2. Apply MIR procedure to optimal tableau rows 3. Add GMI cuts to L(i) and obtain L(i+1) 4. Go to step 1 and repeat. + Very good bound improvements + Relatively cheap (computational time) - Dense high-rank cuts slow down LP solver - Numerical problems lead to invalid cuts!

Overcoming these difficulties 1. Carefully control the floating point arithmetic operations to ensure numerical correctness. 2. Stick to generating rank-1 cuts.

Generating multiple rounds of rank-1 GMI inequalities

GMI-based algorithms. 1. Solve LP relaxation L(i) 2. Apply MIR procedure to optimal tableau rows 3. Add GMI cuts to L(i) and obtain L(i+1) 4. Go to step 1 and repeat.

Generating multiple rounds of rank-1 cuts. 1. Solve LP relaxation L(i) 2. Get x*, optimal solution of L(i) 3. Find a set of linear inequalities implied by L 4. Apply MIR procedure to these inequalities, and keep those that are violated by x* 5. Add MIR cuts to L(i) and obtain L(i+1) 6. Go to step 1 and repeat

Generating multiple rounds of rank-1 cuts. 1. Solve LP relaxation L(i) 2. Get x*, optimal solution of L(i) 3. Find a set of linear inequalities implied by L 4. Apply MIR procedure to these inequalities, and keep those that are violated by x* 5. Add MIR cuts to L(i) and obtain L(i+1) 6. Go to step 1 and repeat

Finding a set of linear inequalities implied by L: First approach: Use IP to compute appropriate linear combination of rows. Dash, Gunluk and Lodi (2010). Balas and Saxeena (2008).

Finding a set of linear inequalities implied by L: First approach: Use IP to compute appropriate linear combination of rows. Dash, Gunluk and Lodi (2010). Balas and Saxeena (2008). Method GAP closed 1-GMI 26.09% DGL 62.53% BS 76.52% < 1h (w/ time limit) < 10 days

Our approach: Use heuristics to compute appropriate bases of original LP, and apply GMI procedure.

We start with a system: L 1 =min{cx : Ax = b, x 0} After several rounds of cuts we obtain: L i =min{ c x : Ā x = b, x 0} =min{cx : Ax = b, Cx d, x 0} If we solve Li, we obtain: B x an optimal basis an optimal LP solution

We start with a system: L 1 =min{cx : Ax = b, x 0} can we After several rounds of cuts we obtain: L i =min{ c x : Ā x = b, x 0} =min{cx : Ax = b, Cx d, x 0} If we solve Li, we obtain: B an optimal basis use these to find a good basis for our original system?? x an optimal LP solution

B is an optimal basis of L i =min{ c x : Ā x = b, x 0} =min{cx : Ax = b, Cx d, x 0} This basis contains slack variables corresponding to rows defined by C! Does the optimal basis of Li contain an optimal basis of L1? (among the structural variables)

L 1 =min{cx : Ax = b, x 0} L i =min{ c x : Ā x = b, x 0} =min{cx : Ax = b, Cx d, x 0} B = A 0 B C I B A B has full rank!

Consider B an optimal basis of L i =min{ c x : Ā x = b, x 0} The basic idea =min{cx : Ax = b, Cx d, x 0} Look for a basis of L 1 =min{cx : Ax = b, x 0} Among the columns of I B That is, ignore non-basic variables (fix them at their corresponding bounds) and consider the remaining subproblem.

Graphically

2. Separate the point with a GMI cut 5. Add this rank-1 cut to separate x* Graphically 3. Re-optimize (solve L2) and get this point 1. Solve L1 and get this solution 4. Find this basic feasible point for L1

Also works with infeasible bases

3 techniques to find the basis itself 1. FEAS. Solve LP on unfixed variables with original objective. 2. MATROID (greedy and random objectives). Use greedy matroid algorithm to find max set. 3. SPARSE. Refactorize a basis so as to achieve sparsity.

Computational results MIPLIB 3.0 MIPLIB 2003 1-GMI 26.09 18.37 DGL 62.53 - B-S 76.52 - L&P 30.21 - FEAS 43.96 27.64 SPARSE 38.56 29.25 GREEDY 42.62 42. 31.03 RANDOM 41.67 25.78 RANDOM5 48.10 29.75 ALL 52.39 35.51 Avg. Performance on MIPLIB Problems

We never assumed Cx >= 0 defined valid inequalities! L 1 =min{cx : Ax = b, x 0} L i =min{ c x : Ā x = b, x 0} =min{cx : Ax = b, Cx d, x 0} B = A 0 B C I B A B has full rank!

Branch and Gather 1. Input: x* 2. Start branch-and-bound algorithm. 3. At each node of the tree, let C represent branching constraints and locally valid cuts. 4. At each node of tree, apply cut procedure. 5. Collect cuts for some number of nodes.

Branch and Gather

Computational results MIPLIB 3.0 MIPLIB 2003 1-GMI 26.09 18.37 DGL 62.53 - B-S 76.52 - L&P 30.21 - ALL 52.39 35.51 ALL+BG5 62.16 39.68 ALL+BG100 64.58 40.82 Avg. Performance on MIPLIB Problems. We use Branch-and-Gather algorithm on root node of each instance.

Branch-and-Cut If we add cuts at every node of the branch-and-bound tree we dont always do better.

Branch-and-Cut Solved in 26 minutes, using 7500 nodes. CPLEX takes 1 hour, using 2,245,200 nodes.

Branch-and-Cut Solved in 92 hours, using 265,900 nodes. First solved in 114 days of computing time, and 17 million nodes (problem specific cuts + grid-computing), by Buscieck et al. 2009. Later solved in 22 hours of computing time by a problem-specific branch-and-cut method (see MIPLIB 2003 webpage).

We don t even need a system Cx >= d. Just a point x*.

We don t even need a system Cx >= d. Just a point x*. We can use this for non-linear MIPs as well!

We don t even need a system Cx >= d. Just a point x*. We can use this for non-linear MIPs as well! ibienst1 -- MINLP from Mittleman s test set. quadratic objective, linear constraints Given x*, linear relaxation optimum. Use FEAS to try to separate. Guaranteed to find a feasible solution -- not necessarily basic.

We don t even need a system Cx >= d. Just a point x*. We can use this for non-linear MIPs as well! ibienst1 -- MINLP from Mittleman s test set. quadratic objective, linear constraints Given x*, linear relaxation optimum. Use FEAS to try to separate. Guaranteed to find a feasible solution -- not necessarily basic. In 3 seconds, using our heuristics, we obtain the same bound CPLEX 11,2 obtains in 30 seconds after using 100+ nodes of branching.

CONCLUSIONS Given a nonbasic solution x* of an m-row system Ax = b, x >= 0 with m+t non-zeros: 1. One can find a basis such that the GMI cuts from this basis are violated by x* if A is sparse and t is small. 3. The time to find these cuts is comparable to generating a round of GMI cuts. 4. Such cuts help to improve the bound. 5. This procedure can be used to obtain GMI cuts from nodes of a branch-and-bound tree or in nonlinear optimization problems.

CONCLUSIONS Given a nonbasic solution x* of an m-row system Ax = b, x >= 0 with m+t non-zeros: 1. One can find a basis such that the GMI cuts from this basis are violated by x* if A is sparse and t is small. 3. The time to find these cuts is comparable to generating a round of GMI cuts. 4. Such cuts help to improve the bound. 5. This procedure can be used to obtain GMI cuts from nodes of a branch-and-bound tree or in nonlinear optimization problems. Questions?

Numerically accurate GMI inequalities

Floating point arithmetic: basic properties.