Integer Relax and Cut
Integer Relax and Cut
Grard Cornujols e e
Key words: mixed integer linear program, lift-and-project, split cut, Gomory cut, mixed integer rounding, elementary closure, polyhedra, union of polyhedra
1. Introduction In this tutorial we consider mixed integer linear programs. These are problems of the form max cx + hy Ax + Gy b x 0 integral y 0, where the data are the row vectors c Qn , h Qp , the matrices A Qmn , G Qmp and the column vector b Qm ; and the variables are the column vectors x Rn and y Rp . The set S of feasible solutions to this mixed integer linear program is called a mixed integer linear set. That is, if P := {(x, y) Rn Rp : Ax + Gy b}, then S := P (Zn Rp ). It can be shown that + + + + conv(S) is a polyhedron (see for example Nemhauser and Wolsey [46]). In order to solve a mixed integer linear program, it is therefore equivalent to solve the linear program max cx + hy (x, y) conv(S) since the extreme points of conv(S) are in S. This is the polyhedral approach. The diculty, of course, is to construct inequalities dening conv(S) given those
Tepper School of Business, Carnegie Mellon University, Pittsburgh, PA 15213, USA; and LIF, Facult des Sciences de Luminy, Universit d Aix-Marseille, 13288 Marseille, France. e e e-mail: [email protected] Supported by NSF grant DMI-0352885 and ONR grant N00014-03-1-0188.
Grard Cornujols e e
dening P . This tutorial presents approaches for constructing improved approximations of conv(S) recursively. An inequality is said to be valid for a set if it is satised by every point in this set. A cut with respect to a point (x, y) conv(S) / is a valid inequality for conv(S) that is violated by (x, y). The polyhedral approach to solving mixed integer linear programs leads naturally to the cutting plane approach: Solve the linear programming relaxation obtained by ignoring the integrality requirements on x; if this relaxation is unbounded or infeasible, then stop: the mixed integer linear progam is infeasible or unbounded; otherwise let (x, y) be an optimal extreme point solution; if (x, y) S, then stop: (x, y) is an optimal solution of the mixed integer linear program; otherwise generate a cut with respect to (x, y), add it to the previous linear programming relaxation, solve this improved relaxation, and repeat. In this tutorial, we give a geometric understanding of several classical families of cuts such as split cuts [25], Gomory mixed integer cuts [34], intersection cuts [4] and, in the mixed 0,1 case, lift-and-project cuts [54], [43], [7]. We study the relationships between these various families and discuss computational aspects of these cuts. Cuts that exploit specic structures of the constraints are also the object of a vast literature but they are not addressed in this tutorial. We start with some useful results in polyhedral theory.
2. Polyhedra A polyhedron in Rn is a set of the form P := {x Rn : Ax b} where A is a real matrix and b a real vector. If A and b have rational entries, P is a rational polyhedron. The polyhedron {x Rn : Ax 0} is called a polyhedral cone. Note that a polyhedral cone is always nonempty since it contains the null vector 0. For S Rn , the convex hull of S is the set conv(S) := {x Rn : x = k k i k 1 k i=1 i x where k 1, R+ , i=1 i = 1 and x , . . . , x S}. This is the smallest convex set that contains S. It will sometimes be useful to work with conv(S), the closure of conv(S), which is the smallest closed convex set that contains S. The conic hull of a nonempty set S Rn is cone(S) := {x Rn : k x = i=1 i xi where k 1, Rk and x1 , . . . , xk S}. + The convex hull of a nite set of points in Rn is called a polytope. An important theorem, due to Minkowski-Weyl, states that every polyhedron P can be written as the sum of a polytope Q and a polyhedral cone C. Here Q + C := {x Rn : x = y + z for some y Q and z C}. Note that P = if and only if Q = . If P := {x Rn : Ax b} is nonempty, then C = {x Rn : Ax 0} is unique. The cone {x Rn : Ax 0} is called the recession cone of P . Another useful result is Farkass lemma: For a nonempty polyhedron P := {x : Ax b}, the inequality x is valid for P if and only if there exists a vector v 0 such that vA = and vb . [This is also a consequence of LP duality: max{x : Ax b} = min{vb : vA = , v 0}.] Another form of Farkass lemma is: Ax b has a solution if and only if vb 0 for all
v 0 such that vA = 0. [Equivalently, by LP duality, max{0 : Ax b} = min{vb : vA = 0, v 0}.] The proof of these results can be found in textbooks such as Schrijver [53] or Ziegler [58]. 2.1. Some properties of polyhedra and convex sets This section contains two lemmas that will be used later. Lemma 1. Let P := {x Rn : Ax b} be a polyhedron and let := P {x : x 0 }. If = and x is a valid inequality for , then there exists a scalar R+ such that x (x 0 ) is valid for P . Proof. By Farkass lemma, since = , there exist u 0, 0 such that = uA + and ub + 0 . Since uAx ub is valid for P , so is uAx 0 . Since uAx = x x, the inequality x (x 0 ) is valid for P .
x (x 0 )
x 0 x
Fig. 1. Illustration of Lemma 1
Remark 1. Lemma 1 has two possible outcomes: When the hyperplane x = 0 is parallel to x = , then by choosing such that = , we get the trivial inequality 0 , satised by all points in Rn (for instance, the lemma holds when P = Rn ); in the more interesting case when x = 0 is not parallel to x = , the outcome of the lemma is a closed half-space containing P (see Figure 1).
Grard Cornujols e e
x x (x 0 )
x 0
Fig. 2. Lemma 1 does not hold when =
Remark 2. The assumption = is necessary in Lemma 1, as shown by the following example (see Figure 2): P := {x R2 : x1 0, x2 0} and := P {x : x2 1}. Thus is empty. The inequality x1 1 is valid for but there is no scalar such that x1 (x2 + 1) 1 is valid for P . Let H Rn be a hyperplane and S Rn . In general, conv(S) H = conv(S H) as shown by the following example: S consists of two points not in H but the line segment connecting them intersects H. The following lemma shows that equality holds when S lies entirely in one of the closed half spaces dened by the hyperplane H (see Figure 3). Lemma 2. Let H := {x Rn : ax = b} be a hyperplane and S {x : ax b}. Then conv(S) H = conv(S H).
conv(S) H
Fig. 3. Illustration of Lemma 2
Proof. We prove rst conv(S H) conv(S) H and then conv(S) H conv(S H).
Clearly conv(S H) conv(S) and conv(S H) H so the rst inclusion is obvious. To prove the other inclusion, let x conv(S) H. This means ax = b and x = k i xi where x1 , . . . , xk S, 0 and k i = 1. i=1 i=1
k k
b = ax =
i=1
i axi
i=1
i b = b
(1)
where the inequality follows from axi b and i 0. Relation (1) implies that these inequalities are in fact equations, i.e. axi = b for i = 1, . . . , k. Therefore xi S H. This implies x conv(S H).
2.2. Facets Let P := {x Rn : Ax b} be a polyhedron. A face of P is a set of the form F := P {x Rn : x = } where x is a valid inequality for P (the inequality is said to dene the face F ). A face is itself a polyhedron since it is the intersection of the polyhedron P with another polyhedron (the hyperplane x = ). The dimension of a set is the dimension of the smallest ane space that contains it. The faces of dimension 0 are called vertices of P , those of dimension 1 are called edges and those of dimension dim(P ) 1 are called facets. The proof of the following theorem can be found in Schrijver [53]. Theorem 1. Let P Rn be a nonempty polyhedron. (i) For each facet F of P , at least one of the inequalities dening F is necessary in any description Ax b of P . (ii) Inequalities dening faces of dimension less than dim(P ) 1 are not needed in the description of P and can be removed. This result states that, if a polyhedron in Rn has m facets, any representation by a system of linear inequalities in Rn contains at least m inequalities. In integer linear programming, we often consider polyhedra that are given implicitly as conv(S) (see the Introduction). It is not unusual for such polyhedra to have a number of facets that is exponential in the size of the input. Thus their representation by linear inequalities in Rn is large. In some cases, there is a way to get around this diculty: a polyhedron with a large number of facets can sometimes be obtained as the projection of a polyhedron with a small number of facets. For this reason, projections turn out to be an important topic in this tutorial.
Grard Cornujols e e
2.3. Projections Let P Rn+p where (x, y) P will be interpreted as meaning x Rn and y Rp . The projection of P onto the x-space Rn is projx (P ) := {x Rn : y Rp with (x, y) P }.
y P x projx (P )
Fig. 4. Projection
Theorem 2. Let P := {(x, y) Rn Rp : Ax + Gy b}. Then projx (P ) = {x Rn : v t (b Ax) 0 for all t T } where {v t }tT is the set of extreme rays of Q := {v Rm : vG = 0, v 0}. Proof. Let x Rn . By Farkass Lemma, Gy b Ax has a solution y if and only if v t (b Ax) 0 for all extreme rays v t of vG = 0, v 0. Remark 3. Variants of Theorem 2 can be proved similarly: If y 0 in P , then the relevant cone Q is {v : vG 0, v 0}. If y 0 and Ax + Gy = b in P , the relevant cone is {v : vG 0} with v unrestricted in sign. Enumerating the extreme rays of Q may not be an easy task in applications. Another way of obtaining the projection of P is to eliminate the variables yi one at a time (Fourier-Motzkin elimination procedure): Consider a polyhedron P Rn+1 dened by the system of inequalities:
n
aij xj + gi z bi for i I.
j=1
(2)
Let I 0 = {i I : gi = 0}, I + = {i I : gi > 0}, I = {i I : gi < 0}. The Fourier-Motzkin procedure eliminates the variable z as follows: It keeps the inequalities of (2) in I 0 , and it combines each pair of inequalities i I + and l I to eliminate z. Theorem 3. The system of |I 0 | + |I + ||I | inequalities obtained by the FourierMotzkin procedure is the projection projx (P ) of P in the x-space Rn .
Therefore, every (x, z) in (2) satises 1 1 (bl alj xj ) (bi aij xj ). gl gi j=1 j=1
n n
(3)
Conversely, if x satises the inequalities (2) for i I 0 and the system (3) for every i I + , l I , then max
lI
2.4. Union of polyhedra In this section, we prove a result of Balas [5], [6] about the union of polyhedra. Consider k polyhedra Pi := {x Rn : Ai x bi }. We will show that the smallest closed convex set that contains k Pi is a polyhedron. This set is denoted by i=1 conv(k Pi ). i=1 The closure is needed as shown by the following example: P1 consists of a single point, and P2 is a line that does not contain the point P1 (see Figure 5). Let P3 denote the line going through P1 that is parallel to P2 . It is easy to verify that conv(P1 P2 ) = conv(P2 P3 ) and that conv(P1 P2 ) = conv(P2 P3 ) \ (P3 \ P1 ) (indeed, a point x in P3 \ P1 is not in conv(P1 P2 ), but there is a sequence of points xk conv(P1 P2 ) that converges to x ). Here conv(P1 P2 ) is not a closed set, and therefore it is not a polyhedron.
P1 conv(P1 P2 ) P2
Fig. 5. conv(P1 P2 ) = conv(P1 P2 )
P3
Grard Cornujols e e
The following example shows that conv(k Pi ) can have an exponential i=1 number of facets in the size of the input Pi , i = 1, . . . , k. Let ei denote the i-th unit vector in Rn . Let Pi be the single point ei for i = 1, . . . , n, and Pn+i the single point ei for i = 1, . . . , n. Then conv(2n Pi ) i=1 has 2n facets, namely
2n n
conv(
i=1
Pi ) = {x Rn :
i=1
i xi
1 for all
{1, +1}n}.
P2 P3 conv(Pi ) P4
Fig. 6. Octahedron
P1
Although conv(k Pi ) may have exponentially many facets, Balas [5], [6] i=1 proved that it is the projection of a higher dimensional polyhedron Y with a polynomial size representation: Ai xi bi yi xi = x (4) Y := yi = 1 yi 0 for i = 1, . . . , k. In this formulation, xi is a vector in Rn and yi is a scalar, for i = 1, . . . , k. The vector x Rn corresponds to the original space onto which Y is projected. Thus, the polyhedron Y is dened in Rkn+n+k . A formulation with a polynomial number of variables and constraints is said to be compact. The gist of Balass result is that conv(k Pi ) has a compact representation. The proof is given i=1 below. Let Pi := {x Rn : Ai x bi } be a polyhedron and Ci := {x Rn : Ai x 0} its recession cone. By the Minkowski-Weyl theorem, there exists a polytope Qi such that Pi = Qi + Ci . Theorem 4. Consider k polyhedra Pi := {x Rn : Ai x bi } and let Ci := {x Rn : Ai x 0}. Let Pi =: Qi + Ci where Qi is a polytope. If Pi = , assume that Cj cone i:Pi = Ci for all j such that Pj = . Then the following sets are identical.
(i) conv(k Pi ) i=1 (ii) conv(k Qi ) + cone(k Ci ) i=1 i=1 (iii) projx Y , where Y is dened in (4). Proof. Dene Q := conv(k Qi ) and C := cone(k Ci ). We will show that i=1 i=1 conv(k Pi ) projx Y Q + C conv(k Pi ). i=1 i=1 Since projx Y is a closed set, the rst inclusion implies conv(k Pi ) projx Y i=1 and the theorem follows. (a) conv(k Pi ) projx Y i=1 The result holds when k Pi = , so we assume k Pi = . Without i=1 i=1 loss of generality, P1 , . . . , Ph are nonempty and Ph+1 , . . . , Pk are empty, where 1 h k. Let x conv(k Pi ). Then x is a convex combination of a nite number of i=1 points in h Pi . Since each Pi is convex, we can write x as a convex combination i=1 of points z i Pi , say x = h yi z i where yi 0 for i = 1, . . . , h and h yi = i=1 i=1 1. Let xi = yi z i for i = 1, . . . , h and yi = 0, xi = 0 for i = h + 1, . . . , k. Then k Ai xi bi yi for i = 1, . . . k and x = i=1 xi . This shows that x projx Y and therefore (a) holds. (b) projx Y Q + C The result holds if Y = , so we assume Y = . Let x projx Y . By the denition of projection, there exist x1 , . . . , xk , y such k that x = i=1 xi where Axi bi yi , yi = 1, y 0. Let I := {i : yi > 0}. xi i i For i I, let z := yi . Then z Pi . Since Pi = Qi + Ci , we can write z i = wi + xi where wi Qi and xi Ci . For i I, we have Ai xi 0. That is xi Ci . x=
iI
yi z i +
iI
xi
k
=
iI
yi w i +
i=1
i xi
cone(Ci )
where i 0
conv(Qi ) Q + C.
(c) Q + C conv(k Pi ) i=1 The result holds when Q = , so we assume Q = . Without loss of generality Q1 , . . . , Qh are nonempty and Qh+1 , . . . , Qk are empty, where 1 h k. h k Let x Q + C. Then x = i=1 yi wi + i=1 xi where wi Qi , yi 0 for h i = 1, . . . , h, i=1 yi = 1 and xi Ci for i = 1, . . . k. By the assumption in the
10
Grard Cornujols e e
statement of the theorem we have, for j = h + 1, . . . , k, xj = h j xij , where i=1 i j 0 and xij Ci for i = 1, . . . , h. i Based on the above vector y Rh , dene I := {i : yi > 0} and consider the + point x :=
iI
h i
(w + (x +
i=1 h |I| j=h+1
k i
j xij )) i
for
0 for all i I.
h |I|
iI (yi
)+
h i=1
= 1 and wi + 1 (xi +
Remark 4. The assumption in Theorem 4 is necessary as shown by the following example (see Figure 7): P1 := {x R2 : 0 x 1} and P2 := {x R2 : x1 0, x1 1}. Note that P2 = and C2 = {x R2 : x1 = 0}. The theorem does not hold in this case since projx Y = P1 + C2 = {x R2 : 0 x1 1}, which is dierent from conv(P1 P2 ) = P1 .
x2
1111 0000 proj Y 1111 0000 1111 1 0000 1111 0000 1111 0000 P 1111 0000 1 1111 0000 0 1111 0000 1111 0000 1111 0000
x 1
x1
C2
Remark 5. The assumption in Theorem 4 is automatically satised if (i) Ci = {0} whenever Pi = , or (ii) all the polyhedra Pi have the same recession cone. For example (i) holds when all the Pi s are nonempty, or when Ci = {0} for all i. Remark 6. If all the polyhedra Pi have the same recession cone C = Ci for i = 1, . . . , k, then conv(k Pi ) = conv(k Pi ). Indeed, in this case, part (c) of i=1 i=1
11
the above proof simplies and shows that Q + C conv(k Pi ). Furthermore i=1 Pi is the x-projection of Ai xi bi yi xi = x YI := yi = 1 yi {0, 1} for i = 1, . . . , k. To prove the last claim, observe that if x Pi , then x Pj for some j = 1, . . . , k. Setting xj = x, yj = 1 and xi = 0, yi = 0 for i = j, we have a solution (x, x1 , . . . , xk , y) YI . Conversely, given (x, x1 , . . . , xk , y) YI , let j be the index for which yj = 1. We have Aj xj bj and Ai xi 0 for i = j, namely xj Pj and xi is in the recession cone of Pi for i = j. Since the recession cone k of Pi is also the recession cone of Pj , the point x = i=1 xi belongs to Pj . Remark 7. When the Pi s have dierent recession cones, the x-projection of YI is usually dierent from Pi as shown by the following example (see Figure 5). Let P1 R2 consist of the single point (0, 1), and let P2 R2 be the line x2 = 0. Then we claim that the x-projection of YI is P2 P3 where P3 denotes the line x2 = 1. Indeed, when y1 = 1 in YI , x = x1 + x2 with x1 P1 and x2 in the recession cone of P2 , which is P2 itself in this example. So the x-projection of YI restricted to y1 = 1 is the line P3 . The x-projection of YI restricted to y2 = 1 is the line P2 , which proves the claim. In fact, under the assumption of Theorem 4, we have projx YI = k Qi + cone(k Ci ). i=1 i=1 Application: Theorem 4 has been applied to several basic models that appear repeatedly in mixed integer programming [37], [45], [56], [3], [23]. As an example, we consider a mixed integer linear set studied by Miller and Wolsey [45] and Van Vyve [56] under the name of continuous mixing set. We present it here in a form that arises in the context of robust mixed 0,1 programming, following Atamt rk [3]: u S := {(x, y, z) {0, 1}n Rn R+ : yi + z di xi for i = 1, . . . , n} + where d Rn is a given vector. The polyhedron conv(S) has an exponential + number of facets but has a compact formulation in a higher dimensional space. To derive this formulation, observe that the variable z takes either the value 0 or di for i = 1, . . . , n in every vertex of conv(S). Set d0 := 0. Let denote any of these n + 1 values, and dene S() := {(x, y, z) {0, 1}n Rn : yi di xi for i = 1, . . . , n}. + Since the constraints of S() are decoupled, one can strengthen each separately to obtain the convex hull of S(): conv(S()) := {(x, y, z) [0, 1]n Rn : yi (di )+ xi for i = 1, . . . , n}.
12
Grard Cornujols e e
Since z {d0 , d1 , . . . , dn } for every vertex of conv(S), we have conv(S) = conv(n conv(S(di ))) + C i=0 where C := {(x, y, z) Rn Rn R : x = 0, y 0, z 0} is the recession cone of conv(S). Dening Pi := conv(S(di )) + C (all Pi s have the same recession cone C), it is straightforward to obtain the desired compact formulation Y as dened in (4). 3. Lift-and-Project In this section, we consider mixed 0,1 linear programs. These are mixed integer linear programs where the integer variables are only allowed to take the values 0 or 1. It will be convenient to write mixed 0,1 linear programs in the form min cx Ax b xj {0, 1} for j = 1, . . . , n xj 0 for j = n + 1, . . . , n + p, where the matrix A Qm(n+p) , the row vector c Qn+p and the column vector b Qm are data, and x Rn+p is a column vector of variables. Consider the polyhedron P := {x Rn+p : Ax b} and the mixed 0,1 + linear set S := {x {0, 1}n Rp : Ax b}. The set conv(S) is a polyhedron + and, ideally, we would like to have its linear description in the form conv(S) = Dx d. Constructing the description Dx d would reduce the solution of a mixed 0,1 linear program to that of a linear program. But this goal is too ambitious in general as the number of inequalities needed in the description Dx d is typically enormous. This is not surprising considering that mixed 0,1 linear programming is NP-hard! A more reasonable goal is to obtain an intermediate set between P and conv(S) over which one can optimize a linear function in polynomial time, and then to use recursion to get tighter approximations of conv(S). Sherali and Adams [54], Lovsz and Schrijver [43] and Balas, Ceria and a Cornujols [7] propose an approach for doing this which generates intermedie ate sets Q between P and conv(S) as projections of higher dimensional sets that have a polynomial description. The polyhedron P Rn+p is rst lifted into a higher dimensional space Rn+p+q where the formulation is strengthened. This strengthened formulation is then projected back onto the original space Rn+p , thus dening Q. In this process the constraints of the higher dimensional formulation are dened explicitly whereas those of Q are only known implicitly through projection, thus allowing Q to have a nonpolynomial number of constraints. This approach is known under the name of lift-and-project. 3.1. The lift-and-project relaxation Consider a polyhedron P := {x Rn+p : Ax b} and the mixed 0,1 set + S := {x {0, 1}n Rp : Ax b}. Without loss of generality, we assume +
13
that the constraints Ax b include xj 0 for j = 1, . . . , n + p, and xj 1 for j = 1, . . . , n. Balas, Ceria and Cornujols [7] study the following lift-ande project procedure: Step 0: Select j {1, . . . , n}. Step 1: Generate the nonlinear system xj (Ax b) 0, (1 xj )(Ax b) 0. Step 2: Linearize the system by substituting yi for xi xj , i = j, and xj for x2 . Call this polyhedron Mj . j Step 3: Project Mj onto the x-space. Let Pj be the resulting polyhedron. S Pj follows from the fact that, for any x S, we have (x, y) Mj by choosing yi = xi xj for i = j since x2 = xj (this holds because xj is a 0,1 variable). j We also have Pj P since Ax b is obtained by adding the constraints dening Mj . How tight is the relaxation Pj of S compared to the initial relaxation P ? The next theorem shows that it is tightest possible among the relaxations that ignore the integrality of all the variables xi for i = j. Theorem 5. Pj = conv{(Ax b, xj = 0) (Ax b, xj = 1)}
Pj xj = 0 xj = 1
Proof. Call P the set conv{(Ax b, xj = 0) (Ax b, xj = 1)}. First we show Pj P . We assume P = since otherwise the result is trivial. If P {xj = 0} = , then P = P {xj = 1}. We already know that Pj P . Thus, to show that Pj P , it suces to show that Pj {xj = 1}, i.e. that xj 1 is valid for Pj . Let := min{xj : x P }. Since P {xj = 0} = , we have > 0. The inequality xj is valid for P and, by Farkass lemma, it is implied by a nonnegative combination of rows of Ax b. Therefore (1xj )xj (1xj ) is valid for the nonlinear system of Step 1. Step 2 replaces x2 by xj . This gives j that xj 1 is valid for Pj . Similarly if P {xj = 1} = , we get Pj P . Now assume P {xj = 0} = and P {xj = 1} = . Take x valid for P . Since it is valid for := P {x : xj 0} we can nd a such that
14
Grard Cornujols e e
x + xj is valid for P (Lemma 1). Similarly, we can nd such that x + (1 xj ) is valid for P . Therefore (1 xj )(x + xj ) 0 and xj (x + (1 xj ) ) 0 are valid for the nonlinear system of Step 1, and their sum is too: x + ( + )(xj x2 ) 0. j Step 2 replaces x2 by xj . This gives x valid for Mj , and thus for Pj . This j completes the proof that Pj P . Now we show P Pj . We assume P = since otherwise the result is trivial. Let x be a point in P {xj = 0} or in P {xj = 1}. Dene y i = xi xj for i = j. Then (x, y) Mj since x2 = xj . So, x Pj . By convexity of Pj it follows j that P Pj . The set n Pj is called the lift-and-project closure. It is a better approxij=1 mation of conv(S) than P : conv(S) n Pj P. j=1 How much better is it in practice? Bonami and Minoux [18] performed computational experiments (see also Bonamis dissertation [15]). On 35 mixed 0,1 linear programs from the MIPLIB library [13], they found that the lift-and-project closure reduces the integrality gap by 37 % on average (the integrality gap is the dierence between the objective value optimized over conv(S) and over P ). Sherali and Adams [54] dene a stronger relaxation by skipping Step 0 and considering the nonlinear constraints xj (Ax b) 0 and (1 xj )(Ax b) 0 for all j = 1, . . . , n in Step 1. Then, in Step 2, variables yij are introduced for all i = 1, . . . , n+p and j = 1, . . . , n with i > j. Note that the size of the linear system generated in Step 2 is much larger than in the previous lift-and-project procedure ( n(n1) + np new variables and 2nm constraints, instead of just n + p 1 new 2 variables and 2m constraints before). Let N denote the resulting polyhedron obtained by projection in Step 3. Clearly, the Sherali-Adams relaxation N is at least as strong as the lift-and-project closure dened above, and it can be strictly stronger since the Sherali-Adams procedure takes advantage of the fact that yij = yji whereas this is not the case for the lift-and-project closure n Pj . j=1 How much better is the Sherali-Adams relaxation in practice? We turn again to Bonami and Minoux [18]. For the 19 MIPLIB intances for which they could compute the Sherali-Adams bound within an hour, the improvement over the lift-and-project bound was 10 % on average. Specically, on these 19 instances, the average integrality gap closed went from 29 % for the lift-and-project closure to 39 % for the Sherali-Adams relaxation. An even stronger relaxation can be obtained as follows:
15
3.2. The Lovsz-Schrijver relaxation a Step 1: Generate the nonlinear system xj (Axb) 0 and (1xj )(Axb) 0 for all j = 1, . . . , n. Step 2: Linearize the system by substituting yij for xi xj , for all i = 1, . . . , n+ p, j = 1, . . . , n such that j < i, and xj for x2 for all j = 1, . . . , n. Denote by Y j the symmetric (n + 1) (n + 1) matrix with the vector (1, x1 , . . . , xn ) in row 0, in column 0 and in the diagonal, and entry yij in row i and column j for i, j = 1, . . . , n and j < i. Call M+ the convex set in R+ 2 of all (x, y) that satisfy the above linear inequalities and such that Y is a positive semidenite matrix. Step 3: Project M+ onto the x-space. Call N+ the resulting convex set. In this procedure, the fact that we get a relaxation N+ instead of the set 1 1 xT by Y positive S itself is because we replace the constraint Y = x semidenite in Step 2. We have conv(S) N+ N n Pj P . j=1 The convex set N+ is not a polyhedron in general. Nevertheless, a major interest in the above Lovsz-Schrijver procedure [43] is due to the fact that a a linear function can be optimized over N+ in polynomial time. Indeed, optimizing a linear function over the constraint set dened in Step 2 is a semidenite program: linear objective, linear constraints plus a symmetric positive semidenite constraint on the matrix Y of variables. Semidenite programs can be solved in polynomial time by interior point algorithms [48]. How tight is the Lovsz-Schrijver relaxation N+ ? From a practical perspeca tive the size of the semidenite program creates a tremendous challenge: the number of variables has been multiplied by n and the number of constraints as well! Burer and Vandenbussche [19] solve it using an augmented Lagrangian method and they report computational results on three classes of combinatorial problems, namely the maximum stable set problem, the quadratic assignment problem and the following problem of Erds and Turan: Calculate the maximum o size of a subet of numbers in {1, . . . , n} such that no three numbers are in arithmetic progression. In all three cases, the Lovsz-Schrijver bound given by N+ a is substantially tighter than the Sherali-Adams bound given by N . To illustrate this, we give below the results obtained in [19] for the size of a maximum stable set (graphs with more than 100 nodes): Name nodes brock200-1 200 c-fat200-1 200 johnson16-2-4 120 keller4 171 rand-200-05 200 rand-200-50 200 edges optimum N+ N 5066 21 27.9 66.6 18366 12 14.9 66.6 1680 8 10.2 23.3 5100 11 15.4 57.0 982 64 72.7 75.1 10071 11 17.1 66.6
n(n1)
+np
16
Grard Cornujols e e
From a theoretical point of view, Goemans and Williamson [33] proved a striking result. They showed that, for the max-cut problem, the semidenite relaxation is never more than 14% above the optimum value. Is it possible to improve upon the Lovsz-Schrijver relaxation in polynomial a time? The answer is yes. See for example Lasserre [40], Laurent [41], and Bienstock and Zuckerberg [12]. These relaxations are even more computationally demanding than N+ . We do not discuss them here. Instead we return to relaxations that can yield cutting planes in a reasonably short amount of computing time. 3.3. Lift-and-project cuts In this section we return to the lift-and-project relaxation Pj . Optimizing a linear function over Pj amounts to solving a linear program. So does the problem of generating a valid inequality for Pj that cuts o a given point x, or showing that none exists, as we explain below. Step 2 of the lift-and-project procedure in Section 3.1 constructs the following polyhedron Mj . Mj := {x Rn+p , y Rn+p : Ay bxj 0, Ax + bxj Ay b, yj = xj }. + + The rst two constraints come from linearizing the inequalities of Step 1. Actually, the variable yj is not introduced explicitly in Step 2. So, in fact, Mj is the polyhedron in Rn+p Rn+p1 obtained by identifying the variables yj = xj in + + the above set. Let Aj be the m (n+ p 1) matrix obtained from A by removing its j-th column aj . We have Mj := {x Rn+p , y Rn+p1 : Aj y+(aj b)xj 0, Ax+(baj )xj Aj y b}. + + By renaming the coecient matrices of x, we get Mj = {x Rn+p , y Rn+p1 : Bj x + Aj y 0, Aj x Aj y b} + + We want to project out the y variables. This is done using Theorem 2. The appropriate cone is Q := {(u, v) : uAj vAj = 0, u 0, v 0}. Namely the set Pj can be written as: Pj = {x Rn+p : (uBj + v Aj )x vb for all (u, v) Q}. + Given a fractional solution x, we can now express that an inequality x is valid for Pj and cuts o x. Indeed = uBj + v Aj and = vb for (u, v) Q expresses the validity for Pj and x < expresses that it is a cut. To get a deepest cut, one can solve the following linear program, the so-called cut generating LP: max vb (uBj + v Aj )x uAj vAj = 0 u 0, v 0.
17
These constraints along with a normalization constraint to truncate the cone will do. For example, we could add the constraint ui + vi = 1. Therefore, the cut generating LP has 2m variables and n + p constraints other than the nonnegativity conditions. This is a fairly large linear program to solve just to generate one cut. Various tricks have been used to speed up the solution, such as working in the subspace of variables where xj > 0 for j = 1, . . . , n+ p and xj < 1 for j = 1, . . . , n, see [7]. Is it possible to generate lift-and-project cuts without explicitly formulating and solving the cut generating LP? Balas and Perregaard [10] give a positive answer. We explain this below. Instead of expressing Pj as the projection of Mj , it is also possible to express Pj using Theorems 5 and 4 and then projecting onto the x-space. This is equivalent of course. By Theorem 5, Pj is the convex hull of the union of two polyhedra: Ax b Ax b x0 x 0 and xj 1. xj 0 In this part, we assume that the inequalities Ax b contain xj 1 for j = 1, . . . , n, but not x 0. By Theorem 4, Ax0 by0 x0 0 j Ax1 by1 x1 y1 Pj = projx j 0 x + x1 = x y0 + y1 = 1 x, x0 , x1 , y0 , y1 0. Let ej denote the j-th unit vector. Using the projection theorem (Theorem 2), we get that Pj is dened by the inequalities x such that uA +u0 ej ub u, vA v0 ej vb v0 u0 , v, v0 0 0 0 0 0.
uA +u0 ej ub
m i=1
ui u,
+u0 + u0 ,
vA v0 ej vb v0 m +v0 = i=1 vi v, v0
0 0 0 0 1 0.
(5)
18
Grard Cornujols e e
Balas and Perregaard [10] give a precise correspondence between the basic feasible solutions of (5) and the basic solutions (possibly infeasible) of the usual LP relaxation (R) min{cx : Ax b, x 0}.
P
0 1
Fig. 9. Correspondence between basic solutions and lift-and-project cuts
A geometric view of this correspondence may be helpful: The n + p extreme rays emanating from a basic solution of (R) intersect the hyperplanes xj = 0 and xj = 1 in n + p points (some of these points may be at innity). These points uniquely determine a hyperplane x = where (, ) are associated with a basic feasible solution of the cut generating LP (5). For example, in Figure 9, cut 1 corresponds to the basic solution 1 of (R) and cut 2 corresponds to the basic (infeasible) solution 2 of (R). Using the correspondence, Balas and Perregaard show how simplex pivots in the cut generating LP (5) can be mimicked by pivots in (R). The major practical consequence is that the cut generating LP (5) need not be formulated and solved explicitly. A sequence of increasingly deep lift-and-project cuts can be computed by pivoting directly in (R). We elaborate on these pivoting rules in Section 4.3.
3.4. Strengthened lift-and-project cuts Again we consider the mixed 0,1 linear set S := {x {0, 1}n Rp : Ax b}. We + assume that the constraints Ax b contain xj 1 for j = 1, . . . , n, but not x 0. The cut generating LP (5) produces a lift-and-project inequality x that is valid for Pj . The derivation only uses the integrality of variable xj , not of the variables xk for k = 1, . . . , n and k = j. Balas and Jeroslow [9] found a simple way to use the integrality of the other variables to strengthen the lift-andproject cut. This strengthening has the nice property that it is straightforward to implement once the cut generating LP (5) has been solved.
19
Note that, given u, u0 , v, v0 , the optimal values of k and in (5) are: k = max(uak , vak ) for k = j max(uaj u0 , vaj + v0 ) for k = j, (6)
where ak denotes the k-th column of A, and = min(ub, vb + u0 ). To strengthen the inequality x , one can try to decrease the coecients k . Balas and Jeroslow [9] found a way to do just that by using the integrality of the variables xk for k = 1, . . . , n. Theorem 6. (Balas and Jeroslow [9]) Let x satisfy Ax b, x 0. Given an k k optimal solution u, u0 , v, v0 of the cut generating LP (5), dene mk = va 0ua , u +v0 k = min(uak + u0 mk , vak v0 mk ) for k = 1, . . . , n max(uak , vak ) for k = n + 1, . . . , n + p
and = min(ub, vb + u0 ). Then the inequality x is valid for conv(S). Proof. For Zn , the following disjunction is valid for conv(S):
n n
either
k=1
k xk 0 or
k=1
k xk 1.
Let us repeat the derivation of (5) with this disjunction in place of xj 0 or xj 1 as before. We consider the union of Ax b x0 n k xk 0 k=1 and Ax b x0 n k xk 1. k=1
Using Theorem 4 and the projection theorem (Theorem 2), we get that any inequality x that satises uA u0 ( ub u,
n k=1
k ek )
vA +v0 ( vb v,
n k=1
u0 ,
k ek ) v0 v0
0 0 0 0 0
is valid for conv(S). We can choose u, u0 , v, v0 to be an optimal solution of the original cut generating LP (5). This implies that, for k = 1, . . . , n, we can choose k = max(uak + u0 k , vak v0 k ). Smaller coecients k produce stronger inequalities since the variables are nonnegative. What is the best choice of k Z to get a small k ? It is obtained by equating uak + u0 k and vak v0 k , which yields the value mk in the statement of the theorem (both u0 and v0 are strictly positive since otherwise x is valid for P , contradicting that it is a cut for x), and then rounding this value mk either up or down since k must be integer. The best choice is the minimum stated in the theorem.
20
Grard Cornujols e e
Bonami and Minoux [18] found that applying the Balas-Jeroslow strengthening step improves the average gap closed by an additional 8 %, as compared to the lift-and-project closure, on the 35 MIPLIB instances in their experiment. Specically, the integrality gap closed goes from 37 % to 45 %. The time to perform the strengthening step is negligible.
3.5. Sequential convexication Theorem 7. (Balas [5]) Pn (Pn1 (. . . P2 (P1 ) . . .)) = conv(S). Proof. By induction. Let St := {x {0, 1}t Rnt+p : Ax b}. We want to + show Pt (Pt1 (. . . P2 (P1 ) . . .)) = conv(St ). This is true for t = 1 by Theorem 5 applied to j = 1, so consider t 2. Suppose that this is true for t 1. By the induction hypothesis we have Pt (Pt1 (. . . P2 (P1 ) . . .)) = Pt (conv(St1 )) and by Theorem 5 applied to j = t, this is = conv(conv(St1 ) {xt = 0}) (conv(St1 ) {xt = 1}). For any set S that lies entirely on one side of a hyperplane H, Lemma 2 states that conv(S) H = conv(S H). Therefore conv(St1 ){xt = 0} = conv(St1 {xt = 0}) and conv(St1 ){xt = 1} = conv(St1 {xt = 1}). Thus Pt (Pt1 (. . . P2 (P1 ) . . .)) = conv(conv(St1 {xt = 0}))(conv(St1 {xt = 1})) = conv((St1 {xt = 0}) (St1 {xt = 1})) = conv(St ). 3.6. Rank Let P 1 denote the lift-and-project closure relative to P , i.e.
n
P 1 :=
j=1
Pj .
For k 2, let P k denote the lift-and-project closure relative to P k1 . The set P k is a polyhedron. It is called the k-th lift-and-project closure relative to P . A valid inequality for P k but not P k1 is said to be of rank k. The lift-andproject rank of P is the smallest integer such that P k = conv(S). It follows from Theorem 7 that the lift-and-project rank of P is at most n. a Similarly, N+ is the Lovsz-Schrijver closure relative to P , and the k-th k Lovsz-Schrijver closure N+ is dened iteratively. The Lovsz-Schrijver rank a a k relative to P is the smallest k such that N+ = conv(S). Since N+ P 1 , the
21
Lovsz-Schrijver rank is at most n. Cook and Dash [24] and Goemans and Tunel a c [32] give examples showing that the Lovsz-Schrijver rank can be equal to n. a n 1 n Let P := {x [0, 1]n : j=1 xj 2 } and S := P Z . Here conv(S) = {x n 1 1 n [0, 1] : j=1 xj 1}. Cook and Dash show that the point ( 2nk , . . . , 2nk ) k belongs to N+ for k n. Note that this point does not belong to conv(S) for k k < n, showing that N+ = conv(S) for k < n. Another example is the following: P := {x Rn : jJ xj + jJ (1 xj ) 1 for all J {1, . . . , n}} and S := P {0, 1}n. Observe that S = . However, Goemans and Tunel and independently Cook and Dash show that c n1 ( 1 , . . . , 1 ) N+ . 2 2 4. Mixed Integer Inequalities In this section, we return to mixed integer linear sets S := {(x, y) Zn Rp : + + Ax+Gy b} where the variables xj can take general nonnegative integer values, instead of just 0 or 1 in the previous section. We present four families of valid inequalities for conv(S): Gomory mixed integer inequalities, mixed integer rounding inequalities, split inequalities, and intersection inequalities. We compare the resulting elementary closures and address computational issues. We do not address the general theory of superadditive functions [36] in this tutorial. The interested reader is referred to [46] pages 247-253 for an introduction to superadditivity applied to mixed integer linear sets. 4.1. Gomorys derivation Let us consider a mixed integer linear set comprising a single equality constraint:
n p
S := {(x, y) Zn Rp : + +
j=1
aj xj +
j=1
gj yj = b}.
fj xj +
fj f0 fj >f0
(fj 1)xj +
j=1
gj yj = k + f0
where k is some integer. Since k 1 or k 0, any x S satises the disjunction fj xj f0 1 fj gj xj + yj 1 f0 f0 j=1 1 fj gj xj yj 1. 1 f0 1 f0 j=1
p p
(7)
fj f0
fj >f0
OR
fj f0
fj xj + 1 f0
(8)
fj >f0
22
Grard Cornujols e e
This is of the form a1 z 1 or a2 z 1 which implies j max(a1 , a2 )zj 1 for j j any z 0. For each variable, what is the maximum coecient in (7) and (8)? The answer is easy since one coecient is positive and the other is negative. We get fj 1 fj gj gj xj + xj + yj yj 1. (9) f0 1 f0 f0 1 f0 g >0 g <0
fj f0 fj >f0
j j
We have just proved that inequality (9) is valid for S. This is the Gomory mixed integer inequality (GMI inequality) [34]. Remark 8. In the pure integer programming case, the GMI inequality reduces to fj xj + f0 1 fj xj 1 1 f0
fj f0
fj >f0
Since
1fj 1f0
<
fj f0
fj xj f0 ,
j=1
which is known as the fractional cut. The fractional cut can also be derived using Chvtals procedure [21]. a Consider now mixed integer linear sets with m inequality constraints, instead of one equality constraint above, S := {(x, y) Zn Rp : Ax + Gy b}. Let + + P := {(x, y) Rn Rp : Ax + Gy b, x 0, y 0} denote the underlying polyhedron. If P = then S = and we are done. Therefore we may assume that P = . Let x + y be any valid inequality for P (Recall that, by Farkass lemma, the valid inequalities for P are of the form uAx + uGy vx wy ub + t where u Rm , v Rn , w Rp , t R+ ). Add a nonnegative slack variable + + + x + y + s = , derive a GMI inequality (9) from this equation, and eliminate s = b x y from this inequality. The result is a valid inequality for S, in the space Rn Rp of the variables x, y. Let us call these inequalities GMI inequalities for S. The Gomory mixed integer closure is obtained from P by adding all the GMI inequalities for S. In the previous section, we saw that one can optimize in polynomial time over the lift-and-project closure, the Sherali-Adams closure and the Lovsz-Schrijver a closure. A natural question is whether the same is true of the Gomory mixed integer closure. It turns out that the situation is totally dierent: It is NP-hard to optimize a linear function over the Gomory mixed integer closure relative to a polyhedron P (Caprara and Letchford [20], Cornujols and Li [28]). Equivalently, e given a point (x, y) P \ S, it is NP-hard to nd a GMI cut with respect to (x, y) or show that none exists. A similar NP-hardness result was proved earlier by Eisenbrand [30] for the Chvtal closure [21]. a Note that this is in contrast with the problem of nding a GMI cut that cuts o a basic solution (x, y) P \ S. Indeed, any row of the simplex tableau where xj is fractional for some j = 1, . . . , n can be used to generate a GMI cut. We illustrate this in the next section.
23
4.2. Gomory mixed integer cuts from the simplex tableau We illustrate the application of GMI cuts on a small example. max x +2y x +y 2 x +y 5 2x y 4 x Z+ , y R+ .
1 1.5
Fig. 10. Gomory mixed integer cut from the simplex tableau
Add nonnegative slacks s1 , s2 , s3 and solve the LP relaxation max z where z x 2y x +y +s1 x +y +s2 2x y +s3 The optimal tableau is z +0.5s1 y +0.5s1 x 0.5s1 0.5s1 +1.5s2 +0.5s2 +0.5s2 0.5s2 +s3 = 8.5 = 3.5 = 1.5 = 4.5 =0 =2 =5 = 4.
and the corresponding solution is x = 1.5, y = 3.5. Since x is not integer, we generate a cut from the row in which x is basic, namely x 0.5s1 + 0.5s2 = 1.5 Here f0 = 0.5 and applying the GMI formula, we get s1 + s2 1.
24
Grard Cornujols e e
Since s1 + s2 = 7 2y, we can express the cut in the (x, y)-space: y 3. Adding this cut and solving the strengthened LP relaxation gives the solution x = 2, y = 3. Since x is integer in this solution, it is the optimal solution of the mixed integer program. Gomory [34] introduced GMI cuts in the early 60s but, for decades, they were not used in commercial integer programming software. Most textbooks from the 80s considered them impractical for various reasons. They were revived in the 90s when Balas, Ceria, Cornujols and Natraj [8] demonstrated that a e branch-and-cut algorithm based on GMI cuts was practical and superior to stateof-the-art algorithms of the time. GMI cuts turn out to be surprisingly good in practice (Bixby, Gu, Rothberg, Wunderling [14]). On 41 MIPLIB instances, adding the GMI cuts generated from the optimal simplex tableau reduces the integrality gap by 24 % on average [17]. Greater improvements can be obtained by performing several rounds of cutting. A round consists of solving the current linear programming relaxation, generating a GMI cut for each basic variable xi with a fractional value xi in the current solution, and updating the linear program by adding these cuts. Since GMI cuts from the simplex tableau are extremely easy to generate and eective in reducing the integrality gap, they are widely used in commercial codes today. Numerical issues need to be addressed, of course: in order to avoid numerical instability (and possibly cutting o the optimal solution), one usually discards cuts that have too large a ratio between the largest and smallest coecient; in order to avoid ll in of the basis inverse, one also discards cuts that are too dense.
4.3. Improving mixed integer Gomory cuts by lift-and-project In this section we return to mixed 0-1 programming and the correspondence between basic feasible solutions of the cut generating LP (5) and basic solutions (possibly infeasible) of the usual LP relaxation (R) introduced in Section 3.3. Balas and Perregaard [10] showed how this correspondence can be used to improve Gomory mixed integer cuts by mimicking simplex pivots in (5) through pivots in (R). The simplex tableaux of (5) and (R) will be referred to as large and small respectively. Let ajh xh (10) xj = aj0
hJ
be a row of the small optimal simplex tableau such that 0 < aj0 < 1. The GMI cut from this row is equivalent to the strengthened lift-and-project cut from some basic feasible solution of (5), where index j in (5) is the same as in (10). To identify this solution, partition J into subsets M1 and M2 , such that h M1 if ajh < 0, and h M2 if ajh > 0 (h J such that ajh = 0 can go into either subset). Then eliminating , from (5), the n columns indexed by M1 M2
25
together with the two columns indexed by u0 and v0 dene a feasible basis of the resulting system of n + 2 equations. The strengthened lift-and-project cut associated with this basic feasible solution to (5) is equivalent to the GMI cut from (10). To evaluate the GMI cut generated from the small simplex tableau (10) as a lift-and-project cut, we calculate the reduced costs in the large tableau of the nonbasic variables of the above solution to (5). Each row xi of the small tableau corresponds to a pair of columns of the large tableau, associated with variables ui and vi . The reduced costs r(ui ), r(vi ) of these variables in the large tableau are known simple functions of the entries aih and ajh , for h J, of rows j and i of the small tableau. If they are all nonnegative, the current large tableau is optimal, hence the GMI cut from (10) cannot be improved. Otherwise, the cut can be improved by executing a pivot in a row i of the small tableau, such that r(ui ) < 0 or r(vi ) < 0. To identify the nonbasic variable xk to replace xi in the basis of the small tableau, we calculate for each h J the objective function value f (aih ) of (5) resulting from the corresponding exchange in the large tableau. This value is a known simple function of the ratio ajh /aih and of the coecients of rows j and i of the small tableau. Any column h for which f (aih ) < 0 is a candidate for an improving pivot, and the most negative value indicates the best column k. Executing the pivot in the small tableau that exchanges xi for xk yields a new simplex tableau (whose solution is typically infeasible), whose j-th row (the same j as before!) is of the form xj = aj0 + tai0
hJi\k
(11)
with t := ajk /aik . The GMI cut from (11) is then stronger than the one from (10), in the sense that it cuts o the LP optimum of (R) by a larger amount. These steps can then be repeated with (11) replacing (10) for as long as improvements are possible. Practical experience shows that in about three quarters of the cases GMI cuts from the optimal simplex tableau can be improved by the pivoting procedure described above. On the other hand, improvements beyond 10 pivots are not frequent, and beyond 20 pivots they are very rare. This procedure was extensively tested and has been incorporated into the mixed integer module of XPRESS, with computational results reported in [50].
4.4. K-cuts and reduce-and-split cuts What happens if, instead of generating a GMI inequality from an equation n p j=1 aj xj + j=1 gj yj = b, we rst multiply the equation by k before generating the GMI inequality? Let us try it on an example.
26
Grard Cornujols e e
max 10x1 + 13x2 10x1 + 14x2 43 x1 , x2 Z+ . Let z = 10x1 + 13x2 and introduce a nonnegative integer slack x3 . The optimal tableau is z +x3 = 43 +x2 x1 +1.4x2 +0.1x3 = 4.3
The GMI cut is 10.4 x2 + 0.1 x3 1, i.e. 18x2 + 7x3 21. 10.3 0.3 If we multiply the equation x1 + 1.4x2 + 0.1x3 = 4.3 by k = 2, we get 2x1 + 2.8x2 + 0.2x3 = 8.6. The resulting GMI cut is 3x1 + 2x2 6. If we multiply by k = 3, we get the GMI cut 2x2 + 3x3 9. If we multiply by k = 4, we get 2x2 + 3x3 4. If we multiply by k = 5, we get x3 1.
x3 3 2 1 0
Clearly, these simple operations on the equation x1 + 1.4x2 + 0.1x3 = 4.3 produce very dierent GMI cuts. See Figure 11. More generally, if we have an optimal simplex tableau, what sort of operations should we perform on the rows in order to generate useful GMI cuts? n p Observe that, if we multiply j=1 aj xj + j=1 gj yj = b by a factor k > 1, the coecients of the xj variables in the GMI inequality remain between 0 and 1, but the coecients of the yj variables are multiplied by the factor k, which makes the inequality weaker.
27
This suggests the following idea (Andersen, Cornujols and Li [2]): Take e linear combinations of the constraints in order to produce equations
n p
aj xj +
j=1 j=1
gj yj = b
where the norm of the vector g is small, and generate GMI inequalities from these reduced equations. Specically, consider the rows of the optimal simplex tableau corresponding to the basic variables xi (but not the basic yi s): xi = xi
jJ
aij xj
hH
gih yh for i B.
This gives a set of vectors {gi }iB . Iteratively reduce the norm of at least one vector g i in this set by integral combinations of the others (Integrality is useful to guarantee that the basic variables end up with integral coecients when combining the rows). The procedure for reducing the vectors {gi }iB is similar to Lovszs basis reduction algorithm [42]. It terminates with a set of vectors a {gi }iB with reduced norms. The corresponding combinations of the tableau rows are aij xj gih yh for i B. i xB = xi
jJ hH
The GMI inequalities generated from the equations where xi Z cut o (x, y) since only the nonbasic variables end up with nonzero coecients in these inequalities (indeed, the vectors i are integral). These cuts are called reduce-andsplit cuts (the name comes from the equivalence between GMI inequalities and split inequalities, which we prove in Theorem 10). Computational experiments reported in Andersen, Cornujols and Li [2] show that the reduce-and-split cuts e are usually quite dierent from the GMI cuts generated from the rows of the optimal tableau and that, in some cases, they can be signicantly stronger. To illustrate this, we present a few instances of the MIPLIB where the improvement was particularly striking. The gap closed is reported after 20 rounds of cutting. The last two columns give the number of nodes in a branch-and-bound algorithm using these cuts in the formulation. Name GMI gap R&S gap GMI ugpl 14% 100% gesa2 46% 97% gesa2o 92% 98% mod008 47% 88% pp08a 83% 92% rgn 15% 100% vpm1 44% 98% vpm2 41% 61% nodes R&S nodes 184 0 743 116 9145 75 1409 82 7467 745 874 0 7132 1 38946 4254
In other instances the reduce-and-split cuts did not improve on the GMI cuts from the optimal tableau. Therefore it seems that a hybrid approach that uses both types of cuts is a reasonable strategy.
28
Grard Cornujols e e
The idea of using basis reduction to generate strong GMI cuts has been suggested independently by Kppe and Weismantel [39]. o 4.5. Mixed integer rounding inequalities Nemhauser and Wolsey [46], [47] and Wolsey [57] introduced two denitions of mixed integer rounding (MIR) inequalities. We follow Wolsey [57]. Lemma 3. Consider the 2-variable mixed integer set S := {(x, y) Z R+ : x y b}. Let f0 := b b . Then the inequality x is a valid inequality for conv(S). Proof. We show the validity of (12) in two dierent ways, for x b and x b + 1. 1 If x b , then adding this inequality to 1f0 times y 0 yields (12). If x b + 1, then adding yields (12).
f0 1f0
1 y b 1 f0
(12)
times x b 1 to
1 1f0
times x y b
Note that the assumption y 0 is critical in the above derivation, whereas we can have indierently x Z or x Z+ .
cut
x b b
Fig. 12. Illustration of Lemma 3
Theorem 8. Consider a mixed integer set dened by a single inequality: S := {(x, y) Zn Rp : ax + gy b}. Let f0 := b b and fj := aj aj . Then + + the inequality
n
( aj +
j=1
(fj f0 )+ 1 )xj + 1 f0 1 f0
gj yj b
j:gj <0
(13)
29
aj xj +
j:gj <0
gj yj b.
aj xj +
j:fj >f0
aj xj and (1 fj )xj .
j:fj >f0
z :=
j:gj <0
gj yj +
We have w z b and since w Z and z R+ , we can apply Lemma 3. Thus w Subtituting w and z yields (13). Wolsey [57] calls the inequality (13) MIR inequality. Lemma 4. Consider a mixed integer set dened by a single inequality: S := {(x, y) Zn Rp : ax + gy b}. The MIR inequality (13) is identical to the + + GMI inequality. Proof. The Gomory mixed integer inequality is obtained by adding a slack variable ax + gy + s = b, generating (9) in the (x, y, s)-space: fj xj + f0 1 fj xj + 1 f0 g gj yj f0 >0 g gj 1 yj + s 1 1 f0 f0 <0 1 z b . 1 f0
fj f0
fj >f0
and substituting s = b ax gy in this inequality to get the GMI inequality in the (x, y)-space. It is straightforward to check that the resulting inequality is identical to (13). Next we return to the general mixed integer linear set S := {(x, y) Zn + : Ax + Gy b}. The proof of the previous lemma can be slightly modied to show the next result. Rp + Lemma 5. Consider a mixed integer set with m constraints S := {(x, y) Zn Rp : Ax + Gy b}. Let s := b Ax Gy be a nonnegative vector of slack + + variables. For any Rm , let a := A, g := G, := b, fj := aj aj and f0 := . The GMI inequality generated from Ax + Gy + s = b is
n
( aj +
j=1
(fj f0 )+ 1 )xj + 1 f0 1 f0
gj yj +
j:gj <0
1 1 f0
i si
i:i <0
(14)
30
Grard Cornujols e e
Any valid inequality for P := {(x, y) Rn Rp : Ax+Gy b, x 0, y 0} + + can be used to generate a MIR inequality (13) valid for S. Dene the MIR closure relative to P := {(x, y) Rn Rp : Ax + Gy b} as the set obtained + + from P by adding all these MIR inequalities. Lemma 4 implies that the MIR closure contains the GMI closure. This inclusion can be strict as observed by Bonami and Cornujols [16], and Dash, Gnlk and Lodi [29]: For the integer e u u set S := {(x1 , x2 ) Z2 : 2x1 + x2 2, 2x1 + x2 0}, the inequality x2 0 is + 1 a GMI inequality (to see this, use 1 = 1 and 2 = 4 ) but one can show that 4 it is not a MIR inequality. Thus, in general, inequalities (14) can be stronger than (13). This is because the vector in Lemma 5 can have both positive and negative components, whereas (13) corresponds to the special case of (14) where only nonnegative multipliers i are used. With the other denition of MIR inequalities (Nemhauser and Wolsey [47]), one can show that the MIR closure is identical to the GMI closure [47], [26]. Marchand and Wolsey [44] showed that several classical inequalities in integer programming, such as ow cover inequalities, are MIR inequalities. They implemented an aggregation heuristic to generate MIR cuts with excellent computational results in the resolution of mixed integer linear programs. For example, on 41 MIPLIB instances, the Marchand-Wolsey aggregation heuristic (as available in the COIN-OR repository) reduces the integrality gap by 23% on average [17]. 4.6. Split inequalities Let P := {(x, y) Rn Rp : Ax + Gy b} where A, G, b have rational entries, and let S := P (Zn Rp ). For Zn and 0 Z, dene 1 := P {(x, y) : x 0 } 2 := P {(x, y) : x 0 + 1} Clearly S 1 2 . Therefore any inequality cx + hy c0 that is valid for 1 2 is also valid for S. An inequality cx + hy c0 is called a split inequality [25] if there exists (, 0 ) Zn Z such that cx+hy c0 is valid for 1 2 (see Figure 13). The disjunction x 0 or x 0 + 1 is called a split disjunction. Many of the inequalities that we have studied in this tutorial are split inequalities. Lift-and-project inequalities (i.e. the valid inequalities for n Pj ) are j=1 split inequalities as a consequence of Theorem 5 (the split disjunction is xj 0 or xj 1). Strengthened lift-and-project cuts are also split inequalities (recall n n the split disjunction k=1 k xk 0 or k=1 k xk 1 used in the proof of Theorem 6). GMI inequalities are split inequalities (indeed the disjunction (7) or (8) is a split disjunction). k-cuts and reduce-and-split cuts are split inequalities since they are special types of GMI cuts. MIR inequalities are also split inequalities (remember the derivation in the proof of Lemma 3). The intersection of all split inequalities, denoted by P 1 , is called the split closure relative to P .
31
x 0
x 0 + 1
split inequality
Theorem 9. (Cook, Kannan and Schrijver [25]) If P is a rational polyhedron, the split closure relative to P is a rational polyhedron. For k 2, P k denotes the split closure relative to P k1 and it is called the k-th split closure relative to P . It follows from the above theorem that P k is a polyhedron. Unlike for the pure integer case [21], [52], there is in general no nite r such that P r = conv(S) in the mixed integer case, as shown by the following example [25]. Example 1. Let S := {(x, y) Z2 R+ : x1 y, x2 y, x1 + x2 + 2y 2}. + Starting from P := {(x1 , x2 , y) R3 : x1 y, x2 y, x1 + x2 + 2y 2}, we + claim that there is no nite r such that P r = conv(S). To see this, note that P is a simplex with vertices O = (0, 0, 0), A = (2, 0, 0), B = (0, 2, 0) and C = ( 1 , 1 , 1 ) (see Figure14). S is contained in the plane y = 0. 2 2 2 More generally, consider a simplex P with vertices O, A, B and C = ( 1 , 1 , t) with 2 2 t > 0. Let C1 = C, let C2 be the point on the edge from C to A with coordinate x1 = 1 and C3 the point on the edge from C to B with coordinate x2 = 1. Observe that no split disjunction removes all three points C1 , C2 , C3 . Let Qi be the intersection of all split inequalities that do not cut o Ci . All split inequalities belong to at least one of these three sets, thus P 1 = Q1 Q2 Q3 . Let Si be the simplex with vertices O, A, B, Ci . Clearly, Si Qi . Thus S1 S2 S3 P 1 . It t t is easy to verify that ( 1 , 1 , 3 ) Si for i = 1, 2 and 3. Thus ( 1 , 1 , 3 ) P 1 . By 2 2 2 2 1 1 t k induction, ( 2 , 2 , 3k ) P . Remark 9. For mixed 0,1 programs, Theorem 7 implies that P n = conv(S) (Indeed, the lift-and-project polytope P1 contains the split closure relative to P by Theorem 5. Similiarly, P2 (P1 )) contains the 2nd split closure, etc). Example 2. Cornujols and Li [27] observed that the n-th split closure is needed e for 0,1 programs, i.e. there are examples where P k = conv(S) for all k < n. They
32
Grard Cornujols e e
B O A
Fig. 14. Example showing that the split rank can be unbounded
use the following well-known polytope studied by Chvtal, Cook, and Hartmann a [22]: PCCH := {x [0, 1]n :
jJ
xj +
jJ
(1 xj )
Let Fj be the set of all vectors x Rn such that j components of x are 1 2 and each of the remaining n j components are equal to 0 or 1. The polytope PCCH is the convex hull of F1 . Lemma 6. If a polyhedron P Rn contains Fj , then its split closure P 1 contains Fj+1 . Proof. It suces to show that, for every (, 0 ) Zn Z, the polyhedron = conv((P {x : x 0 })(P {x : x 0 + 1})) contains Fj+1 . Let v Fj+1 and assume w.l.o.g. that the rst j + 1 elements of v are equal to 1 . If v Z, 2 then clearly v . If v Z, then at least one of the rst j + 1 components of is nonzero. Assume w.l.o.g. that 1 > 0. Let v1 , v2 Fj be equal to v except for the rst component which is 0 and 1 respectively. Notice that v = v1 +v2 . 2 Clearly, each of the intervals [v1 , v] and [v, v2 ] contains an integer. Since x is a continuous function, there are points v1 on the line segment conv(v, v1 ) and v2 on the line segment conv(v, v2 ) with 1 Z and 2 Z. This means v v v that v1 and v2 are in . Since v conv(1 , v2 ), this implies v . Starting from P = PCCH and applying the lemma recursively, it follows that the (n 1)-st split closure relative to PCCH contains Fn , which is nonempty. Since conv(PCCH {0, 1}n) is empty, the n-th split closure is needed to obtain conv(PCCH {0, 1}n). End of Example 2. Remark 10. In view of Example 1 showing that no bound may exist on the split rank when the integer variables are general, and Remark 9 showing that the rank is always bounded when they are 0,1 valued, one is tempted to convert general integer variables into 0,1 variables. For a bounded integer variable 0 x u, there are several natural tranformations: (i) a binary expansion of x (see Owen and Mehrotra [49]);
33
u (ii) x = zi 1, zi {0, 1} (see Sherali and Adams [55] and i=1 izi , Kppe, Louveaux and Weismantel [38]); o (iii) x = u zi , zi zi1 , zi {0, 1} (see Roy [51]). i=1 Roy [51] also shows that practical benets can be gained from such a transformation.
4.7. Chvtal inequalities a Let P := {(x, y) Rn Rp : Ax + Gy b} be a rational polyhedron and let + + S := {(x, y) Zn Rp : Ax + Gy b}. Dene a Chvtal inequality to be an a + + inequality x 0 with (, 0 ) Zn Z, where P {(x, y) : x 0 + 1} = . It follows from the denition that Chvtal inequalities are split inequalities where a one of the sets 1 or 2 is empty. Lemma 7. Chvtal inequalities are GMI inequalities. a Proof. The lemma holds when P = . Assume now that P = . Let = max x (x, y) P.
Then x is a valid inequality for P . Since P {(x, y) : x 0 + 1} = , it follows that < 0 + 1. Applying the MIR formula (13) to x , it follows that the inequality x 0 is a MIR inequality. By Lemma 4, this inequality is a GMI inequality. Dene the Chvtal closure relative to P as the intersection of P with all a the Chvtal inequalities. How does the Chvtal closure compare to the lift-anda a project closure? The answer is that neither is included in the other in general, as shown by the following 2-variable examples: For P := {x R2 : x2 + 2x1 , 2x1 + x2 2} and S := P {0, 1}2, the inequality x2 0 is a liftand-project inequality but not a Chvtal inequality. On the other hand, for a P := {x R2 : x1 + x2 1.5, x1 1, x2 1} and S := P {0, 1}2, + a the inequality x1 + x2 1 is a Chvtal inequality but not a lift-and-project inequality. Although it is NP-hard to optimize over the Chvtal closure, there are empira ical results on its strength. Bonami, Cornujols, Dash, Fischetti, Lodi [17] found e that the Chvtal closure closes at least 29 % of the integrality gap on average on a 41 MIPLIB instances (all the MIPLIB 3 instances that have at least one continuous variable and nonzero integrality gap). For the remaining 24 instances (pure integer programs in MIPLIB 3 with nonzero integrality gap), Fischetti and Lodi [31] found that the Chvtal closure closes at least 63 % of the integrality gap on a average.
34
Grard Cornujols e e
4.8. Equivalence between split inequalities and GMI inequalities Nemhauser and Wolsey [46], [47] studied the relation between split closure and GMI closure. The equivalence proof given here is based on [27]. It uses Lemma 1. Theorem 10. Let P := {(x, y) Rn Rp : Ax + Gy b} be a rational + + polyhedron and let S := P (Zn Rp ). The split closure relative to P is identical to the Gomory mixed integer closure relative to P . Proof. We may assume that the constraints x 0 and y 0 are part of Ax + Gy b in the description of P . Consider rst a GMI inequality. Its derivation in Section 4.1 was obtained by arguing that k = b fj f0 aj xj fj >f0 aj xj is an integer, and either k 1 or k 0. This is a disjunction of the form x 0 or x 0 + 1 with (, 0 ) Zn Z. Thus the derivation of the GMI inequality implies that it is a split inequality. Conversely, let cx + hy c0 be a split inequality. Let x 0 or x 0 + 1 denote the split disjunction used in deriving this inequality, where (, 0 ) Zn Z, and let 1 , 2 be the corresponding intersections with P . First assume that 2 = . Then the inequality cx + hy c0 is valid for 1 . Since all the inequalities that dene 1 are valid for P except possibly for x 0 , it suces to show that x 0 is a GMI inequality. This follows from a the fact that x 0 is a Chvtal inequality (since 2 := P {(x, y) : x 0 + 1} = ) and from Lemma 7. A similar argument holds when 1 = , so we now assume that 1 = and 2 = . By Lemma 1, there exist , R+ such that cx + hy (x 0 ) c0 and cx + hy + (x (0 + 1)) c0 (15) (16)
are both valid for P . We can assume > 0 and > 0 since, otherwise, cx+ hy c0 is valid for P and therefore also for its Gomory mixed integer closure. We now apply the Gomory mixed integer procedure to (15) and (16). Introduce slack variables s1 and s2 in (15) and (16) respectively and subtract (15) from (16). ( + )x + s2 s1 = ( + )0 + . Dividing by + we get x + s1 s2 = 0 + . + + +
35
From this equation, we can derive a GMI inequality. Note that f0 = + and that the continuous variable s2 has a positive coecient while s1 has a negative coecient. So the GMI inequality is 1 + + 1 + +
s2 +
s1 1
which simplies to 1 1 s1 + s2 1. We now replace s1 and s2 as dened by the equations (15) and (16) to get the GMI inequality in the space of the x, y variables. The resulting inequality is cx + hy c0 . Therefore cx + hy c0 is a GMI inequality. The split closure is identical to the GMI closure. How tight is it in practice? Balas and Saxena [11] addressed this question by formulating the separation problem for the split closure as a parametric mixed integer linear program with a single parameter in the objective function and the right hand side. They found that the split closure closes 82 % of the integrality gap on average for 33 MIPLIB instances of mixed integer programs, and 71 % on average for 24 MIPLIB instances of pure integer programs. This experiment shows that the split closure is surprisingly strong. It is interesting to compare the above 82 % gure with the 48 % obtained by adding GMI cuts from the optimal tableau + MIR cuts + lift-and-project cuts [17]. This is a clear indication that there are useful split cuts that are currently not exploited in integer programming codes. Finding deep split cuts eciently remains a challenging practical issue.
4.9. Intersection cuts Intersection cuts were introduced by Balas [4]. They are obtained from a basis of the linear programming relaxation and a convex set that contains the corresponding basic solution but no integer feasible solution in its interior. In this section, we focus on convex sets derived from split disjunctions. For convenience, we assume that the constraints are in equality form. Let S := P (Zn Rp ) with P := {x Rn+p : Ax = b} + where A Rm(n+p) and b Rm . Wlog assume that A is of full row rank. Let B index m linearly independent columns of A (B is a basis) and let J index the remaining columns of A (the nonbasic variables). Let P (B) be the relaxation of P obtained by deleting the nonnegativity constraints on the basic variables: P (B) := {x Rn+p : Ax = b and xj 0 for j J}. (17)
36
Grard Cornujols e e
The convex hull of P (B) (Zn Rp ) was studied by Gomory [35] under the name of corner polyhedron. Clearly, S is contained in the corner polyhedron and, therefore, valid inequalities for the corner polyhedron are also valid for S. We may write P (B) = x + C, where C is the polyhedral cone C := {x Rn+p : Ax = 0 and xj 0 for j J}, and x is the basic solution that solves the system Ax = b and xj = 0 for j J: xi = xi
jJ
aij xj ,
i B.
(18)
(19)
Thus P (B) = x + cone({rj }jJ ), where cone({rj }jJ ) denotes the polyhedral cone generated by the vectors {rj }jJ . We now derive the intersection cut. Consider an arbitrary split disjunction x 0 or x 0 + 1, where Zn {0}p and 0 Z. Assume x violates the split disjunction, and dene := 0 to be the amount by which x violates x x the rst term of the disjunction. Since 0 < < 0 + 1, we have 0 < < 1. Also, for j J, dene scalars: rj if rj < 0, 1 j := if rj > 0, (20) j r + otherwise.
x 0
x 0 + 1
x + 2 r 2 x + 1 r 1 r2 r1
Fig. 15. Intersection cut
The interpretation of j is the following. Consider the half-line x + rj , where R+ , starting from x in the direction rj . The value j is the smallest
37
R+ such that x + rj satises the split disjunction. In other words, the point x + j rj is the intersection of the half-line starting in x in direction rj with the hyperplane x = 0 or the hyperplane x = 0 + 1 (see Figure 15). Note that j = + when the direction rj is parallel to the hyperplane x = 0 . Given the numbers j for j J, the intersection cut associated with B and the split disjunction x 0 or x 0 + 1, is given by: xj 1. j (21)
jJ
This inequality is valid for the corner polyhedron conv P (B) (Zn Rp ) since it is a split inequality. In fact, the intersection cut gives a complete description of the set of points in P (B) that satisfy the split disjunction: xj 1}. conv P (B) ({x : x 0 } {x : x 0 + 1}) = P (B) {x : j
jJ
Andersen, Cornujols and Li [1] showed that intersection cuts are sucient to e describe the split closure P 1 relative to P . Let B denote the set of all bases of A. We have: Theorem 11. P1 =
BB Zn {0}p , 0 Z
The following lemma shows that the GMI cuts derived from rows of the simplex tableau are intersection cuts: Lemma 8. Let B be a basis of A, and let x be the corresponding basic solution. Also, let xi be a basic integer constrained variable, and suppose xi is fractional. The GMI cut obtained from the row of the simplex tableau in which xi is basic is x given by the inequality jJ j 1, where j is computed using formula (20) j with 0 := xi , and for j = 1, . . . , n: aij if j J and fj f0 , aij if j J and fj > f0 , (22) j := 1 if j = i, 0 otherwise. Proof. Let us compute j for the above disjunction using formula (20), where j J. We have: = 0 = xi xi = f0 . x Using (19) and (22), we get
j j rj = i ri j rj =
(23)
Now j follows from formula (20). This yields the GMI cut as claimed.
38
Grard Cornujols e e
5. Conclusion
Lasserre
Lovsz-Schrijver a
SheraliAdams
Liftandproject
This tutorial considered mixed integer linear sets S := P (Zn Rp ) where + + P := {(x, y) Rn Rp : Ax + Gy b} is a polyhedron. It presented several + + families of valid inequalities for S and compared the corresponding elementary closures. See Figure 16. The Gomory mixed integer (GMI) closure is identical to the split closure. This set can also be obtained using intersection cuts generated from all the basic solutions (both feasible and infeasible). Computational experiments show that the split closure is surprisingly tight (it closes over 75 % of the integrality gap on average on MIPLIB 3 instances). Unfortunately separating or optimizing over the split closure is NP-hard. This justies our interest in families of split cuts that can be generated eciently: GMI cuts from the optimal basis, MIR cuts obtained heuristically, reduce-and-split cuts and lift-and-project cuts. They appear in the bottom of the gure. On the right hand side of Figure 16 appear elementary closures that are dened for mixed 0,1 programs only, from weakest at the bottom to tightest at the top. Integer programming solvers went from using no general cutting planes twenty years ago to using many rounds of such cuts nowadays. Much larger instances can be solved, but this aggressive cutting may sometimes result in the optimum solution being cut o due to numerical diculties with cuts from later rounds. Have we reached the limits of what can be acheived with general cuts? I do not think so. The split closure is surprisingly tight and integer programming solvers should probably do a better job of approximating it before generating cuts of higher rank. We conclude with three possible research directions. The previous paragraph suggests that one should look for new classes of deep split cuts that can be separated rapidly, or just use the currently known families more eciently. Variable transformations are intriguing (see Remark 10) and deserve more attention in the context of cutting planes. Obtaining compact higher dimensional formulations by applying Theorem 4 is another promising direction for research.
39
Aknowledgements: This tutorial beneted from PhD students feedback in short courses in Lausanne (2004), Lisbon (2005) and Zinal (2006) and from discussions with colleagues. I am most grateful to Egon Balas for his help with Theorem 4 and Section 4.3. Thanks also to Claude Lemarechal, Laurence Wolsey and the referees for their useful comments on an earlier draft. References
1. K. Andersen, G. Cornujols and Y. Li, Split closure and intersection cuts, Mathematical e Programming A 102 (2005) 457493. 2. K. Andersen, G. Cornujols and Y. Li, Reduce-and-split cuts: Improving the performance e of mixed integer Gomory cuts, Management Science 51 (2005) 17201732. 3. A. Atamtrk, Strong formulations of robust mixed 01 programming, to appear in Mathu ematical Programming (2006). 4. E. Balas, Intersection cuts A new type of cutting planes for integer programming, Operations Research 19 (1971) 1939. 5. E. Balas, Disjunctive programming: properties of the convex hull of feasible points, GSIA Management Science Research Report MSRR 348, Carnegie Mellon University (1974), published as invited paper in Discrete Applied Mathematics 89 (1998) 144. 6. E. Balas, Disjunctive programming and a hierarchy of relaxations for discrete optimization problems, SIAM Journal on Algebraic and Discrete Methods 6 (1985) 466486. 7. E. Balas, S. Ceria and G. Cornujols, A lift-and-project cutting plane algorithm for mixed e 0-1 programs, Mathematical Programming 58 (1993) 295324. 8. E. Balas, S. Ceria, G. Cornujols and R.N. Natraj, Gomory cuts revisited, Operations e Research Letters 19 (1996) 19. 9. E. Balas and R. Jeroslow, Strengthening cuts for mixed integer programs, European Journal of Operations Research 4 (1980) 224234. 10. E. Balas and M. Perregaard, A Precise correspondence between lift-and-project cuts, simple disjunctive cuts and mixed integer Gomory cuts for 0-1 programming, Mathematical Programming B 94 (2003) 221245. 11. E. Balas and A. Saxena, Optimizing over the split closure, Tepper School of Business Management Science Research Report MSRR 674, Carnegie Mellon University (2006). 12. D. Bienstock and M. Zuckerberg, Subset algebra lift operators for 0-1 integer programming, SIAM Journal on Optimization 15 (2004) 6395. 13. R.E. Bixby, S. Ceria, C.M. McZeal and M.W.P. Savelsbergh, An updated mixed integer programming library: MIPLIB 3.0, Optima 58 (1998) 1215. 14. R.E. Bixby, Z. Gu, E. Rothberg and R. Wunderling, Mixed integer programming: A progress report, M. Grtschel ed., The sharpest cut: The impact of Manfred Padberg o and his work, MPS/SIAM Series in Optimization (2004) 309326. 15. P. Bonami, Etude et mise en oeuvre dapproches polydriques pour la rsolution de proe e grammes en nombres entiers ou mixtes gnraux, PhD Thesis, Universit de Paris 6 (2003). e e e 16. P. Bonami and G. Cornujols, On MIR inequalities (2006). e 17. P. Bonami, G. Cornujols, S. Dash, M. Fischetti and A. Lodi, Projected Chvtal-Gomory e a cuts for mixed integer linear programs, technical report (2005). 18. P. Bonami and M. Minoux, Using rank-1 lift-and-project closures to generate cuts for 01 MIPs, a computational investigation, Discrete Optimization 2 (2005) 288307. 19. S. Burer and D. Vandenbussche, Solving lift-and-project relaxations of binary integer programs, SIAM Journal on Optimization 16 (2006) 726750. 20. A. Caprara and A.N. Letchford, On the separation of split cuts and related inequalities, Mathematical Programming B 94 (2003) 279294. 21. V. Chvtal, Edmonds polytopes and a hierarchy of combinatorial optimization, Discrete a Mathematics 4 (1973) 305337. 22. V. Chvtal, W. Cook, and M. Hartmann, On cutting-plane proofs in combinatorial optia mization, Linear Algebra and its Applications 114/115 (1989) 455499. 23. M. Conforti and L. Wolsey, Compact formulations as a union of polyhedra, CORE discussion paper, Louvain-la-Neuve, Belgium (2005). 24. W. Cook and S. Dash, On the matrix-cut rank of polyhedra, Mathematics of Operations Research 26 (2001) 1930.
40
Grard Cornujols e e
25. W. Cook, R. Kannan and A. Schrijver, Chvtal closures for mixed integer programming a problems, Mathematical Programming 47 (1990) 155174. 26. G. Cornujols and Y. Li, Elementary closures for integer programs, Operations Research e Letters 28 (2001) 18. 27. G. Cornujols and Y. Li, On the rank of mixed 0,1 polyhedra, Mathematical Programming e A 91 (2002) 391397. 28. G. Cornujols and Y. Li, A connection between cutting plane theory and the geometry of e numbers, Mathematical Programming A 93 (2002) 123127. 29. S. Dash, O. Gnlk and A. Lodi, Separating from the MIR closure of polyhedra, presenu u tation at the International Symposium on Mathematical Programming, Rio de Janeiro, Brazil, 2006, paper in preparation. 30. F. Eisenbrand, On the membership problem for the elementary closure of a polyhedron, Combinatorica 19 (1999) 297300. 31. M. Fischetti and A. Lodi, Optimizing over the rst Chvtal closure, in M. Jnger and V. a u Kaibel eds., IPCO 2005, LNCS 3509 (2005) 1222. 32. M.X. Goemans and L. Tunel, When does the positive semideniteness constraint help in c lifting procedures, Mathematics of Operations Research 26 (2001) 796815. 33. M.X. Goemans and D.P. Williamson, Improved approximation algorithms for maximum cut and satisability problems using semidenite programming, Journal of the ACM 42 (1995) 11151145. 34. R.E. Gomory, An algorithm for integer solutions to linear programs, Recent Advances in Mathematical Programming, R.L. Graves and P. Wolfe eds., McGraw-Hill, New York (1963) 269302. 35. R.G. Gomory, Some polyhedra related to combinatorial problems, Linear Algebra and Applications 2 (1969) 451558. 36. R.E. Gomory and E.L. Johnson, Some continuous functions related to corner polyhedra I, Mathematical Programming 3 (1972) 2385. 37. O. Gnlk and Y. Pochet, Mixing mixed-integer inequalities, Mathematical Programming u u 90 (2001) 429458. 38. M. Kppe, Q. Louveaux and R. Weismantel, Intermediate integer programming represeno tations using value disjunctions, technical report, Department of Mathematics, University of Magdeburg (2005). 39. M. Kppe and R. Weismantel, A mixed-integer Farkas lemma and some consequences, o Operations Research Letters 32 (2004) 207211. 40. J.B. Lasserre, An explicit exact SDP relaxation for nonlinear 0-1 program, Lecture Notes in Computer Science 2081 (2001) 293303. 41. M. Laurent, A comparison of the Sherali-Adams, Lovsz-Schrijver and Lasserre relaxation a for 0-1 programming, SIAM Journal on Optimization 28 (2003) 345375. 42. A.K. Lenstra, H.W. Lenstra and L. Lovsz, Factoring polynomials with rational coea cients, Mathematische Annalen 261 (1982) 515534. 43. L. Lovsz and A. Schrijver, Cones of matrices and set-functions and 0-1 optimization, a SIAM Journal of Optimization 1 (1991) 166190. 44. H. Marchand and L.A. Wolsey, Aggregation and mixed integer rounding to solve MIPs, Operations Research 49 (2001) 363371. 45. A. Miller and L.A. Wolsey, Tight formulations for some simple MIPs and convex objective IPs, Mathematical Programming B 98 (2003) 7388. 46. G.L. Nemhauser and L.A. Wolsey, Integer and Combinatorial Optimization, Wiley, New York (1988). 47. G.L. Nemhauser and L.A. Wolsey, A recursive procedure to generate all cuts for 0-1 mixed integer programs, Mathematical Programming 46 (1990) 379390. 48. Y.E. Nesterov and A.S. Nemirovski, Interior Point Polynomial Algorithms in Convex Programming, SIAM Publications, SIAM, Philadelphia (1994). 49. J.H. Owen and S. Mehrotra, On the value of binary expansions for general mixed-integer linear programs, Operations Research 50 (2002) 810819. 50. M. Perregaard, A practical implementation of lift-and-project cuts: A computational exploration of lift-and-project cuts with XPRESS-MP, 18th ISMP, Copenhagen (2003). 51. J.-S. Roy, Binarize and project to generate cuts for general mixed-integer programs, technical report, EDF R&D, Clamart, France (2006). 52. A. Schrijver, On cutting planes, Annals of Discrete Mathematics 9 (1980) 291296. 53. A. Schrijver, Theory of Linear and Integer Programming, Wiley, New York (1986).
41
54. H. Sherali and W. Adams, A hierarchy of relaxations between the continuous and convex hull representations for zero-one programming problems, SIAM Journal on Discrete Mathematics 3 (1990) 311430. 55. H. Sherali and W. Adams, A reformulation-linearization technique for solving discrete and continuous nonconvex problems, Chapter 4, Kluwer Academic Publishers, Norwell, MA (1999). 56. M. Van Vyve, The continuous mixing polyhedron, Mathematics of Operations Research 30 (2005) 441452. 57. L.A. Wolsey, Integer Programming (1999). 58. G.M. Ziegler, Lectures on Polytopes, Springer, New York (1995).