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.