Looking inside Gomory Aussois, January 7-11 2008 CPAIOR 2010 1 Toward a MIP cut meta-scheme Matteo Fischetti, DEI, University of Padova.

Slides:



Advertisements
Similar presentations
Thursday, April 11 Some more applications of integer
Advertisements

1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Gomory’s cutting plane algorithm for integer programming Prepared by Shin-ichi Tanigawa.
EE 553 Integer Programming
C&O 355 Mathematical Programming Fall 2010 Lecture 20 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Looking inside Gomory Aussois, January ISMP Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University.
Looking inside Gomory Aussois, January Looking inside Gomory Matteo Fischetti, DEI University of Padova (joint work with Egon Balas and Arrigo.
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
Integer Programming 3 Brief Review of Branch and Bound
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Aussois, 4-8/1/20101 = ? Matteo Fischetti and Domenico Salvagnin University of Padova +
Computational Methods for Management and Economics Carla Gomes
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
D Nagesh Kumar, IIScOptimization Methods: M7L1 1 Integer Programming All Integer Linear Programming.
1 Robustness by cutting planes and the Uncertain Set Covering Problem AIRO 2008, Ischia, 10 September 2008 (work supported my MiUR and EU) Matteo Fischetti.
Lift-and-Project cuts: an efficient solution method for mixed-integer programs Sebastian Ceria Graduate School of Business and Computational Optimization.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
A Decomposition Heuristic for Stochastic Programming Natashia Boland +, Matteo Fischetti*, Michele Monaci*, Martin Savelsbergh + + Georgia Institute of.
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Simplex method (algebraic interpretation)
We can make Product1 and Product2. There are 3 resources; Resource1, Resource2, Resource3. Product1 needs one hour of Resource1, nothing of Resource2,
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Proximity search heuristics for Mixed Integer Programs Matteo Fischetti University of Padova, Italy RAMP, 17 October Joint work with Martina Fischetti.
MILP algorithms: branch-and-bound and branch-and-cut
3.3 Implementation (1) naive implementation (2) revised simplex method
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
D Nagesh Kumar, IIScOptimization Methods: M7L2 1 Integer Programming Mixed Integer Linear Programming.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
INTRO TO OPTIMIZATION MATH-415 Numerical Analysis 1.
Intersection Cuts for Bilevel Optimization
Approximation Algorithms based on linear programming.
The Transportation Problem Simplex Method Remember our initial transportation problem with the associated cost to send a unit from the factory to each.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Discrete Optimization
Sebastian Ceria Graduate School of Business and
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Matteo Fischetti, Michele Monaci University of Padova
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
Topics in Algorithms Lap Chi Lau.
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
Perturbation method, lexicographic method
Matteo Fischetti, University of Padova
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Chapter 6. Large Scale Optimization
Matteo Fischenders, University of Padova
2. Generating All Valid Inequalities
1.3 Modeling with exponentially many constr.
Matteo Fischetti, University of Padova
Integer Programming (정수계획법)
Part II General Integer Programming
Chapter 2. Simplex method
Intersection Cuts from Bilinear Disjunctions
Branch-and-Bound Algorithm for Integer Program
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
1.2 Guidelines for strong formulations
Intersection Cuts for Quadratic Mixed-Integer Optimization
Discrete Optimization
Presentation transcript:

Looking inside Gomory Aussois, January CPAIOR Toward a MIP cut meta-scheme Matteo Fischetti, DEI, University of Padova

Looking inside Gomory Aussois, January CPAIOR Mixed-Integer Programs (MIPs) We will concentrate on general MIPs of the form min { c x : A x = b, x ≥ 0, x j integer for some j } Two main story characters –The LP relaxation (beauty): easy to solve –The integer hull (the beast): convex hull of MIP sol.s, hard to describe

Looking inside Gomory Aussois, January CPAIOR Cutting planes (cuts) Cuts: linear inequalities valid for the integer hull (but not for the LP relaxation) Questions: –How to compute? –Are they really useful? –If potentially useful, how to use them?

Looking inside Gomory Aussois, January CPAIOR How to compute the cuts? Problem-specific classes of cuts (with nice theoretical properties) –Knapsack: cover inequalities, … –TSP: subtour elimination, comb, clique tree, … General MIP cuts only derived from the input model –Cover inequalities –Flow-cover inequalities –… –Gomory cuts (perhaps the most famous class of MIP cuts)

Looking inside Gomory Aussois, January CPAIOR Gomory cuts: basic version Basic version for pure-integer MIPs (no continuous var.s): Gomory fractional cuts, also known as Chvàtal-Gomory cuts Given any equation satisfied by the LP-relaxation points –1. relax to its ≤ form –2. relax again by rounding down all left-hand-side coeff.s –3. improve by rounding down the right-hand-side value Note: all-integer coefficients (good for numerical stability)

Looking inside Gomory Aussois, January CPAIOR Gomory cuts: improved version Gomory Mixed-Integer Cuts (GMICs): –Some left-hand side coefficients can be increased by a fractional quantity ε j ≥ 0  better cuts, though potentially less numerically stable –Can handle continuous variables, if any (a must for MIPs)

Looking inside Gomory Aussois, January CPAIOR GMICs read from LP tableaux GMICs apply a simple formula to the coefficients of a starting equation –Q. How to define this starting equation (crucial step)? –A. The LP optimal tableau is plenty of equations, just use them!

Looking inside Gomory Aussois, January CPAIOR The two available modules The LP solver –Input: a set of linear constraints & objective function –Output: an optimal LP tableau (or basis) The GMIC generator –Input: an LP tableau (or a vertex x* with its associated basis) –Output: a round of GMICs (potentially, one for each tableau row with fractional right-hand side)

Looking inside Gomory Aussois, January CPAIOR How to combine the two modules? A natural (??) interconnection scheme (Kelley, 1960): In theory, this scheme could produce a finitely-convergent cutting plane scheme, i.e., an exact solution alg. only based on cuts (no branching)

Looking inside Gomory Aussois, January CPAIOR In theory, but … in practice? Stein15: toy set covering instance from MIPLIB LP bound = 5 MIP optimum = 8 multi cut generates rounds of cuts before each LP reopt.

Looking inside Gomory Aussois, January CPAIOR LP solution trajectories Plot of the LP-sol. trajectories for single-cut (red) and multi-cut (blue) versions ( multidimensional scaling) (X,Y) = 2D representation of the x-space (multidimensional scaling) Both versions collapse after a while  why?

Looking inside Gomory Aussois, January CPAIOR LP-basis determinant Exponential growth  unstable behavior!

Looking inside Gomory Aussois, January CPAIOR Intuition about saturation Cuts work reasonably well on the initial LP polyhedron … however they create artificial vertices … that tend to be very close one to each other … hence they differ by small quantities and have “weird entries”  very like using a smoothing plane on wood LP theory tells that small entries in LP basic sol.s x* … require a large basis determinant to be described … and large determinants amplify the issue and create numerically unstable tableaux Kind of driving a car on ice with flat tires : Initially you have some grip … but soon wheels warm the ice and start sliding … and the more gas you give the worse!

Looking inside Gomory Aussois, January CPAIOR Gomory’s convergent method For pure integer problems (all-integer data) Gomory proved the existence of a finitely-convergent solution method only based on cuts, but one has to follow a rigid recipe: –use lexicographic optimization (a must!) –use the objective function as a source for GMICs –be really patient (don’t unplug your PC if nothing seems to happen…) Finite convergence guaranteed by an enumeration scheme hidden in lexicographic reoptimization (this adds anti-slip chains to Gomory’s wheels…)  safe but slow (like driving on a highway with chains…)

Looking inside Gomory Aussois, January CPAIOR The underlying enumeration tree Any LP solution x * can be visualized on a lex-tree (x o = c x = objective) 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)

Looking inside Gomory Aussois, January CPAIOR The “good” Gomory (+ lex)

Looking inside Gomory Aussois, January CPAIOR The “bad” Gomory (no lex) lex-value z may decrease  risk of loop in case of naïve cut purging!

Looking inside Gomory Aussois, January CPAIOR Good Gomory: Stein15 (LP bound) LP bound = 5; ILP optimum = 8 TB = no-lex multi-cut vers. (as before) LEX = single-cut with lex-optimization

Looking inside Gomory Aussois, January CPAIOR Good Gomory: Stein15 (LP sol.s) Plot of the LP-sol. trajectories for TB (red) and LEX (black) versions

Looking inside Gomory Aussois, January CPAIOR Good Gomory: Stein15 (determinant) TB = multi-cut vers. (as before) LEX = single-cut with lex-opt.

Looking inside Gomory Aussois, January CPAIOR So, what is wrong with Gomory? GMICs are not bad by themselves What is problematic is their use in a naïve Kelley’s scheme A main issue with Kelley is the closed-loop nature of the interconnection scheme Closed-loop systems are intrinsically prone to instability… … unless a filter (like lex-reopt) is used for input-output decoupling

Looking inside Gomory Aussois, January CPAIOR Brainstorming about GMICs Ok, let’s think “laterally” about this cutting plane stuff We have a cut-generation module that needs an LP tableau on input … but we cannot short-cut it directly onto the LP-solver module (soon the LP determinant burns!) Shall we forget about GMICs and look for more fancy cuts, … or we better design a different scheme to exploit them?

Looking inside Gomory Aussois, January CPAIOR Brainstorming about GMICs This sounds like déjà vu… … we have a simple module that works well in the beginning … but soon it gets stuck in a corner … Where did I hear this? Oh yeah! It was about heuristics and metaheuristics… We need a META-SCHEME for cut generation !

Looking inside Gomory Aussois, January CPAIOR Toward a meta-scheme for MIP cuts We stick with simple cut-generation modules; if we get into trouble… … we don’t give-up but apply a diversification step (isn’t this the name, Fred?) to perturb the problem and explore a different “cut neighborhood”

Looking inside Gomory Aussois, January CPAIOR A diving meta-scheme for GMICs A kick-off (very simple) scheme: Dive & Gomory Idea: Simulate enumeration by adding/subtracting a bigM to the cost of some var.s and apply a classical GMIC generator to each LP … but don’t add the cuts to the LP (just store them in a cut pool for future use…) A main source of feedback is the presence of previous GMICs in the LP  avoid modifying the input constr.s, use the obj. function instead

Looking inside Gomory Aussois, January CPAIOR D & G results cl.gap = integrality gap (MIP opt. – LP opt.) closed by the methods

Looking inside Gomory Aussois, January CPAIOR A Lagrangian filter for GMICs As in Dive&Gomory, diversification can be obtained by changing the objective function passed to the LP-solver module so as to produce LP tableaux that are only weakly correlated with the LP optimal solution x* that we want to cut A promising framework is relax-and-cut where GMICs are not added to the LP but immediately relaxed in a Lagrangian fashion  very interesting results to be reported by Domenico (Salvagnin) in his Friday’s talk about “LaGromory cuts”…

Looking inside Gomory Aussois, January CPAIOR Thank you for your attention…

Looking inside Gomory Aussois, January CPAIOR … and of course for not sleeping…

Looking inside Gomory Aussois, January CPAIOR … (is it over … already?)