Intersection Cuts for Quadratic Mixed-Integer Optimization

Slides:



Advertisements
Similar presentations
Branch and Bound See Beale paper. Example: Maximize z=x1+x2 x2 x1.
Advertisements

Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
© Imperial College London Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming Kish Shen and Joachim Schimpf IC-Parc.
Matteo Fischetti, University of Padova, Italy
1,2,3...QAP! Matteo Fischetti (joint work with Michele Monaci and Domenico Salvagnin) DEI University of Padova IPDU, Newcastle, July 2011.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
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:
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
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.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
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.
On the role of randomness in exact tree search methods EURO XXV, Vilnius, July Matteo Fischetti, University of Padova (based on joint work with Michele.
Optimizing over the Split Closure Anureet Saxena ACO PhD Student, Tepper School of Business, Carnegie Mellon University. (Joint Work with Egon Balas)
Towards a Fast Heuristic for MINLP John W. Chinneck, M. Shafique Systems and Computer Engineering Carleton University, Ottawa, Canada.
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.
Thinning out Steiner Trees
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
Tobias Achterberg Konrad-Zuse-Zentrum für Informationstechnik Berlin Branching SCIP Workshop at ZIB October 2007.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
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.
Simplified Benders cuts for Facility Location
Intersection Cuts for Bilevel Optimization
Part II General Integer Programming II.1 The Theory of Valid Inequalities 1.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
Introduction to Optimization
Sebastian Ceria Graduate School of Business and
Linear Programming for Solving the DSS Problems
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Optimization Problems
Chap 10. Sensitivity Analysis
Matteo Fischetti, Michele Monaci University of Padova
From Mixed-Integer Linear to Mixed-Integer Bilevel Linear Programming
Solver & Optimization Problems
Exact Algorithms for Mixed-Integer Bilevel Linear Programming
Modern Benders (in a nutshell)
The CPLEX Library: Mixed Integer Programming
Matteo Fischetti, University of Padova
Branch-and-cut implementation of Benders’ decomposition
MILP algorithms: branch-and-bound and branch-and-cut
Gomory Cuts Updated 25 March 2009.
IBM CPLEX Global Non-Convex MIQP
Chapter 4 Linear Programming: The Simplex Method
#post_modern Branch-and-Cut Implementation
Chap 9. General LP problems: Duality and Infeasibility
Chapter 6. Large Scale Optimization
Integer Linear Programming
Chapter 3 The Simplex Method and Sensitivity Analysis
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
Integer Programming (정수계획법)
Matteo Fischenders, University of Padova
2. Generating All Valid Inequalities
Matteo Fischetti, University of Padova
Deep Learning and Mixed Integer Optimization
Matteo Fischetti, University of Padova
Integer Programming (정수계획법)
Part II General Integer Programming
Integer Linear Programming
Intersection Cuts from Bilinear Disjunctions
Vehicle routing in Python
Branch-and-Bound Algorithm for Integer Program
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Part 4 Nonlinear Programming
Presentation transcript:

Intersection Cuts for Quadratic Mixed-Integer Optimization Matteo Fischetti, University of Padova Michele Monaci, University of Bologna ODS 2019, Genova, September 4-7, 2019

Non-convex MIQP Goal: implement a Mixed-Integer (non-convex) Quadratic solver Two approaches: 1. start with a continuous QP solver and add enumeration on top of it  implement B&B to handle integer var.s 2. start with a MILP solvers (B&C) and customize it to handle the non-convex quadratic terms  add McCormick & spatial branching PROS: … CONS: … This talk goes for 2. ODS 2019, Genova, September 4-7, 2019

MIQP as a MILP with bilinear eq.s The fully-general MIQP of interest reads and can be restated as ODS 2019, Genova, September 4-7, 2019

McCormick inequalities To simplify notation, rewrite the generic bilevel eq. as: Obviously  (just replace xy by z in the products on the left) Note: mc1) and mc2) can be improved in case x=y  gradients cuts ODS 2019, Genova, September 4-7, 2019

Intersection Cuts (ICs) Intersection cuts (Balas, 1971): a powerful tool to separate a point x* from a set X by a liner cut All you need is (love, but also) a cone pointed at x* containing all x ε X a convex set S with x* (but no x ε X) in its interior If x* vertex of an LP relaxation, a suitable cone comes for the LP basis ODS 2019, Genova, September 4-7, 2019

Bilinear-free sets Observation: given an infeasible point x*, any branching disjunction violated by x* implicitly defines a convex set S with x* (but no feasible x) in its interior  Thus, in principle, one could always generate an IC instead of branching  not always advisable because of numerical issues, slow convergence, tailing off, cut saturation, etc. #LikeGomoryCuts Candidate branching disjunctions (supplemented by MC cuts) are the 1- and 2-level (possibly shifted) spatial branching conditions: ODS 2019, Genova, September 4-7, 2019

IC separation issues IC separation can be probematic, as we need to read the cone rays from the LP tableau  numerical accuracy can be a big issue here! For MILPs, ICs like Gomory cuts are not mandatory (so we can skip their generation in case of numerical problems), but for MIBLPs they are more instrumental #SeparateOrPerish Notation: consider w.l.o.g. an LP in standard form and no var. ub’s be the LP relaxation at a given node be the bilìnear-free set be the disjunction to be satisfied by all feas. sol.s ODS 2019, Genova, September 4-7, 2019

Numerically safe ICs A single valid inequality can be obtained by taking, for each variable, the worst LHS Coefficient (and RHS) in each disjunction To be applied to a reduced form of each disjunction where the coefficient of all basic variables is zero (kind of LP reduced costs) ODS 2019, Genova, September 4-7, 2019

B&C implementation Implementation using IBM ILOG Cplex 12.8 using callbacks: Lazy constraint callback: separation of MC inequalities for integer sol.s Usercut callback: separation of fractional sol.s  not mandatory (and sometimes even detrimental) Branch callback: spatial branching (in a new variants) Incumbent callback: very-last resort to kill a bilinear-infeasible integer solution (when everything else fails e.g. because of tolerances) MILP heuristics (kindly provided by the MILP solver): active at their default level MIQP-specific heuristics: could be very useful, but not implemented yet ODS 2019, Genova, September 4-7, 2019

Computational analysis Three algorithms under comparison SCIP: the general-purpose solver SCIP (vers. 5.0.1 using CPLEX 12.8 as LP solver + IPOPT 3.12.9 as nonlinear solver) basic: our branch-and-cut algorithm without intersection cuts with-IC: intersection cuts separated at each node where the LP solution is integral Single-thread runs (parallel runs not allowed in SCIP) with a time limit of 1 hour on a standard PC Intel @ 3.10 GHz with 16 GB ram Testbed: all quadratic instances in MINLPlib (700+ instances) … … but some instances removed as root LP was unbounded  620 instances left, 408 of which solved by all methods in 1 hour ODS 2019, Genova, September 4-7, 2019

Results ODS 2019, Genova, September 4-7, 2019

Results without small instances ODS 2019, Genova, September 4-7, 2019

ICs can make a difference ODS 2019, Genova, September 4-7, 2019

Thanks for your attention! Paper available at http://www.dei.unipd.it/~fisch/papers/ Slides available at http://www.dei.unipd.it/~fisch/papers/slides/ . ODS 2019, Genova, September 4-7, 2019