In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

Similar documents
Mathematical and Algorithmic Foundations Linear Programming and Matchings

Lecture 2 - Introduction to Polytopes

Integer Programming Theory

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

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

Lecture 4: Rational IPs, Polyhedron, Decomposition Theorem

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

AMS : Combinatorial Optimization Homework Problems - Week V

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

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

Math 5593 Linear Programming Lecture Notes

1. Lecture notes on bipartite matching February 4th,

Linear programming and duality theory

Conic Duality. yyye

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

Polar Duality and Farkas Lemma

Convex Geometry arising in Optimization

1. Lecture notes on bipartite matching

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Lecture 6: Faces, Facets

6. Lecture notes on matroid intersection

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

1 Linear programming relaxation

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

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

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

CS522: Advanced Algorithms

Lecture 3: Totally Unimodularity and Network Flows

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

Math 414 Lecture 2 Everyone have a laptop?

5.3 Cutting plane methods and Gomory fractional cuts

11 Linear Programming

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets

Lecture Notes 2: The Simplex Algorithm

Dual-fitting analysis of Greedy for Set Cover

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

ORIE 6300 Mathematical Programming I September 2, Lecture 3

maximize c, x subject to Ax b,

Linear Programming Duality and Algorithms

Lecture 5: Duality Theory

Numerical Optimization

Combinatorial Geometry & Topology arising in Game Theory and Optimization

Integer Programming Chapter 9

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

9.5 Equivalence Relations

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Approximation Algorithms

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

A mini-introduction to convexity

arxiv: v1 [math.co] 15 Dec 2009

Linear Programming in Small Dimensions

Convexity: an introduction

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Modeling and Analysis of Hybrid Systems

Modeling and Analysis of Hybrid Systems

11.1 Facility Location

Linear Programming. Larry Blume. Cornell University & The Santa Fe Institute & IHS

Some Advanced Topics in Linear Programming

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

4 Integer Linear Programming (ILP)

Polytopes Course Notes

Linear Programming Motivation: The Diet Problem

In this lecture, we ll look at applications of duality to three problems:

Heuristic Optimization Today: Linear Programming. Tobias Friedrich Chair for Algorithm Engineering Hasso Plattner Institute, Potsdam

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

Decision Aid Methodologies In Transportation Lecture 1: Polyhedra and Simplex method

Advanced Linear Programming. Organisation. Lecturers: Leen Stougie, CWI and Vrije Universiteit in Amsterdam

The Simplex Algorithm

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Lesson 17. Geometry and Algebra of Corner Points

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010

Shiqian Ma, MAT-258A: Numerical Optimization 1. Chapter 2. Convex Optimization

Lecture 4: Linear Programming

2. Optimization problems 6

Lecture 12: Feasible direction methods

C&O 355 Lecture 16. N. Harvey

CS 435, 2018 Lecture 2, Date: 1 March 2018 Instructor: Nisheeth Vishnoi. Convex Programming and Efficiency

1 Linear Programming. 1.1 Optimizion problems and convex polytopes 1 LINEAR PROGRAMMING

Chapter 15 Introduction to Linear Programming

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

Notes for Lecture 20

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

Notes for Lecture 24

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

12.1 Formulation of General Perfect Matching

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

Approximation Algorithms

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

CS671 Parallel Programming in the Many-Core Era

3 No-Wait Job Shops with Variable Processing Times

Lecture 5: Properties of convex sets

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Lecture 16 October 23, 2014

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

Transcription:

2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m} and column index set N = {1,...,n}. Wewrite A =(a ij ),...,m j=1,...,n a 1j. : jth column of A a mj A,j = For subsets I M and J N we denote by A i, =(a i1,...,a n1 ):ith row of A. A I,J := (a ij ) i I j J the submatrix of A formed by the corresponding indices. We also set A,J := A M,J A I, := A I,N. For a subset X R n we denote by lin(x):={x = the linear hull of X. λ i v i : λ i R and v 1,...,v k X}

10 Basics 2.2 Convex Hulls Definition 2.1 (Convex Hull) Given a set X R n,theconvex hull of X, denotedbyconv(x) is defined to be the set of all convex combinations of vectors from X, thatis, conv(x):={x = λ i v i : λ i 0, λ i = 1 and v 1,...,v k X} Suppose that X R n is some set, for instance X is the set of incidence vectors of all spanning trees of a given graph (cf. Example 1.8). Suppose that we wish to find a vector x X maximizing c T x. If x = k λ iv i conv(x) is a convex combination of the vectors v 1,...,v k,then Hence, we have that for any set X R n. c T x = λ i c T v i max{c T v i : i = 1,...,k}. max{c T x : x X} = max{c T x : x conv(x)} Observation 2.2 Let X R n be any set and c R n be any vector. Then max{c T x : x X} = max{c T x : x conv(x)}. (2.1) Proof: See above. Observation 2.2 may seem of little use, since we have replaced adiscretefiniteproblem (left hand side of (2.1) by a continuous one (right hand side of (2.1)). However,inmany cases conv(x) has a nice structure that we can exploit in order to solve the problem. It turns out that most of the time conv(x) is a polyhedron {x : Ax b} (see Section 2.3) and that the problem max{c T x : x conv(x)} is a Linear Program. Example 2.3 We return to the IP given in Example 1.2: max x + y x,y Z We have already noted that the set X of feasible solutions for the IP is X = {(1,1),(2,1),(3,1),(1,2),(2,2),(3,2),(2,3)}. Observe that the constraint y 3isactuallysuperfluous,butthatisnotourmainconcern right now. What is more important is the fact that we obtain thesamefeasiblesetifweadd

2.2 Convex Hulls 11 5 4 3 2 1 0 0 1 2 3 4 5 Figure 2.1: The addition of a the new constraint x y 1 (shownastheredline)leads to the same set feasible set. the constraint x y 1 asshowninfigure2.1.moreover,wehavethattheconvexhull conv(x) of all feasible solutions for the IP is described by the following inequalities: x + y 1 Observation 2.2 now implies that instead of solving the original IP we can also solve the Linear Program max x + y x + y 1 that is, a standard Linear Program without integrality constraints. In the above example we reduced the solution of an IP to solvingastandardlinearprogram. We will see later that in principle this reduction is always possible (provided the data of the IP is rational). However, there is a catch! The mentioned reduction might lead to an exponential increase in the problem size. Sometimes we might still overcomethis problem (see Section 5.4).

12 Basics 2.3 Polyhedra and Formulations Definition 2.4 (Polyhedron, polytope) A polyhedron is a subset of R n described by a finite set of linear inequalities, that is, a polyhedron is of the form P(A,b):={x R n : Ax b}, (2.2) where A is an m n-matrix and b R m is a vector. The polyhedron P is a rational polyhedron if A and b can be chosen to be rational. A bounded polyhedron is called polytope. In Section 1.3 we have seen a number of examples of Integer Linear Programs and we have spoken rather informally of a formulation of a problem. We now formalize the term formulation: Definition 2.5 (Formulation) ApolyhedronP R n is a formulation for a set X Z p R n p,ifx = P (Z p R n p ). It is clear, that in general there is an infinite number of formulations for a set X. This naturally raises the question about good and not so good formulations. We start with an easy example which provides the intuition howtojudgeformulations. Consider again the set X = {(1,1),(2,1),(3,1),(1,2),(2,2),(3,2),(2,3)} R 2 from Examples 1.2 and 2.3. Figure 2.2 shows our known two formulations P 1 and P 2 together with a third one P 3. ( ) x P 1 = : y ( ) x P 2 = : y x + y 1 Intuitively, we would rate P 2 much higher than P 1 or P 3.Infact,P 2 is an ideal formulation since, as we have seen in Example 2.3 we can simply solve a Linear Program over P 2,the optimal solution will be an extreme point which is a point from X. Definition 2.6 (Better and ideal formulations) Given a set X R n and two formulations P 1 and P 2 for X,wesaythatP 1 is better than P 2, if P 1 P 2. AformulationP for X is called ideal,ifp = conv(x). We will see later that the above definition is one of the keys to solving IPs. Example 2.7 In Example 1.7 we have seen two possibilities to formulate the UncapacitatedFacility Location Problem (UFL): m m n m m n min f j y j + c ij x ij min f j y j + c ij x ij j=1 j=1 j=1 j=1 x P 1 x P 2 x B nm,y B m x B nm,y B m,

2.4 Cones 13 5 4 3 2 1 0 0 1 2 3 4 5 Figure 2.2: Different formulations for the integral set X = {(1,1),(2,1),(3,1),(1,2),(2,2),(3,2),(2,3)} where {( ) x P 1 = : y {( ) x P 2 = : y m j=1 x ij = 1 fori = 1,...,n x ij y j for i = 1,...,n and j = 1,...,m m j=1 x } ij = 1 fori = 1,...,n n x ij ny j for j = 1,...,m } We claim that P 1 is a better formulation than P 2.Ifx P 1,thenx ij y j for all i and j. Summing these constraints over i gives us n x ij ny j,sox P 2. Hence we have P 1 P 2.WenowshowthatP 1 P 2 thus proving that P 1 is a better formulation. We assume for simplicity that n/m = k is an integer. The argument can be extended to the case that m does not divide n by some technicalities. We partition the clients into m groups, each of which contains exactly k clients. The first group will be served by a (fractional) facility at y 1,thesecondgroupbya(fractional)facilityaty 2 and so on. More precisely, we set x ij = 1fori = k(j 1)+1,...,k(j 1)+k and j = 1,...,m and x ij = 0otherwise.Wealsosety j = k/n for j = 1,...,m. Fix j. Byconstruction n x ij = k = n n k = ny j.hence,thepoint(x,y) just constructed is contained in P 2.Ontheotherhand,(x,y) / P 1. 2.4 Cones Definition 2.8 (Cone, polyhedral cone) AnonemptysetC R n is called a (convex) cone, ifforallx,y C and all λ,µ 0 we have: λx + µy C. Aconeiscalledpolyhedral,ifthereexistsamatrixA such that C = {x : Ax 0}.

14 Basics Thus, cones are also polyhedra, albeit special ones. We will see that they play an important role in the representation of polyhedra. Suppose that we have a set S R n Then, the set cone(s):={λ 1 x 1 + + λ k x k : x i S,λ i 0fori = 1,...,k} is obviously a cone. We call this the cone generated by S. It is easy to see that this is the smallest cone containing S. 2.5 Linear Programming We briefly recall the following fundamental results from Linear Programming which we will use in these notes. For proofs, we refer to standard booksaboutlinearprogramming such as [Sch86, Chv83]. Theorem 2.9 (Duality Theorem of Linear Programming) Let A be an m n-matrix, b R m and c R n.definethepolyhedrap = {x : Ax b} and Q = { y : A T y = c,y 0 }. (i) If x P and y Q then c T x b T y. (weak duality) (ii) In fact, we have max{c T x : x P } = min{b T y : y Q}, (2.3) provided that both sets P and Q are nonempty. (strong duality) Theorem 2.10 (Complementary Slackness Theorem) Let x be a feasible solution of max{c T x : Ax b} and y be a feasible solution of min{b T y : A T y = c,y 0}. Then x and y are optimal solutions for the maximization problem and minimization problem, respectively, if and only if they satisfy the complementary slackness conditions: for each i = 1,...,m,eithery i = 0 or A i, x i = b i. (2.4) Theorem 2.11 (Farkas Lemma) The set {x : Ax = b,x 0} is nonempty if and only if there is no vector y such that A T y 0 and b T y<0. 2.6 Agenda These lecture notes are consist of two main parts. The goals ofpartiareasfollows: (i) Prove that for any rational polyhedron P(A,b) ={x : Ax b} and X = P Z n the set conv(x) is again a rational polyhedron. (ii) Use the fact max { c T x : x X } = max { c T x : x conv(x) } (see Observation 2.2) and (i) to show that the latter problem can be solved by means of LinearProgramming by showing that an optimum solution will always be found at an extreme point of the polyhedron conv(x) (which we show to be a point in X). (iii) Give tools to derive good formulations.