Pure Cutting Plane Methods for ILP: a computational perspective

Similar documents
Lexicography and degeneracy: Can a pure cutting plane algorithm work?

Gomory Reloaded. Matteo Fischetti, DEI, University of Padova (joint work with Domenico Salvagnin) 1 MIP 2010

A hard integer program made easy by lexicography

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

3 INTEGER LINEAR PROGRAMMING

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

lpsymphony - Integer Linear Programming in R

Primal Heuristics in SCIP

Implementing a B&C algorithm for Mixed-Integer Bilevel Linear Programming

AM 121: Intro to Optimization Models and Methods Fall 2017

Improved Gomory Cuts for Primal Cutting Plane Algorithms

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

Modern Benders (in a nutshell)

Exploiting Degeneracy in MIP

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

5.3 Cutting plane methods and Gomory fractional cuts

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

The Ascendance of the Dual Simplex Method: A Geometric View

The MIP-Solving-Framework SCIP

Motivation for Heuristics

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

Read: H&L chapters 1-6

Exact solutions to mixed-integer linear programming problems

THEORY OF LINEAR AND INTEGER PROGRAMMING

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

Experiments On General Disjunctions

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

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

From final point cuts to!-polyhedral cuts

Benders in a nutshell Matteo Fischetti, University of Padova

Algorithms for Decision Support. Integer linear programming models

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

The Gurobi Optimizer. Bob Bixby

On the selection of Benders cuts

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

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Unit.9 Integer Programming

Integer Programming Theory

Fundamentals of Integer Programming

Column Generation Based Primal Heuristics

Marginal and Sensitivity Analyses

Solutions for Operations Research Final Exam

Split-Cuts and the Stable Set Polytope of Quasi-Line Graphs

Optimization Methods in Management Science

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

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

Integer Programming as Projection

A COMPUTATIONAL STUDY OF THE CUTTING PLANE TREE ALGORITHM FOR GENERAL MIXED-INTEGER LINEAR PROGRAMS

16.410/413 Principles of Autonomy and Decision Making

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

The Simplex Algorithm

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Integer Programming! Using linear programming to solve discrete problems

A List Heuristic for Vertex Cover

Gurobi Guidelines for Numerical Issues February 2017

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

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

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

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

A modification of the simplex method reducing roundoff errors

CSE 40/60236 Sam Bailey

Linear & Integer Programming: A Decade of Computation

Algorithms II MIP Details

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

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

A Local Dominance Procedure for Mixed-Integer Linear Programming

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

Integer Programming Chapter 9

Column Generation and its applications

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

Minimal Infeasible Subsystems and Benders cuts

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

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

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

5.4 Pure Minimal Cost Flow

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

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

Size of a problem instance: Bigger instances take

On the safety of Gomory cut generators

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

Experience with CGL in the PICO Mixed- Integer Programming Solver

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

Some Advanced Topics in Linear Programming

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Combining Lift-and-Project and Reduce-and-Split

Solving a Challenging Quadratic 3D Assignment Problem

Applied Mixed Integer Programming: Beyond 'The Optimum'

The Gurobi Solver V1.0

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

Generalized Network Flow Programming

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

The Chvátal-Gomory Closure of a Strictly Convex Body is a Rational Polyhedron

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

The Simplex Algorithm. Chapter 5. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Outline of this Talk

Transcription:

Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree? 1

Outline 1. Pure cutting plane methods for ILPs: motivation 2. Kickoff: Gomory s method for ILPs (1958, fractional cuts) 3. Bad (expected) news: very poor if implemented naively 4. Good news: room for more clever implementations Based on joint work with Egon Balas and Arrigo Zanette 2

Motivation Modern branch-and-cut MIP methods are heavily based on Gomory cuts reduce the number of branching nodes to optimality However, pure cutting plane methods based on Gomory cuts alone are typically not used in practice, due to their poor convergence properties Branching as a symptomatic cure to the well-known drawbacks of Gomory cuts saturation, bad numerical behavior, etc. From the cutting plane point of view, however, the cure is even worse than the disease it hides the trouble source! 3

The pure cutting plane dimension Goal: try to come up with a viable pure cutting plane method (i.e., one that is not knocked out by numerical difficulties) even if on most problems it will not be competitive with the branch-and-bound based methods This talk: Gomory's fractional cuts (FGCs), for several reasons: simple tableau derivation reliable LP validity proof (runtime cut-validity certificate) all integer coefficients numerically more stable than their mixed-integer counterpart (GMIs) 4

Rules of the game: cuts from LP tableau Main requirement: reading (essentially for free) the FGCs directly from the optimal LP tableau Cut separation heavily entangled with LP reoptimization! Closed loop system (tableau-cut-tableau) without any control valve: highly unstable! Intrinsically different from the recent works on the first closure by F. & Lodi (Chvatal-Gomory closure) and Balas & Saxena and Dash, Gunluk & Lodi (GMI/split closure) where separation is an external black-box decoupled from LP reoptimization 5

Bad news: Stein15 (LP bound) Toy set covering instance from MIPLIB; LP bound = 5; ILP optimum = 8 The multi-cut vers. generates rounds of cuts before each LP reopt. 6

The tip of the iceberg Bound saturation is just the tip of the iceberg Let s have a look under the sea with our brand-new 3D glasses 7

Bad news: Stein15 (LP sol.s) iter. t=0 t=1 t=2 t 0.500 0.499 0.433 x * 1 (t) x 1 x 2 0.333 0.333 0.111 x * 2 (t) 0.250 0.222 0.220 x j 0.311 0.123 0.231 x * j (t) 0.171 0.196 0.201 Fractionality spectrography: color plot of the LP sol.s (muti-cut vers.) After few iterations, an almost-uniform red plot (very bad ) 8

Bad news: Stein15 (LP sol.s) Plot of the LP-sol. trajectories for single-cut (red) and multi-cut (blue) versions (multidimensional scaling) Both versions collapse after a while no more fuel? 9

Bad news: Stein15 (determinants) Too much fuel!! 10

Cuts and Pivots Very long sequence of cuts that eventually lead to an optimal integer solution cut side effects that are typically underestimated when just a few cuts are used within an enumeration scheme A must! Pivot strategies to keep the optimal tableau clean so as generate clean cuts in the next iterations In particular: avoid cutting LP optimal vertices with a weird fractionality (possibly due to numerical inaccuracy) the corresponding LP basis has a large determinant (needed to describe the weird fractionality) the tableau contains weird entries that lead to weaker and weaker Gomory cuts 11

Role of degeneracy Dual degeneracy is an intrinsic property of cutting plane methods It can play an important role and actually can favor the practical convergence of a cutting plane method provided that it is exploited to choose the cleanest LP solution (and tableau) among the equivalent optimal one Unfortunately, by design, efficient LP codes work against us! They are so smart in reducing the n. of dual pivots, and of course they stop immediately when primal feasibility is restored! The new LP solution tends to be close to the previous one Small changes in the LP solution imply large determinants Large determinants imply unstable tableaux and shallow cuts Shallow cuts induce smaller and smaller LP solution changes Hopeless! 12

Dura lex, sed lex In his proof of convergence, Gomory used the lexicographic (dual) simplex to cope with degeneracy lex-minimize (x 0 = c T x, x 1, x 2,, x n ) Implementation: use a modern LP solver as a black box: Step 0. Minimize x 0 --> optimal value x * 0 Step 1. Fix x 0 = x * 0, and minimize x 1 --> optimal value x * 1 Step 2. Fix also x 1 = x * 1, and minimize x 2 --> optimal value x * 2... Key point: at each step, instead of adding equation x j = x * j explicitly just fix out of the basis all the nonbasic var.s with nonzero reduced cost Sequence of fast (and clean) reoptimizations on smaller and smaller degeneracy subspaces, leading to the required lex-optimal tableau Lex-min useful for the convergence proof, but also in practice? 13

Good news #1: Stein15 (LP bound) LP bound = 5; ILP optimum = 8 TB = Text-Book multi-cut vers. (as before) LEX = single-cut with lex-optimization 14

Good news #1: Stein15 (LP sol.s) TB = multi-cut vers. (as before) LEX = single-cut with lex-optimization Fractionality spectrography 15

Good news #1: Stein15 (LP sol.s) Plot of the LP-sol. trajectories for TB (red) and LEX (black) versions (X,Y) = 2D representation of the x-space (multidimensional scaling) 16

Good news #1: Stein15 (determinants) TB = multi-cut vers. (as before) LEX = single-cut with lex-opt. 17

Good news #1: sentoy (max. problem) TB = multi-cut vers. (as before) LEX = single-cut with lex-opt. 18

Good news #1: sentoy TB = multi-cut vers. (as before) LEX = single-cut with lex-opt. Avg. geometric distance of x* from the Gomory cut 19

Good news #1: sentoy TB = multi-cut vers. (as before) LEX = single-cut with lex-opt. Avg. geometric distance between two consecutive optimal sol.s x* 20

Ok, it works but WHY? Enumerative interpretation of the Gomory method (Nourie & Venta, 1982) 21

The underlying enumeration tree Any fractional solution x * can be visualized on a lex-tree The structure of the tree is fixed (for a given lex-order of the var.s) Leaves correspond to integer sol.s of increasing lex-value (left to right) 22

The bad Gomory (TB = no lex) lex-value z may decrease risk of loop in case of naïve cut purging! 23

increasing lex. order Nice sign pattern of lex-optimal tableau x * 0 X h X j X 10 X 25 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 X * 1 1 0 0 0 0 0 0 0 0 0 0 0 0 - - - 0 X * 5 0 1 0 0 0 0 0 0 0 0 0 0-0 X * k 0 0 1 0 0 0 0 0 0 0 - - 0 X * 8 0 0 0 1 0 0 0 0 0-0 X * h 0 0 0 0 1 0 0 0 - + + + + 0 X * 22 0 0 0 0 0 1 - - 0 RHS basic var.s nonbasic var.s Green row: nonbasic + var. x j increases a basic var x k with k < h increases 24

The key FGC property for convergence Take the tableau row associated with the (lex) first fractional var. x * h J = { j : aij < 0} where and = { j : aij > 0} We want to lex-increase the optimal value add a FGC in its form: J + (a FGC in its form will not work!). Two cases for the new LP-opt. x [BRANCH] x j = 0 for all j ε J + [BACKTRACK] otherwise, a previous component increases BIG lexincrease 25

The good Gomory (lex & ) 26

A still bad Gomory (lex but ) slow sequence, but still monotonically lex-increasing (not enough for finite convergence) 27

Lessons learned The Gomory method is framed within its enumerative cast Good FGCs may allow for large backtracking steps, but they cannot modify the underlying tree Inefficient depth-first branching on an unnatural variable order branching even on integervalued variables!! 28

Good news #2: lex on the fly Facts: If x * h is the first fractional var. of the current lex-optimal LP sol., there is no harm in changing the lex sequence from position h Our lex-reoptimization method allows one to do this natively, in an effective way The first fractional var. x* h plays the role of the branching var. in enumerative method One can borrow from enumerative methods any clever selection policy for the branching variable x* b (b for branching), and move this var. in the h-th position of the current lex-order (hopefully) no more branchings on integer variables! 29

Variants: get rid of the obj. function The first branching variable x 0 is the objective function a very unnatural choice for an enumerative method! In some cases, this choice forces Gomory s method to visit a same subtree several times (see e.g. the Cook-Kannan-Schrijver example below) Try to get rid of the obj. function: use of invalid cuts (L-CP), binary search, etc. BUT: are these still pure cutting plane methods?? Let z := 1000 y z integer 30

Role of cuts & dynamic lex-order L-CP and L-B&B work on the same underlying tree (L-CP exploiting FGCs) *.dyn versions modify the lex-order on the fly (no branching on integer var.s) 31

Computational tests 32

Gomory cuts Lex. dual simplex Thank you 33

Question: what about GMI cuts? Bits required to represent the integer cut coeff.s when approximating GMI cuts (approx. error =1 for FGCs, approx. error = 0 for GMIs) GMI cuts appear numerically much more difficult to handle (at least, in a pure cutting plane context ) 34