Integer Programming: Cutting Planes

Similar documents
Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

3.7 Cutting plane methods

Cutting Plane Methods I

Cutting Planes in SCIP

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

Optimization Exercise Set n.5 :

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

Optimization Exercise Set n. 4 :

Piecewise-Linear Approximation: Multidimensional

Cutting Plane Methods II

On the knapsack closure of 0-1 Integer Linear Programs. Matteo Fischetti University of Padova, Italy

3.7 Strong valid inequalities for structured ILP problems

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

3.8 Strong valid inequalities

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs

On the knapsack closure of 0-1 Integer Linear Programs

Cutting Plane Separators in SCIP

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Integer Programming Methods LNMB

Optimization Methods in Management Science

Lecture 8: Column Generation

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Lecture 9: Dantzig-Wolfe Decomposition

Dual bounds: can t get any better than...

Introduction to optimization and operations research

Operations Research Lecture 6: Integer Programming

Combinatorial Optimization

Lecture #21. c T x Ax b. maximize subject to

Introduction to Integer Linear Programming

Integer programming, Barvinok s counting algorithm and Gomory relaxations

On Counting Lattice Points and Chvátal-Gomory Cutting Planes

a 1 a 2 a 3 a 4 v i c i c(a 1, a 3 ) = 3

Lecture 8: Column Generation

Lecture 11 October 7, 2013

Relaxations and Bounds. 6.1 Optimality and Relaxations. Suppose that we are given an IP. z = max c T x : x X,

Projected Chvátal-Gomory cuts for Mixed Integer Linear Programs. Pierre Bonami CMU, USA. Gerard Cornuéjols CMU, USA and LIF Marseille, France

Integer Linear Programming Modeling

Discrete (and Continuous) Optimization WI4 131

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs

CSC Linear Programming and Combinatorial Optimization Lecture 12: The Lift and Project Method

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

A packing integer program arising in two-layer network design

Separating Simple Domino Parity Inequalities

BCOL RESEARCH REPORT 07.04

Separation Techniques for Constrained Nonlinear 0 1 Programming

Polynomial Functions and Their Graphs

Semidefinite and Second Order Cone Programming Seminar Fall 2001 Lecture 5

3.10 Lagrangian relaxation

Lecture 2. MATH3220 Operations Research and Logistics Jan. 8, Pan Li The Chinese University of Hong Kong. Integer Programming Formulations

Asteroide Santana, Santanu S. Dey. December 4, School of Industrial and Systems Engineering, Georgia Institute of Technology

Small (Explicit) Extended Formulation for Knapsack Cover Inequalities from Monotone Circuits

and to estimate the quality of feasible solutions I A new way to derive dual bounds:

Week Cuts, Branch & Bound, and Lagrangean Relaxation

On the separation of split cuts and related inequalities

Duality of LPs and Applications

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

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

Lift-and-Project Techniques and SDP Hierarchies

The Matching Polytope: General graphs

Multicommodity Flows and Column Generation

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Integer Programming

Branch-and-cut Approaches for Chance-constrained Formulations of Reliable Network Design Problems

ORIE 6300 Mathematical Programming I August 25, Lecture 2

Lecture 5. x 1,x 2,x 3 0 (1)

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

Deciding Emptiness of the Gomory-Chvátal Closure is NP-Complete, Even for a Rational Polyhedron Containing No Integer Point

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Travelling Salesman Problem

CO 250 Final Exam Guide

Climbing an Infinite Ladder

On Matroid Parity and Matching Polytopes

Course Notes for MS4315 Operations Research 2

BBM402-Lecture 20: LP Duality

Lecture 15 (Oct 6): LP Duality

The Strength of Multi-row Aggregation Cuts for Sign-pattern Integer Programs

Lift-and-Project Inequalities

Modeling with Integer Programming

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

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Lectures 6, 7 and part of 8

Integer Programming Chapter 15

Lagrangian Relaxation in MIP

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Integer Programming, Part 1

How tight is the corner relaxation? Insights gained from the stable set problem

Polyhedral Approach to Integer Linear Programming. Tepper School of Business Carnegie Mellon University, Pittsburgh

LP Relaxations of Mixed Integer Programs

TRISTRAM BOGART AND REKHA R. THOMAS

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Nonconvex Quadratic Programming: Return of the Boolean Quadric Polytope

3.3 Easy ILP problems and totally unimodular matrices

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

On the Polyhedral Structure of a Multi Item Production Planning Model with Setup Times

Discrete Optimization

Basic Fraction and Integer Operations (No calculators please!)

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

The Ellipsoid (Kachiyan) Method

Lecture 5 January 16, 2013

3. Linear Programming and Polyhedral Combinatorics

Transcription:

OptIntro 1 / 39 Integer Programming: Cutting Planes Eduardo Camponogara Department of Automation and Systems Engineering Federal University of Santa Catarina October 2016

OptIntro 2 / 39 Summary Introduction Theory of Valid Inequalities

OptIntro 3 / 39 Introduction Summary Introduction Theory of Valid Inequalities

OptIntro 4 / 39 Introduction Introduction Agenda Study of cutting-plane algorithms that add valid inequalities to the linear relaxation until an integer solution is obtained. Gomory cuts, which can be applied to any integer linear program (or mixed-integer). Cuts that are specialized for specific problems.

OptIntro 5 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Integer Problem The integer problem in general form: IP : max{c T x : x X }, where X = {x : Ax b, x Z n +} Proposition conv(x ) = {x : Ãx b, x 0} is a polyhedron.

OptIntro 5 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Integer Problem The integer problem in general form: IP : max{c T x : x X }, where X = {x : Ax b, x Z n +} Proposition conv(x ) = {x : Ãx b, x 0} is a polyhedron.

OptIntro 6 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes The result above states that IP can be reformulated as a linear programming problem: LP : max{c T x : Ãx b, x 0} Notice that any extreme point of this LP is an optimal solution of IP. For some problems, such as the network flow problem, a complete description of conv(x ) is known.

OptIntro 7 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes In general, and particularly for NP-Hard problems, there is no hope of finding a complete description of conv(x ). In other situations, such a description can contain an exponential number of constraints/inequalities. Given an NP-Hard problem, here the concern is on finding an approximation for conv(x ). An approximation will be constructed gradually, by adding valid and nontrivial inequalities, preferably inequalities that touch the polyhedron that describes conv(x ).

OptIntro 7 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes In general, and particularly for NP-Hard problems, there is no hope of finding a complete description of conv(x ). In other situations, such a description can contain an exponential number of constraints/inequalities. Given an NP-Hard problem, here the concern is on finding an approximation for conv(x ). An approximation will be constructed gradually, by adding valid and nontrivial inequalities, preferably inequalities that touch the polyhedron that describes conv(x ).

OptIntro 8 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Valid Inequalities An inequality π T x π 0 is valid for X R n if π T x π 0 for all x X. Issues a) Which inequalities are useful? b) If we know a family of valid inequalities for a given problem, how can we use them effectively?

OptIntro 8 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Valid Inequalities An inequality π T x π 0 is valid for X R n if π T x π 0 for all x X. Issues a) Which inequalities are useful? b) If we know a family of valid inequalities for a given problem, how can we use them effectively?

OptIntro 9 / 39 Summary Introduction Theory of Valid Inequalities

OptIntro 10 / 39 Introduction to Cutting Planes Topics Examples of valid inequalities expressing logic conditions will be presented.

OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1

OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1

OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1

OptIntro 12 / 39 Pure 0-1 Set Pure 0-1 Set If x 1 = 1 and x 2 = 0, the following inequality results: which cannot be satisfied. Thus: 2x 3 3x 4 + x 5 5 x 1 x 2 is a valid inequality, which can be introduced in the formulation of X.

OptIntro 12 / 39 Pure 0-1 Set Pure 0-1 Set If x 1 = 1 and x 2 = 0, the following inequality results: which cannot be satisfied. Thus: 2x 3 3x 4 + x 5 5 x 1 x 2 is a valid inequality, which can be introduced in the formulation of X.

OptIntro 13 / 39 Pure 0-1 Set Pure 0-1 Set From the above derivations, we can propose a revised formulation for the problem at hand: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2 x 2 + x 4 1 x 1 x 2 }

OptIntro 14 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set An example of mixed-integer (continuous and discrete) set of solutions X is: X = {(x, y) : x 9999y, 0 x 5, y B} It is easy to verify the validity of the inequality x 5y.

OptIntro 14 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set An example of mixed-integer (continuous and discrete) set of solutions X is: X = {(x, y) : x 9999y, 0 x 5, y B} It is easy to verify the validity of the inequality x 5y.

OptIntro 15 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set Consider the set: X = {(x, y) : 0 x 10y, 0 x 14, y Z + } We can verify the validity of the inequality: x 14 4(2 y)

OptIntro 16 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set y 3 x <= 6 + 4y 2 (14,2) x <= 10y 1 (10,1) 2 4 6 8 10 12 14 16 x

OptIntro 17 / 39 Combinatorial Set Combinatorial Set Let X be the set of incidence vectors for the matching problem: X = {x Z E + : x e 1 for all i V } where: e δ(i) G = (V, E) is an undirected graph; δ(i) = {e E : e = (i, j) for some j V }.

OptIntro 18 / 39 Combinatorial Set Combinatorial Set Let T V be any edge set of odd cardinality. The number of edges having both ends in T is at most ( T 1)/2, therefore we obtain the inequality: e E(T ) x e T 1 2

OptIntro 19 / 39 Combinatorial Set Combinatorial Set conv(x ) can be obtained by adding all inequalities of the family above. That is, conv(x ) is precisely the polyhedron given by: {x R E + : e δ(i) e E(T ) x e 1 x e i V T 1 2 T V, T odd and T 3}

OptIntro 19 / 39 Combinatorial Set Combinatorial Set conv(x ) can be obtained by adding all inequalities of the family above. That is, conv(x ) is precisely the polyhedron given by: {x R E + : e δ(i) e E(T ) x e 1 x e i V T 1 2 T V, T odd and T 3}

OptIntro 20 / 39 Integer Rounding Integer Rounding Consider the regions: X = P Z 4 and P = {x R 4 + : 13x 1 + 20x 2 + 11x 3 + 6x 4 72} Dividing the inequality by 11, we obtain the following valid inequality for P: 13 11 x 1 + 20 11 x 2 + 11 11 x 3 + 6 11 x 4 72 11

OptIntro 20 / 39 Integer Rounding Integer Rounding Consider the regions: X = P Z 4 and P = {x R 4 + : 13x 1 + 20x 2 + 11x 3 + 6x 4 72} Dividing the inequality by 11, we obtain the following valid inequality for P: 13 11 x 1 + 20 11 x 2 + 11 11 x 3 + 6 11 x 4 72 11

OptIntro 21 / 39 Integer Rounding Integer Rounding Since x 0, we can round the coefficients of x to the nearest integer: 13 11 x 1 + 20 11 x 2 + x 3 + 6 11 x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 7 Notice that an integer greater or equal to 6 + 6 11 equal to 7. must be greater or

OptIntro 21 / 39 Integer Rounding Integer Rounding Since x 0, we can round the coefficients of x to the nearest integer: 13 11 x 1 + 20 11 x 2 + x 3 + 6 11 x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 7 Notice that an integer greater or equal to 6 + 6 11 equal to 7. must be greater or

OptIntro 22 / 39 Mixed-Integer Rounding Mixed-Integer Rounding Consider the example above with the addition of a continuous variable. Let X = P (Z 4 R) where: P = {(y, s) R 4 + R + : 13y 1 + 20y 2 + 11y 3 + 6y 4 + s 72} Dividing the inequality by 11, we obtain 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 + s 11 72 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 72 s 11 11 =

OptIntro 22 / 39 Mixed-Integer Rounding Mixed-Integer Rounding Consider the example above with the addition of a continuous variable. Let X = P (Z 4 R) where: P = {(y, s) R 4 + R + : 13y 1 + 20y 2 + 11y 3 + 6y 4 + s 72} Dividing the inequality by 11, we obtain 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 + s 11 72 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 72 s 11 11 =

OptIntro 23 / 39 Mixed-Integer Rounding Mixed-Integer Rounding We can observe that: 2y 1 + 2y 2 + y 3 + y 4 72 11 = 7 se s = 0 2y 1 + 2y 2 + y 3 + y 4 72 6 11 = 6 se s = 6 This suggests the following valid inequality: 2y 1 + 2y 2 + y 3 + y 4 + αs 7 for some α. The above inequality is valid for α 1 6.

OptIntro 24 / 39 Theory of Valid Inequalities Summary Introduction Theory of Valid Inequalities

OptIntro 25 / 39 Theory of Valid Inequalities Theory of Valid Inequalities The concepts on valid inequalities will be investigated in more depth.

OptIntro 26 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Consider the polyhedron: P = {x : Ax b, x 0} and the inequality: π T x π 0. Is the inequality (π, π 0 ) valid for P?

OptIntro 26 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Consider the polyhedron: P = {x : Ax b, x 0} and the inequality: π T x π 0. Is the inequality (π, π 0 ) valid for P?

OptIntro 27 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Proposition π T x π 0 is valid for P = {x : Ax b, x 0} if, and only if, a) there exists u 0 and v 0 such that u T A v T = π T and u T b π 0, or b) there exists u 0 such that u T A π T and u T b π 0.

OptIntro 28 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Proof (b) If there exists u 0 such that u T A π T and u T b π 0, then any x P, Ax b = u T Ax u T b = π T x u T Ax u T b π 0 = (π, π 0 ) is a valid inequality.

OptIntro 29 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Proposition The inequality y b is valid for X = {y Z : y b}.

OptIntro 30 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example We can use the proposition above to generate valid inequalities for the polyhedron given by the following inequalities: 7x 1 2x 2 14 x 2 3 2x 1 2x 2 3 x 0, x integer

OptIntro 31 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example i) Multiplying the constraint by a vector of nonnegative values u = ( 2 7, 37 63, 0), we obtain a valid inequality: 2x 1 + 1 63 x 2 121 21 ii) Reducing the coefficients on the left-hand side to the nearest integer, we obtain: 2x 1 + 0x 2 121 21

OptIntro 31 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example i) Multiplying the constraint by a vector of nonnegative values u = ( 2 7, 37 63, 0), we obtain a valid inequality: 2x 1 + 1 63 x 2 121 21 ii) Reducing the coefficients on the left-hand side to the nearest integer, we obtain: 2x 1 + 0x 2 121 21

OptIntro 32 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example iii) Since the left-hand side assumes integer values, we can reduce the right-hand side to the nearest integer, leading to another inequality: 2x 1 121 21 = 5 = x 1 5 2 = x 1 2

OptIntro 33 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure The CG (Chvátal-Gomory) procedure formalizes the steps followed above, to generate all valid inequalities of an integer program. Let X = P Z n be a set of solutions where: P = {x R n + : Ax b} is a polyhedron, and A R m n is a matrix with columns {a 1, a 2,..., a n }.

OptIntro 33 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure The CG (Chvátal-Gomory) procedure formalizes the steps followed above, to generate all valid inequalities of an integer program. Let X = P Z n be a set of solutions where: P = {x R n + : Ax b} is a polyhedron, and A R m n is a matrix with columns {a 1, a 2,..., a n }.

OptIntro 34 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Given u R m +, the procedure consists of the following steps: Step 1: the inequality: n u T a j x j u T b j=1 is valid for P because u 0 and n j=1 a j x j b.

OptIntro 35 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Step 2: The inequality: n u T a j x j u T b j=1 is valid for P since x 0.

OptIntro 36 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Step 3: The inequality n u T a j x j u T b j=1 is valid for P since x is integer and further because n u T a j x j is integer. j=1

OptIntro 37 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Important The fact that the CG procedure can yield all valid inequalities of an integer program is of major relevance.

OptIntro 38 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Theorem Every valid inequality for X can be obtained by applying the Chvátal-Gomory procedure for a finite number of times.

OptIntro 39 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Cutting Planes Thank you for attending this lecture!!!