<<

Natural Intersection Cuts for Mixed- Linear Programs

Trivikram Dokka∗ Adam N. Letchford∗

Draft, April 2014

Abstract Intersection cuts are a family of cutting planes for pure and mixed- integer linear programs, developed in the 1970s. Most papers on them consider only cuts that come from so-called maximal --free polyhedra. We define a completely different family of intersection cuts, called “natural”. Their key property is that they can be generated very quickly and easily from a simplex tableau. In many cases, one can also easily strengthen them, using an idea of Balas and Jeroslow. We show that the strengthened cuts are a generalisation of Gomory mixed-integer cuts, and then show how to tailor the cuts to problems with special structure (such as knapsack, packing, covering and par- titioning problems, or problems with complementarity constraints or fixed charges). Our computational results are encouraging. Keywords: Integer programming, cutting planes, branch-and-cut, packing, set partitioning, set covering.

1 Introduction

Cutting planes, or more briefly, cuts, are a key ingredient of many modern integer programming algorithms (see, e.g., [14, 15, 27]). Broadly speaking, cutting planes fall into two classes. First, there are “specialised” cutting planes, that come from a study of a particular family of mixed-integer linear programs (MILPs). Such cuts are usually shown to define facets of the integral hull, or at least faces of high (see, e.g., [15, 27]). Second, there are “general-purpose” cutting planes, that can be defined for any MILP (see, e.g., [14, 17, 27]). Examples of such cuts are Gomory mixed-integer (GMI) cuts [25], intersection cuts [2], disjunctive cuts [4], split cuts [16] and mixed-integer rounding (MIR) cuts [28]. This paper focuses on intersection cuts. After their introduction in 1971 by Balas [2], there was a brief flurry of activity on them (e.g., [3, 5, 12, 21,

∗Department of Management Science, Lancaster University, Lancaster LA1 4YX, United Kingdom. E-mail: {T.Dokka,A.N.Letchford}@lancaster.ac.uk

1 22, 23, 24]). After that, research on them died down for a while. Recently, however, they have received a resurgence of interest (e.g., [1, 10, 11, 18, 19]. This is for two main reasons: • In theory, every GMI, split or MIR cut can be deduced from a single row of a simplex tableau, given a suitable (possibly primal and/or dual infeasible) basis [9]. This is not true for intersection cuts [1]. So, potentially, intersection cuts can capture more “global” aspects of the problem. • Although intersection cuts can be viewed as a subclass of the disjunc- tive cuts [4, 9, 10], they can usually be generated fairly quickly and easily from a simplex tableau (e.g., [2, 5, 23]). By contrast, to generate disjunctive cuts, one must solve large LPs [4, 6], or at least perform a sequence of simplex pivots [9]. To generate strong intersection cuts, one needs first to generate “large” polyhedra that have no feasible solutions in their interior. Most papers on intersection cuts focus on so-called maximal lattice-point-free polyhedra, which are maximal polyhedra that do not contain any integral points in their interior [26]. The only exception of which we are aware is Balas [3], which uses so-called outer polars. In this paper, we focus on a completely different family of “large” polyhedra, which we call “natural”. Like outer polars, these polyhedra are permitted to contain lattice points in their interior, but only infeasible ones. The difference is that each facet of a natural polyhedron is parallel to a facet of the feasible region of the continuous relaxation of the problem. As we will show, this makes the corresponding intersection cuts, also called “natural”, particularly easy to generate. The paper is structured as follows. In Section 2, we review the relevant literature. In Section 3, we define natural polyhedra and the associated cuts. We also define “strengthened” natural intersection cuts, and show that they include all GMI cuts. In Section 4, we show to how to construct useful natural polyhedra, both for general MILPs and for MILPs with binary variables (including knapsack, packing, covering and partitioning problems, and problems with complementarity constraints and fixed charges). We also show how to generate and strengthen the resulting intersection cuts. In Section 5, we describe a rudimentary cutting- algorithm based on our cuts, and give extensive computational results, on all of the problem classes mentioned. Finally, concluding remarks are made in Section 6.

1.1 Notation and terminology Throughout the paper, we use the following notation and terminology. We assume that we are given a MILP with n variables and m constraints, of the form:  T min c x : Ax ≤ b, x ≥ 0, xi ∈ Z (i ∈ I) ,

2 m×n m n where A ∈ Z , b ∈ Z , c ∈ Q and I ⊆ {1, . . . , n}. The variables in I are called integer-constrained. The feasible region of the continuous relaxation of the MILP is the poly- n hedron P = {x ∈ R+ : Ax ≤ b}. The convex hull of the feasible MILP solutions is the polyhedron

PI = conv {x ∈ P : xi ∈ Z (i ∈ I)} .

A cutting plane is an inequality that is valid for PI , but not for P . The modified MILP that results when one adds non-negative slack vari- ables xn+1, . . . , xn+m and converts the inequalities Ax ≤ b into the equations (A|I)x = b is called the augmented MILP. To avoid confusion, we use x for the variables in the original MILP andx ˜ for the variables in the augmented MILP. We use I˜ to denote the union of I and the set of all slack variables that have to take integral values (because the associated inequalities have zero coefficients for all continuous variables). The polyhedra associated with the augmented MILP will be denoted by P˜ and P˜I , respectively. Note that P˜ and P˜I are affine images of P and PI , respectively. A cutting plane for the augmented MILP is an inequality that is valid for P˜I , but not for P˜. It becomes a cutting plane for the original MILP when slack variables are eliminated. ∗ n+m Letx ˜ ∈ Q+ be a basic feasible solution to the LP relaxation of the augmented MILP, and note thatx ˜∗ is an extreme point of P˜. We partition the index set {1, . . . , n + m} into a set B of basic variables and a set N of non-basic variables (with |B| = m and |N| = n). The simplex tableau then provides us with a system of m simultaneous linear equations, which we write in the form

X ∗ x˜k + αikx˜i =x ˜k (k ∈ B). (1) i∈N We also sometimes write this system in the compact form

˜ ∗ x˜B + Ax˜N =x ˜B. (2)

Finally, a set M of vectors is called a monoid if the zero vector is in M, and t1, t2 ∈ M implies t1 + t2 ∈ M.

2 Literature Review

Now, we review the relevant literature. We recall GMI cuts in Subsection 2.1, intersection cuts in Subsection 2.2, and disjunctive and split cuts in Subsection 2.3. Subsection 2.4 reviews the relationship between intersection cuts and disjunctive cuts.

3 2.1 Gomory mixed-integer cuts ∗ n+m ∗ Letx ˜ ∈ Q+ be defined as above, and suppose thatx ˜k ∈/ Z for some k ∈ B ∩ I˜. For i ∈ N, let fi denote αik − bαikc, the so-called fractional part ∗ ∗ of αik. Also let f0 denotex ˜k − bx˜kc. Then, Gomory [25] showed that the following cutting plane is violated byx ˜∗:     X αik −αik X fi 1 − fi max , x˜i + min , x˜i ≥ 1. (3) f0 1 − f0 f0 1 − f0 i∈N\I˜ i∈N∩I˜ This is the Gomory mixed-integer (GMI) cut. In [7], very good computational results were obtained by generating ˜ ∗ rounds of GMI cuts, i.e., one cut for every k ∈ B ∩ I such thatx ˜k ∈/ Z, within a branch-and-cut framework. For more recent computational results with GMI cuts, see, e.g., [20].

2.2 Intersection cuts Intersection cuts, sometimes called convexity cuts, are defined as follows [2, 3, 21]. Let x∗ be an extreme point of P that is not feasible for the MILP. In the absence of degeneracy, x∗ will lie on n edges of P . Each edge defines a direction in which one can move, to go from x∗ to an adjacent extreme n point of P . Now, let S ⊂ R be any closed, bounded and full-dimensional convex set such that: • x∗ lies in the interior of S, and • no feasible MILP solution lies in the interior of S. If we start at x∗ and move in any of the n directions mentioned above, we will eventually reach the boundary of S. The point where this occurs is called an intersection point. Then, the hyperplane that passes through the n intersection points defines a cutting plane that is both valid for PI and violated by x∗. This is the intersection cut. (If there is degeneracy, then one can temporarily drop all but n of the constraints that are tight at x∗, to obtain the desired n directions. The resulting cut remains valid.) If S is a polyhedron, then there is a closed-form expression for the in- tersection cuts, in the of the augmented MILP. Suppose that S is defined by s linear inequalities. Use the linear system (2) to write those s inequalities in the form: X γirx˜i ≥ 1 (r = 1, . . . , s). i∈N Then the intersection cut can be written as: X max {γir} x˜i ≥ 1. (4) 1≤r≤s i∈N

4 One can define intersection cuts also when S is not bounded. It may happen then that, when we move in some of the n directions, we never reach the boundary of S. When S is a polyhedron, this happens if and only if, for some i ∈ N, all of the γir are non-positive. Glover [23] showed that, in that case, the inequality (4) remains valid. A particularly simple intersection cut arises when we pick a variable in ∗ n k ∈ B ∩ I such thatx ˜k ∈/ Z, and let S be the set of points in R defined by ∗ ∗ the inequalities bxkc ≤ xk ≤ dxke. The corresponding intersection cut is   X αik −αik max , x˜i ≥ 1. (5) f0 1 − f0 i∈N

Note that this is weaker than the GMI cut (3). The original intersection cuts were defined with S equal to a sphere [2], and then with a larger set called a cross-polytope [5]. In Burdet [12], it was shown that intersection cuts from the cross-polytope are dominated by simple intersection cuts of the form (5), and therefore by GMI cuts. In Balas [3], a procedure was given to generate large polyhedral sets S, called outer polars. In Glover [22], it was shown how to generate large polyhedral sets S for 0-1 linear programs with “multiple-choice” constraints. The recent papers on intersection cuts [1, 10, 11, 18, 19] concentrate on the characterisation of so-called maximal lattice-point free polyhedra, which are maximal polyhedra that do not contain any integer points at all. Our approach is different, and is closer to the ones in [3, 22], in that we permit our polyhedra to contain infeasible integer points in their interior.

2.3 Disjunctive and split cuts The disjunctive cuts were introduced in the 1970s; see Owen [29] and Balas [4]. The basic idea is as follows. Suppose it is known that every feasible MILP solution satisfies, not only the condition x ∈ P , but also the disjunc- tion p _ (x ∈ Pk), k=1 where Pk is a polyhedron. Then a disjunctive cut is a cutting plane that is valid for P ∩ Pk for k = 1, . . . , p. In [4], it is shown that, given any fixed disjunction with p terms, one can solve the separation problem for the associated disjunctive cuts by solving an LP whose size is approximately p times larger than the original LP relaxation of the MILP. This separation technique is now called lift-and-project; see, e.g., [6]. A split cut [16] is a disjunctive cut derived from a split disjunction of the form (vT x ≤ s) ∨ (vT x ≥ s + 1),

5 n for some vector v ∈ Z with vi = 0 for all i ∈ {1, . . . , n}\ I, and some scalar s ∈ Z. It is shown in [16] that every GMI cut that is generated in the first iteration of Gomory’s method is a split cut. (This is not true of GMI cuts that are generated in later iterations, since they can involve the slack variables of GMI cuts that were added in previous iterations.) Moreover, each split cut can derived as a GMI cut from some (possibly primal and/or dual infeasible) basic solution to the LP relaxation of the MILP [9]. A simple disjunctive cut is a disjunctive cut derived from a simple split disjunction of the form (xi ≤ s) ∨ (xi ≥ s + 1) for some i ∈ I [6, 9]. Simple disjunctive cuts are a very restricted kind of split cut, but they have the nice property of being relatively easy to generate [6, 9]. By contrast, the separation problem for general split cuts (i.e., the problem of detecting when ∗ a given point x ∈ P \ PI violates a split cut) is strongly NP-hard [13]. In [13], a split disjunction is called natural if the vector v has the property that vT x is the left-hand side of an inequality defining a facet of P . The associated split cuts were also called natural. Our “natural” polyhedra and intersection cuts will be defined in a similar way.

2.4 Intersection cuts as disjunctive cuts It is pointed out in [4], and implicit in [29], that intersection cuts derived from a polyhedral convex set S can be viewed as disjunctive cuts. As an example, the simple intersection cut (5) can be derived from the equation (1) and the simple disjunction

∗ ∗ (xk ≤ bxkc) ∨ (xk ≥ dxke) . More generally, let S be a polyhedron defined by linear inequalities v1 · x ≤ s1, . . . , vp · x ≤ sp. Then, the intersection cut (4) is implied by the linear system (2), together with the disjunction p _ (vk · x ≥ sk). k=1 Balas and Jeroslow [8] presented a procedure, called monoidal strength- ening, that sometimes enables one to replace a weak disjunctive cut with a stronger one. When applied to the simple intersection / disjunctive cut (5), it yields the GMI cut (3). In [6], good computational results were obtained for mixed 0-1 LPs using simple disjunctive cuts, strengthened in this way.

3 Intersection Cuts from Natural Polyhedra

In this section, we define natural polyhedra and natural intersection cuts. The polyhedra are defined in Subsection 3.1 and the cuts in Subsection 3.2.

6 In Subsection 3.3, we discuss the relationship between natural intersection cuts and GMI cuts.

3.1 Natural polyhedra We now define natural polyhedra: Definition 1 Assume without loss of generality that there are no redundant n constraints in the system Ax ≤ b. A polyhedron S ⊂ R is called “natural” if: • no feasible MILP solution lies in the interior of S (i.e., S is a suitable convex set for deriving intersection cuts) and • every facet of S is parallel to a facet of P . This is illustrated in the following example:

Example 1: Suppose that a MILP contains the following constraints, where {1, 2, 3} ⊂ I:

xi ≤ 1 (i = 1, 2, 3)

x1 + x2 + 2x3 ≤ 2. One can check that the following nine polyhedra are natural: n {x ∈ R : 0 ≤ xi ≤ 1} (i = 1,..., 3) n {x ∈ R : xi ≥ 0, x3 ≥ 0} (i = 1, 2) n {x ∈ R : k ≤ x1 + x2 + 2x3 ≤ k + 1} (k = 0, 1) n {x ∈ R : x3 ≥ 0, x1 + x2 + 2x3 ≤ 2} n {x ∈ R : x1 ≥ 0, x2 ≥ 0, x1 + x2 + 2x3 ≤ 2} . Note that all nine of these polyhedra are unbounded, and that all apart from the sixth and seventh strictly contain P . Note also that intersection cuts from the first three polyhedra will be simple disjunctive cuts, and in- tersection cuts from the sixth and seventh polyhedra will be split cuts, but intersection cuts from the other four polyhedra will not be split cuts in gen- eral. 

The reason that we call such polyhedra “natural” becomes more apparent when we move to the space of the augmented MILP: Lemma 1 Let P and P˜ be defined as before, and let S be a natural poly- n+m hedron. Then there exist vectors `, u ∈ R (possibly with some entries of ` set to minus infinity and some entries of u set to infinity) such that S is n the projection into R of the polyhedron  n+m x˜ ∈ R (A|I)˜x = b, ` ≤ x˜ ≤ u .

7 Proof. From Definition 1, each facet of S is parallel to a facet of P . Moreover, at most two facets of S can be parallel to any given facet of P . This implies that

 n 1 1 2 2 S = x ∈ R : ` ≤ x ≤ u , ` ≤ Ax ≤ u

1 n 1 n 2 m for suitable vectors ` ∈ (R ∪ {−∞}) , u ∈ (R ∪ {∞}) , ` ∈ (R ∪ {−∞}) 2 m 1 2 and u ∈ (R ∪ {∞}) . Concatenating ` and b − u yields the desired `, and 1 2 concatenating u and b − ` yields the desired u.  We illustrate this lemma on the same example:

Example 1 (cont.): Letx ˜s be the slack variable for the constraint x1 + n+m x2 + x3 ≤ 2. The polyhedra in R corresponding to the nine natural polyhedra mentioned above are:

 n+m x˜ ∈ R :(A|I)˜x = b, 0 ≤ x˜i ≤ 1 (i = 1,..., 3)  n+m x˜ ∈ R :(A|I)˜x = b, x˜i ≥ 0, x˜3 ≥ 0 (i = 1, 2)  n+m x˜ ∈ R :(A|I)˜x = b, k ≤ x˜s ≤ k + 1 (k = 0, 1)  n+m x˜ ∈ R :(A|I)˜x = b, x˜3 ≥ 0x ˜s ≥ 0  n+m x˜ ∈ R :(A|I)˜x = b, x˜1 ≥ 0, x˜2 ≥ 0, x˜s ≥ 0 . n One can check that projecting these into R , by eliminating the slack vari- ables, yields the original nine polyhedra. 

3.2 Natural intersection cuts An intersection cut is natural if it is derived using a natural polyhedron as the convex set S. The key property of natural intersection cuts is that they can be computed very easily from a simplex tableau. Indeed, the constraints `k ≤ x˜k ≤ uk, written in terms of the non-basic variables, take the form:

X ∗ − αikx˜i ≥ `k − x˜k i∈N and X ∗ αikx˜i ≥ x˜k − uk. i∈N From this it follows that natural intersection cuts can be written as    X αik −αik max max ∗ , ∗ x˜i ≥ 1, (6) k∈B x˜ − `k uk − x˜ i∈N k k where we use the convention that any number divided by infinity is zero. Of course, to obtain the strongest possible natural intersection cuts, one should choose natural polyhedra that are as large as possible. Unfortunately,

8 finding largest possible natural polyhedra is NP-hard in general (since even testing feasibility of an MILP is NP-hard). Nevertheless, we show in what follows that one can construct useful and non-trivial natural polyhedra in most cases of interest.

3.3 GMI cuts as natural intersection cuts Now consider the case of general MILPs with no special structure. There are two obvious families of natural polyhedra:

• Polyhedra defined by a pair of inequalities of the form s ≤ xi ≤ s + 1 for some i ∈ I and s ∈ Z. • Polyhedra defined by inequalities of the form s ≤ vT x ≤ s + 1, where n s ∈ Z, v ∈ Z , vi = 0 for all i ∈ {1, . . . , n}\ I, and there exists an inequality in the system Ax ≤ b whose left-hand side is vT x. In terms of the augmented MILP, this corresponds to polyhedra defined by a pair of inequalities of the form s ≤ x˜i ≤ s+1, wherex ˜i ∈ I (in the first case) or I˜\I (in the second case). In either case, the natural intersection cut takes the form (5). As mentioned in Subsection 2.4, when monoidal strengthening is applied to that cut, one obtains the GMI cut (3). Therefore, strengthened natural intersection cuts generalise GMI cuts.

4 Examples of Natural Polyhedra and Cuts

We now give examples of natural polyhedra, both for general MILPs and ones with special structure. In some cases, we also show how to strengthen the resulting cuts. We cover general MILPs in Subsection 4.1, knapsack problems in Subsection 4.2, packing and covering problems in Subsection 4.3, partitioning problems in Subsection 4.4, and problems with complementarity constraints or fixed-charges in Subsection 4.5.

4.1 General MILPs Consider any MILP such that the linear system Ax ≤ b contains a con- straint, say vT x ≤ s, that involves only integer-constrained variables. For this situation, we have found two families of natural polyhedra that do not lead to GMI cuts in general. Define:

+ − C = {k ∈ I : vk > 0} ,C = {k ∈ I : vk < 0}, P n T and let ||v|| denote i∈C+∪C− |vk|. Then, for anyx ¯ ∈ Z+ such that v x¯ ≤ s, the following are natural polyhedra:

+ 1. The one defined by the inequalities xk ≥ x¯k for k ∈ C , the inequalities − T T xk ≤ x¯k for k ∈ C , and the inequality v x ≤ v x¯ + ||v||.

9 T T 2. The one defined by the inequality v x ≥ v x¯, the inequalities xk ≤ + − x¯k + 1 for k ∈ C , and the inequalities xk ≥ x¯k − 1 for k ∈ C . Under certain conditions, one can drop some of the inequalities, and thereby enlarge these polyhedra. For example, in the first case, one can drop the inequality vT x ≤ vT x¯ + ||v|| if vT x¯ + ||v|| ≥ s. We omit further details, for brevity. Now, suppose that a basic feasible solutionx ˜∗ is given, such that C+ ∪ C− ⊆ B. In order to get a violated cut,x ¯ must be chosen so that x∗ lies in the interior of the natural polyhedron. For the polyhedra of the first kind, ∗ + ∗ − one can setx ¯k to dxke − 1 when k ∈ C , and bxkc + 1 for k ∈ C . For the ∗ + ∗ ones of the second kind, one can setx ¯i to bxkc for k ∈ C , and dxke for k ∈ C−. To proceed, we need some further notation. Given any k ∈ C+ ∪ C−, let 0 ∗ ∗ fk denote the modified fractional part xk − dx˜ke + 1, which is equal to 1 if ∗ 0 ∗ ∗ xk ∈ Z, and fk otherwise. Similarly, let (1−fk) denote bx˜kc+1−xk, which ∗ is equal to 1 if xk ∈ Z, and 1 − fk otherwise. Letx ˜s be the slack variable T + − P P for the constraint v x ≤ s, let v and v denote k∈C+ vk and k∈C− vk, T P respectively, and let v f denote k∈C+∪C− vkfk. With this notation, the intersection cuts for the two cases are       X αis αik −αik max + T , max 0 , max 0 x˜i ≥ 1 v − v f k∈C+ f k∈C− (1 − fk) i∈N k and       X −αis −αik αik max T − , max 0 , max 0 x˜i ≥ 1, v f − v k∈C+ (1 − fk) k∈C− f i∈N k respectively.

IT SEEMS THAT, if we apply monoidal strengthening to these cuts, then for all i ∈ N ∩ I˜, the coefficient ofx ˜i in the first cut can be replaced with  α − vT m α + m  −(α + m )  min max is , max ik k , max ik k . n + T + 0 − 0 m∈Z v − v f k∈C fk k∈C (1 − fk) Similarly, the coefficient ofx ˜i in the second cut can be replaced with:  vT m − α −(α + m ) α + m   min max is , max ik k , max ik k . n T − + 0 − 0 m∈Z v f − v k∈C (1 − fk) k∈C fk 4.2 Integer knapsack constraints Let us say that the inequality vT x ≤ s discussed in the last subsection is an integer knapsack constraint if C− = ∅. If one is willing to spend pseudo- polynomial time rather than polynomial time, one can generate another kind of natural polyhedron:

10 Lemma 2 Define the set:

 n T M = t ∈ Z+ : ∃x ∈ Z+ : v x = t . T If t1, t2 are two consecutive members of M, then the inequalities t1 ≤ v x ≤ t2 define a natural polyhedron.

Proof. From the definition of t1 and t2, no feasible solution x can have T t1 < v x < t2. Therefore, the polyhedron in question contains no feasible solutions in its interior. Moreover, since the constraint vT x ≤ s is in the system Ax ≤ b, the two facets of the polyhedron are parallel to a single facet of P . Therefore the polyhedron is natural.  Now suppose that a basic feasible solutionx ˜∗ is given, such that the slack + variablex ˜s is basic. We can check in O(|C |s) time, by dynamic program- T ∗ ming, whether there exists a suitable pair t1, t2 such that t1 < v x < t2. If so, then we obtain the cut:   X αis −αis max T ∗ , T ∗ x˜i ≥ 1, (7) t2 − v x v x − t1 i∈N

T ∗ This cut dominates the simple intersection cut (5), since t2 − v x ≥ f0 and T ∗ v x − t1 ≥ 1 − f0.

Now observe that M is a monoid. IT SEEMS THAT, if we apply monoidal strengthening to the cut (7), then for all i ∈ N ∩ I˜, the coefficient ofx ˜i can be replaced with:   αis − m m − αis min max T ∗ , T ∗ . m∈M t2 − v x v x − t1

This is of benefit only when αis > 0.

Remark: Suppose that all of the variables in C+ are upper-bounded. (For example, they could all be binary.) Then we could eliminate some mem- bers from M by imposing that there must exists an x satisfying the upper bounds. This would make the cut (7) stronger. On the other hand, M would no longer be a monoid, so monoidal strengthening could not be applied.

4.3 Packing and covering Now, consider MILPs that contain packing inequalities of the form X xi ≤ s, (8) k∈C where C is a set of binary variables and s is an integer between 1 and |C|−1. For this case, we have found five families of natural polyhedra:

11 1. Polyhedra defined by the inequalities 0 ≤ xk ≤ 1 for some i ∈ C. 2. Polyhedra defined by the inequalities X t ≤ xk ≤ t + 1 k∈C

where t ∈ [0, s − 1] ∩ Z. 0 3. Polyhedra defined by the inequalities xk ≥ 0 for all k ∈ C , where C0 ⊂ C is such that |C0| = s + 1. P 4. Polyhedra defined by the inequality k∈C xk ≤ t, where t ∈ [1, s] ∩ Z, 0 0 and the inequalities xk ≥ 0 for all k ∈ C , where C ⊂ C is such that |C0| = t. P 5. Polyhedra defined by the inequality k∈C xk ≥ t, where t ∈ [0, s − 0 0 1] ∩ Z, and the inequalities xk ≤ 1 for all k ∈ C , where C ⊂ C is such that |C0| = |C| − t. Note that the intersection cuts from the first two families are simple dis- junctive cuts and split cuts, respectively. As far as we know, the other three families are new. Note that they are all exponential in number. Fortunately, for a given x∗, one can easily select a member of each family such that x∗ lies in the interior, if one exists. When s = 1, the constraint (8) is called a set packing or generalised upper bound constraint. In that case, there are |C| polyhedra of type 1, one |C| of type 2, 2 of type 3, |C| of type 4, and one of type 5. Moreover, all but those of the fifth kind have only two facets. This makes the corresponding intersection cuts easy to generate.

What about strengthening?

By complementing binary variables, one can easily derive natural poly- hedra whenever the left-hand side of an inequality in the system Ax ≤ b takes the form X X xk − xk, k∈C+ i∈C− where C+ and C− are disjoint sets of binary variables. In particular, suppose P that one has a set covering constraint of the form k∈C xk ≥ 1. Then one obtains:

1. Polyhedra defined by the inequalities 0 ≤ xk ≤ 1 for some i ∈ C. 2. Polyhedra defined by the inequalities X t ≤ xi ≤ t + 1 k∈C

12 where t ∈ [1, |C| − 1] ∩ Z.

3. Polyhedra defined by the inequalities xk ≤ 1 for all k ∈ C. P 4. Polyhedra defined by the inequality k∈C xk ≥ t, where t ∈ [1, |C| − 0 0 1] ∩ Z, and the inequalities xk ≤ 1 for all k ∈ C , where C ⊂ C is such that |C0| = |C| − t. P 5. Polyhedra defined by the inequality k∈C xk ≤ t, where t ∈ [2, |C|]∩Z, 0 0 and the inequalities xk ≥ 0 for all k ∈ C , where C ⊂ C is such that |C0| = t.

For this case, Balas and Jeroslow [8] used disjunctions that are analogous to the natural polyhedra of the third kind. Note that the natural polyhedra of the fourth and fifth kinds are exponential in number.

4.4 Partitioning Next, consider MILPs with partitioning or multiple-choice constraints of the form: X xk = s, (9) k∈C where C and s are as in the previous subsection. At first sight, this might seem like a minor variation of the packing/covering case. Note however that equations do not define facets of P , and therefore our natural polyhedron cannot have facets that are parallel to the hyperplane defined by (9). As a result, we found only three families of natural polyhedra:

• Polyhedra defined by the inequalities 0 ≤ xk ≤ 1 for some k ∈ C.

0 • Polyhedra defined by the inequalities xk ≥ 0 for all k ∈ C , where C0 ⊂ C is such that |C0| = s + 1.

0 • Polyhedra defined by the inequalities xk ≤ 1 for all k ∈ C , where C0 ⊂ C is such that |C0| = |C| − s + 1.

The intersection cuts from the first family are again simple disjunctive cuts. The families of the second and third kind were already discovered by Glover [22].

What about strengthening?

When k = 1, the constraint (9) is called a set partitioning constraint. In that case, the natural polyhedra mentioned are O(n2) in number, and those of the first two kinds have only two facets. So, again, they are easy

13 to generate. We remark that Balas and Jeroslow [8] considered specialised disjunctions for this case, of the form !   X X xk = 1 ∨  xk = 1 , k∈C0 k∈C\C0 where C0 is now any proper subset of C. These disjunctions have only two terms, but the corresponding polyhedra are not natural in general.

4.5 Complementarity constraints and fixed charges Finally, we consider special structures that involve continuous variables. First, consider MILPs that have complementarity constraints of the form

(xi = 0) ∨ (xj = 0), for some continuous variables xi and xj. These are usually handled by adding a binary variable, say xk, along with the constraints:

xi ≤ Mixk, xj ≤ Mj(1 − xk), where Mi and Mj are upper bounds on the value of xi and xj, respectively. 3 Now, the following four inequalities define a tetrahedron in R :

xi ≥ 0, xj ≥ 0, xi ≤ Mixk, xj ≤ Mj(1 − xk). Taking any two of those inequalities, we obtain a natural polyhedron. The presence of the constants Mi and Mj, however, could cause the resulting intersection cuts to be numerically unstable (unless Mi and Mj are small positive ). The same applies to the natural polyhedron defined by the inequalities 0 ≤ xi ≤ Mi, and the one defined by the inequalities 0 ≤ xj ≤ Mj. To avoid such numerical issues, one can use only the polyhedron defined by the inequalities xi ≥ 0 and xj ≥ 0.

Since the variables involved are continuous, it does not seem pos- sible to define a suitable monoid.

Alternatively, one could use the natural polyhedron defined by the inequal- ities 0 ≤ xk ≤ 1. This would lead to a standard GMI cut. Similar considerations apply when a MILP has a fixed-charge constraint of the form xi ≤ Mxk, where xi is a continuous variable, xk is a binary variable, and M is an upper 2 bound on xi. Here, the following three inequalities define a triangle in R :

xi ≥ 0, xk ≤ 1, xi ≤ Mixk.

14 Taking any two of those inequalities, we obtain a natural polyhedron. To avoid the issue of the “big M”, one can instead pick any two of the inequal- ities xi ≥ 0, xk ≥ 0, xk ≤ 1. Again, the three resulting natural polyhedra have only two facets each. The one generated by the last two inequalities leads to a GMI cut, but the other two polyhedra involve a continuous variable and a binary one.

Again, it is not obvious how to define a suitable monoid...

5 Computational Experiments

5.1 A cutting-plane algorithm We could do something like this:

1. Solve the LP relaxation by the simplex method. Let (x∗, y∗) be the solution. 2. Construct a family of natural polyhedra, such that (x∗, y∗) lies in the interior of each one. 3. Generate one intersection cut from each of the selected polyhedra. If desired, strengthen each cut. 4. Add all of the cuts to the LP relaxation (but delete duplicate cuts). 5. Add the inequalities to the LP, re-solve via dual simplex, update (x∗, y∗), and return to step 2.

We only use a natural polyhedron if the corresponding disjunction is violated. Specifically: • For set packing and partitioning, and complementarity-constrained ∗ ∗ problems, we only use the inequalities xi ≥ 0 and xj ≥ 0 if xi and xj are both positive...

P • For set packing, we only use a pair of inequalities i∈S xi ≤ 1 and ∗ P ∗ xj ≥ 0 if xj > 0 (which automatically forces i∈S xi < 1).

• For set covering, we only use the inequalities xi ≤ 1 if at least one of the variables is less than 1.

• For complementarity problems, we only use a pair of inequalities xi ≥ 0 ∗ ∗ and xi ≥ 0 if xi > 0 and xj ≥ 0.

15 • For fixed-charge problems, we only use an inequality...

5.2 Results for set packing problems For set packing, I found some intersection cuts that were odd hole inequalities.

5.3 Results for set covering problems What kind of intersection cuts can we get? Maybe cycle inequal- ities?

5.4 Results for set partitioning problems Etc.

6 Conclusion

...

References

[1] K. Andersen, Q. Louveaux, R. Weismantel & L. Wolsey (2007) Cut- ting planes from two rows of a simplex tableau. In M. Fischetti & D.P. Williamson (eds.) Integer Programming and Combinatorial Op- timization XII, pp 1-15. Lecture Notes in Computer Science vol. 4513. Heidelberg: Springer.

[2] E. Balas (1971) Intersection cuts: a new type of cutting planes for integer programming. Oper. Res., 19, 19–39.

[3] E. Balas (1972) Integer programming and convex analysis: intersection cuts from outer polars. Math. Program., 2, 330–382.

[4] E. Balas (1979) Disjunctive programming. Ann. Discr. Math., 5, 3–51.

[5] E. Balas, V.J. Bowman, F. Glover & D. Sommer (1971) An intersection cut from the dual of the unit hypercube. Oper. Res., 19, 40–44.

[6] E. Balas, S. Ceria & G. Cornu´ejols(1993) A lift-and-project cutting plane algorithm for mixed 0–1 programs. Math. Program., 58, 295–324.

[7] E. Balas, S. Ceria, G. Cornu´ejols& N. Natraj (1996) Gomory cuts revisited. Oper. Res. Lett., 19, 1–9.

16 [8] E. Balas & R.G. Jeroslow (1980) Strengthening cuts for mixed integer programs. Eur. J. Oper. Res., 4, 224–234. [9] E. Balas & M. Perregaard (2003) A precise correspondence between lift-and-project cuts, simple disjunctive cuts, and mixed integer gomory cuts for 0-1 programming. Math. Program., 94, 221–245. [10] E. Balas & A. Qualizza (2013) Intersection cuts from multiple rows: a disjunctive programming approach. EURO J. Comput. Optim., 1, 3-49. [11] A. Basu, G. Cornu´ejols& F. Margot (2012) Intersection cuts with in- finite split rank. Math. Oper. Res., 37, 21–40. [12] C.-A. Burdet (1973) Enumerative cuts I. Oper. Res., 21, 61–89. [13] A. Caprara & A.N. Letchford (2003) On the separation of split cuts and related inequalities. Math. Program., 94, 279–294. [14] M. Conforti, G. Cornu´ejols& G. Zambelli (2010) Polyhedral approaches to mixed-integer linear programming. In M. J¨unger et al. (eds.) 50 Years of Integer Programming: 1958–2008, pp. 343–386. Berlin: Springer. [15] W.J. Cook (2010) Fifty-plus years of combinatorial integer program- ming. In M. J¨unger et al. (eds.) 50 Years of Integer Programming: 1958–2008, pp. 387–430. Berlin: Springer. [16] W. Cook, R. Kannan & A.J. Schrijver (1990) Chv´atalclosures for mixed integer programming problems. Math. Program., 47, 155-174. [17] G. Cornu´ejols(2008) Valid inequalities for mixed integer linear pro- grams. Math. Program., 112, 3-44. [18] G. Cornu´ejols& F. Margot (2009) On the facets of mixed integer pro- grams with two integer variables and two constraints. Math. Program., 120, 429–456. [19] S.S. Dey & Q. Louveaux (2011) Split rank of triangle and quadrilateral inequalities. Math. Oper. Res., 36, 432–461. [20] M. Fischetti & D. Salvagnin (2011) A relax-and-cut framework for Go- mory mixed-integer cuts. Math. Program. Comput., 3, 79–102. [21] F. Glover (1973) Convexity cuts and cut search. Oper. Res., 21, 123– 134. [22] F. Glover (1973) Convexity cuts for multiple choice problems. Discr. Math., 6, 221–234. [23] F. Glover (1974) Polyhedral convexity cuts and negative edge exten- sions. Zeit. f¨urOper. Res., 18, 181–186.

17 [24] F. Glover (1975) Polyhedral annexation in mixed integer and combina- torial programming. Math. Program., 9, 161–188.

[25] R.E. Gomory (1963) An algorithm for the mixed-integer problem. Re- port RM-2597, Rand Corporation, unpublished.

[26] L. Lov´asz(1989) Geometry of numbers and integer programming. In M. Iri & K. Tanabe (eds.) Mathematical Programming: Recent Devel- opments and Applications, pp. 177–201. Dortrecht: Kluwer.

[27] H. Marchand, A. Martin, R. Weismantel & L.A. Wolsey (2002) Cutting planes in integer and mixed integer programming. Discr. Appl. Math., 123, 397-446.

[28] G.L. Nemhauser & L.A. Wolsey (1990) A recursive procedure to gen- erate all cuts for 0-1 mixed integer programs. Math. Program., 46, 379- 390.

[29] G. Owen (1973) Cutting planes for programs with disjunctive con- straints. J. Optim. Th. Appl., 11, 49–55.

18