Integer Programming Methods LNMB

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

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

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

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

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

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

On the Rational Polytopes with Chvátal Rank 1

Integer Programming: Cutting Planes

Linear Programming. Scheduling problems

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Integer Programming, Part 1

Combinatorial Optimization

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

3.8 Strong valid inequalities

Resource Constrained Project Scheduling Linear and Integer Programming (1)

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

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

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

PART 4 INTEGER PROGRAMMING

Cutting Planes in SCIP

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

3.7 Strong valid inequalities for structured ILP problems

Optimization Exercise Set n. 4 :

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

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

Optimization Methods in Management Science

Cutting Plane Methods I

Discrete Optimization in a Nutshell

Decision Procedures An Algorithmic Point of View

Cutting Plane Methods II

3.7 Cutting plane methods

Approximation Algorithms

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems

The traveling salesman problem

When the Gomory-Chvátal Closure Coincides with the Integer Hull

1 Column Generation and the Cutting Stock Problem

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Integer Linear Programming (ILP)

Mathematical Preliminaries

Linear and Integer Optimization (V3C1/F4C1)

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

Introduction to Integer Programming

Operations Research Lecture 6: Integer Programming

Section #2: Linear and Integer Programming

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

Discrete Optimisation

1 Integer Decomposition Property

Separation Techniques for Constrained Nonlinear 0 1 Programming

CO 250 Final Exam Guide

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

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

Appendix PRELIMINARIES 1. THEOREMS OF ALTERNATIVES FOR SYSTEMS OF LINEAR CONSTRAINTS

Lecture 8: Column Generation

Integer Programming Duality

Travelling Salesman Problem

Preliminaries and Complexity Theory

THE EXISTENCE AND USEFULNESS OF EQUALITY CUTS IN THE MULTI-DEMAND MULTIDIMENSIONAL KNAPSACK PROBLEM LEVI DELISSA. B.S., Kansas State University, 2014

Lecture 5 January 16, 2013

How hard is it to find a good solution?

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Topics in Approximation Algorithms Solution for Homework 3

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

Lecture 2: Scheduling on Parallel Machines

BBM402-Lecture 20: LP Duality

Integer programming: an introduction. Alessandro Astolfi

Lecture 8: Column Generation

8.5 Sequencing Problems

Combinatorial Optimization

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

Reconnect 04 Introduction to Integer Programming

Optimization Exercise Set n.5 :

A New Approximation Algorithm for the Asymmetric TSP with Triangle Inequality By Markus Bläser

Algebraic and Geometric ideas in the theory of Discrete Optimization

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

Integer programming, Barvinok s counting algorithm and Gomory relaxations

Column basis reduction and decomposable knapsack problems

Integer programming (part 2) Lecturer: Javier Peña Convex Optimization /36-725

3. Linear Programming and Polyhedral Combinatorics

On mixed-integer sets with two integer variables

MINI-TUTORIAL ON SEMI-ALGEBRAIC PROOF SYSTEMS. Albert Atserias Universitat Politècnica de Catalunya Barcelona

NP-Complete Reductions 1

1 Perfect Matching and Matching Polytopes

Lectures 6, 7 and part of 8

Cutting Planes and Elementary Closures for Non-linear Integer Programming

Theory of Computation Chapter 9

1 T 1 = where 1 is the all-ones vector. For the upper bound, let v 1 be the eigenvector corresponding. u:(u,v) E v 1(u)

Stochastic Decision Diagrams

Week 8. 1 LP is easy: the Ellipsoid Method

Cutting planes from extended LP formulations

Introduction to Integer Linear Programming

3. Linear Programming and Polyhedral Combinatorics

6-1 The Positivstellensatz P. Parrilo and S. Lall, ECC

Minimally Infeasible Set Partitioning Problems with Balanced Constraints

SAT, Coloring, Hamiltonian Cycle, TSP

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

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

1 Solution of a Large-Scale Traveling-Salesman Problem... 7 George B. Dantzig, Delbert R. Fulkerson, and Selmer M. Johnson

Transcription:

Integer Programming Methods LNMB 2017 2018 Dion Gijswijt homepage.tudelft.nl/64a8q/intpm/ Dion Gijswijt Intro IntPM 2017-2018 1 / 24

Organisation Webpage: homepage.tudelft.nl/64a8q/intpm/ Book: Integer Programming, Conforti, Conuéjols, and Zambelli (download via Springer Link) Prerequisites: Linear programming, Linear algebra, Graphs/Networks. Content course: Theory of integer linear programming. Grades and Homework: Four homework assignments You may work in teams of 2 or 3 students. No collaboration with other teams! Hand in by e-mail as pdf. See webpage for homework sets and deadlines. Dion Gijswijt Intro IntPM 2017-2018 2 / 24

Integer programming Dion Gijswijt Intro IntPM 2017-2018 3 / 24

Integer Program (in canonical form) Given: matrix A Q m n, vector b Q m, vector c Q n. maximize c T x subject to Ax b x 0 x integral We can always scale A and b to be integral. Dion Gijswijt Intro IntPM 2017-2018 4 / 24

Integer Program (in canonical form) Given: matrix A Q m n, vector b Q m, vector c Q n. maximize c T x subject to Ax b x 0 x integral We can always scale A and b to be integral. Special case: feasibility problem Dion Gijswijt Intro IntPM 2017-2018 4 / 24

Integer Program (in canonical form) Given: matrix A Q m n, vector b Q m, vector c Q n. maximize c T x subject to Ax b x 0 x integral We can always scale A and b to be integral. Special case: feasibility problem If the program is feasible and bounded, the maximum is attained. This uses rationality of the data. For example, in { } sup x 1 2 x2 x 1 2 x2 1, x 1, x 2 Z 0 the supremum is not attained. Dion Gijswijt Intro IntPM 2017-2018 4 / 24

Integer Program (in canonical form) Given: matrix A Q m n, vector b Q m, vector c Q n. Mixed Integer Program maximize c T x subject to Ax b x 0 x integral maximize c T x + h T y subject to Ax + Gy b x 0 x integral y 0 We will mostly focus on (pure) Integer Programs. Dion Gijswijt Intro IntPM 2017-2018 5 / 24

Expressive power of IP Dion Gijswijt Intro IntPM 2017-2018 6 / 24

Example: Knapsack problem Problem There are n types of items with weights a i and value c i. We have a knapsack that can carry items of total weight b. Goal: maximize the total value of items in the knapsack. Dion Gijswijt Intro IntPM 2017-2018 7 / 24

Example: Knapsack problem Problem There are n types of items with weights a i and value c i. We have a knapsack that can carry items of total weight b. Goal: maximize the total value of items in the knapsack. IP Formulation maximize c 1 x 1 + + c n x n subject to a 1 x 1 + + a n x n b, x 1,..., x n 0 integer Dion Gijswijt Intro IntPM 2017-2018 7 / 24

Example: Graph Matching Problem Given a graph G = (V, E) with costs c on the edges. Find a minimum cost perfect matching. b 1 1 3 a c 1 2 3 0 h i 5 6 5 3 g j 2 2 f 6 d 9 11 10 10 e Dion Gijswijt Intro IntPM 2017-2018 8 / 24

Example: Graph Matching Problem Given a graph G = (V, E) with costs c on the edges. Find a minimum cost perfect matching. b 1 1 3 a c 1 2 3 0 h i 5 6 5 3 g j 2 2 f 6 d 9 11 10 10 e Dion Gijswijt Intro IntPM 2017-2018 8 / 24

Example: Graph Matching Problem Given a graph G = (V, E) with costs c on the edges. Find a minimum cost perfect matching. b 1 1 3 a c 1 2 3 0 h i 5 6 5 3 g j 2 2 f 6 d 9 11 10 10 e IP Formulation minimize subject to uv E c uv x uv v x uv = 1 for every u V x 0 integral Dion Gijswijt Intro IntPM 2017-2018 8 / 24

Boolean expressions 3-SAT Given a Boolean formula in conjunctive normal form with at most 3 literals per clause. Can we assign TRUE/FALSE to variables x i to make the formula TRUE? For example: f = (x 1 x 2 x 4 ) (x 5 x 3 x 6 ). Dion Gijswijt Intro IntPM 2017-2018 9 / 24

Boolean expressions 3-SAT Given a Boolean formula in conjunctive normal form with at most 3 literals per clause. Can we assign TRUE/FALSE to variables x i to make the formula TRUE? For example: f = (x 1 x 2 x 4 ) (x 5 x 3 x 6 ). IP Formulation The example is satisfyable iff the following IP is feasible: x 1 + (1 x 2 ) + x 4 1 1 x 5 + (1 x 3 ) + (1 x 6 ) 1 x 1,..., x n {0, 1} Dion Gijswijt Intro IntPM 2017-2018 9 / 24

Boolean expressions 3-SAT Given a Boolean formula in conjunctive normal form with at most 3 literals per clause. Can we assign TRUE/FALSE to variables x i to make the formula TRUE? For example: f = (x 1 x 2 x 4 ) (x 5 x 3 x 6 ). IP Formulation The example is satisfyable iff the following IP is feasible: x 1 + (1 x 2 ) + x 4 1 1 x 5 + (1 x 3 ) + (1 x 6 ) 1 x 1,..., x n {0, 1} Theorem Integer programming is NP-hard Dion Gijswijt Intro IntPM 2017-2018 9 / 24

Linear programs and Linear Diophantine systems Two related polynomial-time solvable problems are: Linear programming Given: matrix A Q m n, vector b Q m, vector c Q n. Find: solution to Ax b, x 0 maximizing c T x. simplex method interior point methods ellipsoid method [Fast in practice] [Fast in theory and practice] [Fast in theory] System of linear Diophantine equations Given: matrix A Z m n, vector b Z m. Find: solution x Z n to Ax = b. generalisation of Euclidean algorithm Hermite normal form Dion Gijswijt Intro IntPM 2017-2018 10 / 24

LP-relaxation Dion Gijswijt Intro IntPM 2017-2018 11 / 24

LP-relaxation IP: max{c T x : x P Z n }, where P = {x R n : Ax b, x 0} is a polyhedron. (natural) LP-relaxation: max{c T x : x P} gives upper bound. Dion Gijswijt Intro IntPM 2017-2018 12 / 24

LP-relaxation IP: max{c T x : x P Z n }, where P = {x R n : Ax b, x 0} is a polyhedron. (natural) LP-relaxation: max{c T x : x P} gives upper bound. integer hull: P I := conv.hull(p Z n ). Observation. max{c T x : x P Z n } = max{c T x : x P I } Dion Gijswijt Intro IntPM 2017-2018 12 / 24

LP-relaxation IP: max{c T x : x P Z n }, where P = {x R n : Ax b, x 0} is a polyhedron. (natural) LP-relaxation: max{c T x : x P} gives upper bound. integer hull: P I := conv.hull(p Z n ). Observation. max{c T x : x P Z n } = max{c T x : x P I } Theorem. If P is rational, then P I is again a polyhedron. Corollary. Every IP can (in theory) be written as an LP! Dion Gijswijt Intro IntPM 2017-2018 12 / 24

The integrality gap Example Fix r Z 0. Consider max{x 2 : 2rx 1 + x 2 0, 2rx 1 + x 2 2r, x 0, x Z 2 } The maximum of this IP is 0. The maximum of its LP relaxation is r. Dion Gijswijt Intro IntPM 2017-2018 13 / 24

The integrality gap Example Fix r Z 0. Consider max{x 2 : 2rx 1 + x 2 0, 2rx 1 + x 2 2r, x 0, x Z 2 } The maximum of this IP is 0. The maximum of its LP relaxation is r. So the integrality gap max{c T x : x P} max{c T x : x P, x Z n } may be arbitrarily high. Dion Gijswijt Intro IntPM 2017-2018 13 / 24

Perfect formulations Let P = {x R n : Ax b, x 0} be a polyhedron. Definition If P = P I, then P is an integral polyhedron system Ax b, x 0 is a perfect formulation for P Z n. If we have a perfect formulation, our IP becomes an LP. Dion Gijswijt Intro IntPM 2017-2018 14 / 24

Perfect formulations Let P = {x R n : Ax b, x 0} be a polyhedron. Definition If P = P I, then P is an integral polyhedron system Ax b, x 0 is a perfect formulation for P Z n. If we have a perfect formulation, our IP becomes an LP. Birkhoff polytope Consider the n n doubly stochastic matrices. P = {x R n n 0 : n x ij = 1 (j = 1,..., n), i=1 n x ij = 1 (i = 1,..., n)} j=1 Applications: min cost assignment of n people to n jobs, bipartite matching,... Dion Gijswijt Intro IntPM 2017-2018 14 / 24

Extended formulations Represent polytope as a projection of a simpler polytope in higher dimension. Dion Gijswijt Intro IntPM 2017-2018 15 / 24

Branch and bound Dion Gijswijt Intro IntPM 2017-2018 16 / 24

An example maximize 5.5x 1 + 2.1x 2 subject to x 1 + x 2 2 8x 1 + 2x 2 17 x 1, x 2 0 integer Dion Gijswijt Intro IntPM 2017-2018 17 / 24

Branch & bound Given IP max{c T x : x P Z n }, where P = {x R n : Ax b, x 0}. Dion Gijswijt Intro IntPM 2017-2018 18 / 24

Branch & bound Given IP max{c T x : x P Z n }, where P = {x R n : Ax b, x 0}. The branch & bound algorithm 0. Initialize L = {P}, z =, x =. 1. Terminate if L = and output x. 2. Select node Q in L and remove it from L. 3. Bound by solving LP-relaxation max{c T x x Q}. Infeasible, then go to Step 1. Feasible, then let x LP optimal solution with value z LP. 4. Prune: If z LP z, then go to Step 1. If x is integral, set x = x LP and z = z LP and go to Step 1. 5. Branch. Construct smaller polyhedra Q 1,..., Q k whose integral points cover those of Q. Add Q 1,..., Q k to L. Eg. Q 1 := Q {x R n : x i x LP i } and Q 2 = Q {x R n : x i xi LP }. Dion Gijswijt Intro IntPM 2017-2018 18 / 24

Cutting planes Dion Gijswijt Intro IntPM 2017-2018 19 / 24

Definition A cutting plane for polyhedron P: inequality a T x β satisfied by all points in P Z n (but not all points in P). Dion Gijswijt Intro IntPM 2017-2018 20 / 24

Definition A cutting plane for polyhedron P: inequality a T x β satisfied by all points in P Z n (but not all points in P). Dion Gijswijt Intro IntPM 2017-2018 20 / 24

Definition A cutting plane for polyhedron P: inequality a T x β satisfied by all points in P Z n (but not all points in P). Perfect matching Let G = (V, E) a graph and P = {x R E 0 : x(δ(u)) = 1 for all u V }. Perfect matching polytope P I strictly contained in P. For U V odd size, cutting plane: x(e[u]) U 1 2. Dion Gijswijt Intro IntPM 2017-2018 20 / 24

Branch & cut Given IP max{c T x : x P Z n }, where P = {x R n : Ax b, x 0}. Dion Gijswijt Intro IntPM 2017-2018 21 / 24

Branch & cut Given IP max{c T x : x P Z n }, where P = {x R n : Ax b, x 0}. The branch & cut algorithm 0. Initialize L = {P}, z =, x =. 1. Terminate if L = and output x. 2. Select node Q in L and remove it from L. 3. Bound by solving LP-relaxation max{c T x x Q}. Infeasible, then go to Step 1. Feasible, then let x LP optimal solution with value z LP. 4. Prune: If z LP z, then go to Step 1. If x is integral, set x = x LP and z = z LP and go to Step 1. 5. Add cuts to Q and go to Step 3, or skip this step. 6. Branch. Construct smaller polyhedra Q 1,..., Q k whose integral points cover those of Q. Add Q 1,..., Q k to L. Dion Gijswijt Intro IntPM 2017-2018 21 / 24

Flatness theorem Dion Gijswijt Intro IntPM 2017-2018 22 / 24

Khinchine s Theorem Definition The lattice width of a set P R n is ( w(p) := max{d T x : x P} min{d T x : x P} ) min d Z n \{0} Theorem (Khinchine, 1948) Let n N. There is a constant γ n such that if P R n is any bounded, closed, convex set and P Z n =, then w(p) γ n. Dion Gijswijt Intro IntPM 2017-2018 23 / 24

Khinchine s Theorem Definition The lattice width of a set P R n is ( w(p) := max{d T x : x P} min{d T x : x P} ) min d Z n \{0} Theorem (Khinchine, 1948) Let n N. There is a constant γ n such that if P R n is any bounded, closed, convex set and P Z n =, then w(p) γ n. There is an algorithmic version of Khinchine s Theorem, which yields a polynomial-time algorithm for IP in finite dimension. Dion Gijswijt Intro IntPM 2017-2018 23 / 24

Course outline 4 blocks 1 Basics on linear optimization, polyhedra, lattices. 2 Perfect formulations, extended formulations. 3 Cutting planes, Chvatal-Gomory closure; travelling salesman problem. 4 Khinchine s theorem, Lenstra s algorithm for IP. grade based on 4 sets of homework problems. homework problems, time schedule on: homepage.tudelft.nl/64a8q/intpm/ Dion Gijswijt Intro IntPM 2017-2018 24 / 24