Scanning integer points with lex-inequalities: A finite cutting plane algorithm for integer programming with linear objective
Michele Conforti, Marianna De Santis, Marco Di Summa, Francesco Rinaldi
aa r X i v : . [ m a t h . O C ] J u l Scanning integer points with lex-inequalities: A finite cuttingplane algorithm for integer programming with linear objective
Michele Conforti ∗ Marianna De Santis † Marco Di Summa ∗ Francesco Rinaldi ∗ Abstract
We consider the integer points in a unimodular cone K ordered by a lexicographic ruledefined by a lattice basis. To each integer point x in K we associate a family of inequalities(lex-inequalities) that defines the convex hull of the integer points in K that are notlexicographically smaller than x . The family of lex-inequalities contains the Chv´atal–Gomory cuts, but does not contain and is not contained in the family of split cuts. Thisprovides a finite cutting plane method to solve the integer program min { cx : x ∈ S ∩ Z n } ,where S ⊂ R n is a compact set and c ∈ Z n . We analyze the number of iterations of ouralgorithm. The area of integer nonlinear programming is rich in applications but quite challenging froma computational point of view. We refer to the articles [7, 10] for comprehensive surveyson these topics. The tools that are mainly used are sophisticated techniques that exploitrelaxations, constraint enforcement (e.g., cutting planes) and convexification of the feasibleset. Reformulations in an extended space and cutting planes for integer nonlinear programshave been investigated and proposed for some time, see e.g. [11, 13, 23]. This line of researchmostly provides a nontrivial extension of the theory of disjunctive programming to the non-linear case. To the best of our knowledge, these results are obtained under some restrictiveconditions: typically, the feasible set is assumed to be convex or to contain 0/1 points only(these cases cover some important areas of application).In this paper we present a finite cutting plane algorithm for problems of the formmin { cx : x ∈ S ∩ Z n } , (1.1)where S is a compact subset of R n (not necessarily convex or connected) and c ∈ Z n . Ouralgorithm uses a new family of cutting planes which do not make any use of a description ofthe set S . The cutting planes employed in our algorithm are obtained as follows. We considerthe integer points in a unimodular cone K , ordered by a lexicographic rule, associated witha lattice basis. To each integer point x in K , we associate a family of inequalities (lex-inequalities) that, in a sense, is best possible, as it defines the convex hull of the integer ∗ Dipartimento di Matematica “Tullio Levi-Civita”, Universit`a degli Studi di Padova, Italy. † Dipartimento di Ingegneria Informatica Automatica e Gestionale, Sapienza Universit`a di Roma, Italy K that are not lexicographically smaller than x . Our family of cuts includes theChv´atal–Gomory cuts, but it does not contain, nor is it contained in, the family of split cuts.Our algorithm recursively solves optimization problems of the form min { cx : x ∈ S ∩ P } ,where P is a polyhedron, and we assume that an algorithm for problems of this type isavailable as a black box. We remark that as long as this black box is available, no assumptionon S other than compactness is required by our algorithm. To the best of our knowledge,this is in contrast to the rest of the literature where convexity (or even polyhedrality) is acommon assumption.The cuts we introduce are linear inequalites. As the convex hull of the integer points ina bounded subset of R n is a polytope, a finite number of linear inequalities suffices for itscharacterization, and only n such inequalities determine an optimal point.Furthermore a finite number of linear inequalities suffices to describe some relevant re-laxations of the convex hull of the integer points in a bounded set: most notably, Dadush,Dey and Vielma [12] proved that the Chv´atal–Gomory closure of a compact convex set is apolytope (whereas this is not the case for the split closure of the set).However, nonlinear inequalities have also been successfully used to provide elegant convexhull characterizations. We mention the work by Andersen and Jensen [1] where a formulato describe the convex hull of a split disjunction applied to a second-order cone is provided.Their work is related to the paper by Modaresi et al. [19], where the authors derive split cutsfor convex sets described by a single conic quadratic inequality and extend general intersectioncuts to a wide variety of quadratic sets. Belotti et al. [5, 6] introduce the so called disjunctiveconic cuts studying families of quadratic surfaces intersected with two given hyperplanes.Burer and Kılın¸c-Karzan [9] extend the works cited above and show that the convex hull ofthe intersection of a second-order-cone representable set and a single homogeneous quadraticinequality can be described by adding a single nonlinear inequality, defining an additionalsecond-order-cone representable set.From an algorithmic perspective, deriving a finite cutting plane procedure that uses awell defined family of inequalities does not seem to be straightforward. The oldest and mostnotable example is Gomory’s finite cutting plane algorithm for integer linear programmingover bounded sets based on fractional cuts [14, 15]. Other finite cutting plane algorithms(again for bounded sets) can be found in [2, 4, 8, 17] for integer linear programming andin [18] for mixed integer linear programming.While in all the papers cited above the correctness of the algorithms is based on a specificprocedure for solving the continuous relaxation, there are methods that only assume that anoptimal solution of the continuous relaxation is given by a black box. This is the case forthe lift-and-project method of Balas, Ceria and Cornu´ejols [3] for mixed 0/1 linear problems,the procedure described by Orlin [21] for 0/1 integer linear programming, and the algorithmpresented by Neto [20] for integer linear programming over bounded sets.The family of cuts used in Neto’s algorithm is related to ours. As it will be clarified later,the inequalities introduced in [20] are weaker than the lex-inequalities and, in particular, theyare derived under the assumption that a box containing the set S is known.We notice that a common feature of the above papers is the (explicit or implicit) use ofsome lexicographic rule for the choice of an optimal solution of the continuous relaxation orthe selection of the cut. This seems to be a key tool to prove finite convergence of this typeof algorithms.The paper is organized as follows. In Section 2, we introduce the lex-inequalities with2heir properties. In Section 3, we present the cutting plane algorithm and we show that itterminates in a finite number of iterations. In Section 4, an instance where the algorithmstops after an exponential number of iterations is provided. Furthermore, we compare theperformance of our algorithm with a natural enumeration approach. A comparison withChv´atal–Gomory cuts and split cuts is presented in Section 5. Section 6 concludes the paper. A lattice basis of Z n is a set of n linearly independent vectors c , . . . , c n ∈ Z n such that forevery v ∈ Z n we have that λ , . . . , λ n ∈ Z in the unique expression v = P ni =1 λ i c i .The lex-inequalities that we introduce in this paper are defined for a given lattice basis of Z n . To simplify the presentation, we first work with the standard basis and then extend theresults to general lattice bases.We will use standard notions in the theory of polyhedra, for which we refer the reader to[22]. We consider the lexicographic ordering ≺ associated with the standard basis e , . . . , e n : given x , x ∈ R n , x ≺ x if and only if x = x and x i < x i , where i is the smallest index forwhich x i = x i . We use (cid:22) , ≻ , (cid:23) with the obvious meaning.We consider the cone K = R n + = { x ∈ R n : x i ≥ , i = 1 , . . . , n } . Given ¯ x ∈ K ∩ Z n , wedefine Q (¯ x ) := conv { x ∈ K ∩ Z n : x (cid:23) ¯ x } , where “conv” denotes the convex hull operator.Given ¯ x ∈ K \ { } , we define the leading index ℓ (¯ x ) as the largest index i such that ¯ x i > Lemma 2.1.
Fix ¯ x ∈ K ∩ Z n . The set Q (¯ x ) is a full-dimensional polyhedron. Its verticesare precisely the following points v , . . . , v ℓ (¯ x ) : for k = 1 , . . . , ℓ (¯ x ) − , v k has entries v ki = ¯ x i , i = 1 , . . . , k − v kk = ¯ x k + 1 v ki = 0 , i = k + 1 , . . . , n, and v ℓ (¯ x ) = ¯ x . Furthermore, the recession cone of Q (¯ x ) is K .Proof. Define X := { x ∈ K ∩ Z n : x (cid:23) ¯ x } and X i = v i + ( K ∩ Z n ) for every i ∈ { , . . . , ℓ (¯ x ) } .Note that X = S ℓ (¯ x ) i =1 X i and therefore conv( X ) = conv (cid:16)S ℓ (¯ x ) i =1 conv( X i ) (cid:17) . As any rationalpolyhedral cone is an integral polyhedron, we have conv( K ∩ Z n ) = K . As v i ∈ Z n , this impliesconv( X i ) = v i + K for every i , and thus these sets are integer translates of K . Thereforeconv( X ) = conv { v , . . . , v ℓ (¯ x ) } + K . This shows that conv( X ) is a full-dimensional polyhedronwith recession cone K and its vertices are contained in { v , . . . , v ℓ (¯ x ) } . It is easy to verifythat v , . . . , v ℓ (¯ x ) are actually all vertices of conv( X ).3et ¯ x ∈ K be given. For every k ∈ { , . . . , n } and i ∈ { , . . . , k } we define d ki := i = k ¯ x k if i = k − , ¯ x k Q k − j = i +1 (¯ x j + 1) , if i ≤ k − . (Note that the d ki ’s depend on the choice of ¯ x , but we omit the dependence on ¯ x to keepnotation simpler: this will never generate any ambiguity.)For every k ∈ { , . . . , n } , the k -th lex-inequality associated with ¯ x is the inequality k X i =1 d ki x i ≥ k X i =1 d ki ¯ x i . (2.1)Note that when ¯ x k = 0, (2.1) is the inequality x k ≥ Theorem 2.2. If ¯ x ∈ K ∩ Z n , then the lex-inequalities (2.1) for k = 1 , . . . , n and theinequalities x i ≥ for i = 1 , . . . , n provide a description of the polyhedron Q (¯ x ) .Proof. As K is the recession cone of Q (¯ x ) (Lemma 2.1) and Q (¯ x ) ⊆ K , it follows that everyfacet inducing inequality for Q (¯ x ) (indeed every valid inequality) is of the type n X i =1 a i x i ≥ a (2.2)where a i ≥ , i = 0 , . . . , n .Given k ∈ { , . . . , n } , we let Q k (¯ x ) ⊆ R k denote the orthogonal projection of Q (¯ x ) ontothe first k variables, and we define ¯ x [ k ] := (¯ x , . . . , ¯ x k ). It follows from the definition oflexicographic ordering that Q k (¯ x ) = Q (¯ x [ k ] ).Therefore the facet inducing inequalities of Q k (¯ x ) are the facet inducing inequalities of Q (¯ x ) such that a j = 0 for j = k + 1 , . . . , n . (This can be seen, e.g., as a consequence of themethod of Fourier–Motzkin to compute projections.)As the theorem trivially holds for Q (¯ x ), to prove the result by induction on n it sufficesto characterize the facets with a n >
0. As the only facet inducing inequality with a n > a = 0 is x n ≥
0, from now on we consider a facet inducing inequality (2.2) with a n > a > x n = 0. Then by Lemma 2.1 we have that Q (¯ x ) = Q n − (¯ x ) × { x n ∈ R : x n ≥ } and we are done by induction. Therefore we assume ¯ x n >
0. Recall that, by Lemma2.1, Q (¯ x ) has n vertices, v , . . . , v n = ¯ x . Claim 1: ¯ x satisfies (2.2) at equality. Since v kn = 0 for k = 1 , . . . , n −
1, if ¯ x does not satisfy (2.2) at equality, the inequality n − X i =1 a i x i + ( a n − ε ) x n ≥ a is valid for Q (¯ x ) for some ε >
0. Since (2.2) is the sum of εx n ≥ a >
0, (2.2) does not induce a facetof Q (¯ x ). This proves Claim 1. 4 laim 2: a k > for k = 1 , . . . , n . By Claim 1 we have that n X i =1 a i ¯ x i = a . Pick k ∈ { , . . . , n − } . Since v k satisfies (2.2), we have that k X i =1 a i ¯ x i + a k ≥ a . Subtracting the above equation from this inequality, we obtain a k ≥ n X i = k +1 a i ¯ x i > , where the strict inequality follows because a i ≥ i = 1 , . . . , n and a n ¯ x n >
0. This provesClaim 2.Claim 2 shows that if x ′′ = x ′ , x ′′ ≥ x ′ (componentwise) and x ′ satisfies (2.2), then x ′′ cannot satisfy (2.2) at equality. In particular, if x ′ satisfies (2.2) at equality and r is anonzero ray of Q (¯ x ) then x ′ + r cannot satisfy (2.2) at equality. Therefore, as Q (¯ x ) is a fulldimensional polyhedron and (2.2) induces a facet, this inequality must be satisfied at equalityby v , . . . , v n . By imposing these n equations, it can be derived that, up to positive scaling, a i = d ni , for all i = 1 , . . . , n and a = P ni =1 d ni ¯ x i . This implies that (2.2) is n X i =1 d ni x i ≥ n X i =1 d ni ¯ x i and the theorem is proven. Remark 2.3.
In the description given by Theorem 2.2, for every k such that ¯ x k = 0 the k -th lex-inequality is redundant, as it is the inequality x k ≥ . Furthermore, if ¯ x > thenalso the inequality x ≥ is redundant, as it is dominated by the first lex-inequality (which is x ≥ ¯ x ). It can be verified that the remaining inequalities provide an irredundant descriptionof Q (¯ x ) . Let { c , . . . , c n } be a lattice basis of Z n . Then the n × n matrix C whose rows are c , . . . , c n is unimodular, i.e., it is an integer matrix with determinant 1 or −
1. The unimodular trans-formation x Cx and its inverse map integer points to integer points. By applying thetransformation x Cx , the results of the previous subsection can be immediately extendedto the lattice basis { c , . . . , c n } .In particular, the lexicographic ordering defined by the lattice basis is as follows: given x , x ∈ R n , we have x ≺ x if and only if x = x and c i x < c i x , where i is the smallestindex for which c i x = c i x .The unimodular cone K is defined as K := { x ∈ R n : c i x ≥ , i = 1 , . . . , n } and, for¯ x ∈ K ∩ Z n , Q (¯ x ) := conv { x ∈ K ∩ Z n : x (cid:23) ¯ x } .The leading index ℓ (¯ x ), for ¯ x ∈ K \ { } , is the largest index i such that c i ¯ x >
0. Lemma2.1 now reads as follows: 5 emma 2.4.
Fix ¯ x ∈ K ∩ Z n . The convex set Q (¯ x ) is a full-dimensional polyhedron. Itsvertices are precisely the following points v , . . . , v ℓ (¯ x ) : for k = 1 , . . . , ℓ (¯ x ) − , v k is the uniquepoint satisfying c i v k = c i ¯ x, i = 1 , . . . , k − c k v k = c k ¯ x + 1 c i v k = 0 , i = k + 1 , . . . , n, and v ℓ (¯ x ) = ¯ x . Furthermore, the recession cone of Q (¯ x ) is K . For ¯ x ∈ K , k ∈ { , . . . , n } and i ∈ { , . . . , k } , the definition of the d ki ’s is as follows: d ki := i = kc k ¯ x if i = k − ,c k ¯ x Q k − j = i +1 ( c j ¯ x + 1) , if i ≤ k − . (2.3)The k -th lex-inequality associated with ¯ x is the following: k X i =1 d ki c i x ≥ k X i =1 d ki c i ¯ x. (2.4)Theorem 2.2 now reads as follows: Proposition 2.5. If ¯ x ∈ K ∩ Z n , then the lex-inequalities (2.4) for k = 1 , . . . , n and theinequalities c i x ≥ for i = 1 , . . . , n provide a description of the polyhedron Q (¯ x ) . Neto [20] describes a family of inequalities that, although presented in a different setting,can be seen to be valid for Q (¯ x ) when the lattice basis { c , . . . , c n } is the standard basis.However, those inequalities in general do not induce facets of Q (¯ x ) and are therefore weakerthan the lex-inequalities. In particular, the inequalities in [20] are derived under the assump-tion that a box containing the continuous set S is known, and their coefficients depend on thesize of the box. In contrast, our inequalities only depend on the current fractional solution¯ x . As a consequence, we obtain inequalities with smaller dynamism (i.e., with smaller ratiobetween the largest and the smallest absolute value of the coefficients), which is a desirableproperty in practice.In order to compare Neto’s inequalities with ours, let n = 2, ¯ x = (1 , , × [0 , x ≥ x + x ≥ while thelex-inequalities are x ≥ x + x ≥
2. Since the inequality 3 x + x ≥ Q (¯ x ).It should also be noted that in [20] the inequalities are described only for the case in whichthe continuous set S is a bounded polyhedron, although it is not difficult to extend them tothe case of a compact set.Furthermore, we remark that a linear-inequality description of the set Q (¯ x ) can be inferredfrom a result proved by Gupte [16, Theorem 2] in the context of super-increasing knapsackproblems: one needs to apply a change of variables and observe that by removing the lowerbounds appearing in [16] the remaining facet inducing inequalities are unaffected. We note that Neto presents his inequalities in a different form, as he considers the integer points that arelexicographically smaller than ¯ x . The cutting plane algorithm
Let S be a family of compact (not necessarily connected or convex) subsets of R n with thefollowing property: if S ∈ S and H is a closed halfspace in R n , then S ∩ H ∈ S .Linear optimization over S is the following problem: given S ∈ S and c ∈ Z n , determinean optimal solution to the problem min { cx : x ∈ S } or certify that S = ∅ . (Since S iscompact, either S = ∅ or the minimum is well defined.) Integer linear optimization over S is defined similarly, but the feasible region is S ∩ Z n ,the set of integer points in S .We prove that an oracle for solving linear optimization over S suffices to design a finitecutting plane algorithm that solves integer linear optimization over S .We now make this statement more precise. Given a compact subset S of R n and c ∈ Z n ,let ¯ x ∈ S be an optimal solution of the program min { cx : x ∈ S } . A cutting plane is a linearinequality that is valid for S ∩ Z n and is violated by ¯ x . Note that a cutting plane exists ifand only if ¯ x / ∈ conv( S ∩ Z n ). In particular, this is certainly the case if ¯ x is a non-integralextreme point of conv( S ).A (pure) cutting plane algorithm for integer linear optimization over S is an iterativeprocedure of the following type:- Let S ∈ S and c ∈ Z n be given.- If S = ∅ , then S ∩ Z n = ∅ . Otherwise, find an optimal solution ¯ x of min { cx : x ∈ S } .- If ¯ x ∈ S ∩ Z n , stop: ¯ x is an optimal solution to min { cx : x ∈ S ∩ Z n } . Otherwise, detecta cutting plane and let H denote the corresponding half-space. Replace S with S ∩ H and iterate.Assume without loss of generality that the objective function vector c is nonzero and hasrelatively prime entries. Then there exists a lattice basis { c , . . . , c n } of Z n such that c = c .The optimal solution ¯ x of min { cx : x ∈ S } found by our algorithm will be a lexicographicallyminimum or lex-min solution in S with respect to the lattice basis: i.e., ¯ x ≺ x for every x ∈ S \ { ¯ x } . The lex-min vector ¯ x in S satisfies the following conditions: • c ¯ x = min { c x : x ∈ S } ; • c ¯ x = min { c x : x ∈ S, c x = c ¯ x } ; • c ¯ x = min { c x : x ∈ S, c x = c ¯ x, c x = c ¯ x } ; • . . . • c n ¯ x = min { c n x : x ∈ S, c x = c ¯ x, . . . , c n − x = c n − ¯ x } .Since S is nonempty and compact, the above minima are well-defined and can be computedby applying the oracle n times. Furthermore these conditions uniquely define ¯ x . One verifiesthat ¯ x is an extreme point of conv( S ).Algorithm 1 describes the procedure in detail. Note that since S is compact, numbers ℓ ∗ , . . . , ℓ ∗ n (as defined in Algorithm 1) exist and can be determined by querying the linear7 lgorithm 1: Resolution of integer linear optimization over S Input: S ∈ S with S = ∅ , c ∈ Z n \ { } with relatively prime entries, and a latticebasis { c , . . . , c n } of Z n with c = c . Output: an optimal integer solution ¯ x for the problem min { cx : x ∈ S } or a certificatethat S ∩ Z n = ∅ . Compute ℓ ∗ i := min { c i x : x ∈ S } and ℓ i := ⌈ ℓ ∗ i ⌉ for 1 ≤ i ≤ n , and apply a translationso that ℓ i = 0 for 1 ≤ i ≤ n . Let K := { x ∈ R n : c i x ≥ , i = 1 , . . . , n } and replace S with S ∩ K . If S = ∅ , stop: the given problem is infeasible. Else, compute the lex-min solution ¯ x in S with respect to { c , . . . , c n } . If ¯ x ∈ Z n , return ¯ x . Else, let k be the smallest index such that c k ¯ x / ∈ Z and compute d ki := i = k (cid:6) c k ¯ x (cid:7) if i = k − , (cid:6) c k ¯ x (cid:7) Q k − j = i +1 ( c j ¯ x + 1) , if i ≤ k − . Replace S with S ∩ H , where H is the halfspace defined by the inequality (3.2) k X i =1 d ki c i x ≥ k − X i =1 d ki c i ¯ x + d kk l c k ¯ x m and go to step 2.optimization oracle n times. Moreover, as { c , . . . , c n } is a lattice basis of Z n , an index k asin step 5 always exists when ¯ x / ∈ Z n .Given x ∈ K , let x ↑ be the lex-min vector in K ∩ Z n such that x (cid:22) x ↑ . Obviously x = x ↑ if and only if x ∈ Z n . If x Z n , let k be the smallest index such that c k x Z . It is easy tosee that x ↑ is the unique point satisfying the following conditions: c i x ↑ = c i x, i < k ; c k x ↑ = l c k x m ; c i x ↑ = 0 , i > k. (3.1) Definition 3.1.
Let ¯ x S ∩ Z n and let k be the smallest index such that c k ¯ x Z . The k -thlex-cut is the k -th lex-inequality associated with ¯ x ↑ : k X i =1 d ki c i x ≥ k − X i =1 d ki c i ¯ x + d kk l c k ¯ x m (3.2) (This is the cut introduced at step 5 of Algorithm 1.) Proposition 3.2.
Inequality (3.2) defines a cutting plane. Algorithm 1 terminates after afinite number of iterations.Proof.
Since, after the preprocessing of step 1, S ⊆ K and ¯ x is the lex-min point in S ,¯ x (cid:22) ¯ x ↑ ≺ x ′ for every x ′ ∈ S ∩ Z n \ { ¯ x ↑ } . Thus S ∩ Z n ⊆ Q (¯ x ↑ ) and by Proposition 2.5inequality (3.2) is valid for S ∩ Z n . As c k ¯ x Z and d kk >
0, the inequality is violated by ¯ x .This shows that (3.2) defines a cutting plane.8s different iterations of the algorithm use cuts (3.2) associated with lexicographicallyincreasing vectors in S ∩ Z n , and S is bounded, the number of iterations of the algorithm isfinite.We mention that Akshay Gupte (personal communication) has elaborated an algorithmto solve min { cx : x ∈ S } , assuming that a box B containing S is given. His algorithmiteratively constructs the convex hull of a set of the form { x ∈ B ∩ Z n : x (cid:23) ˆ x } for someˆ x ∈ Z n , which can be seen as a truncated version of Q (ˆ x ). However, while in Algorithm 1 ateach iteration we use ˆ x = ¯ x ↑ , where ¯ x is the optimal solution of the continuous relaxation,in Gupte’s algorithm ˆ x is obtained by “rounding” the point optimizing an objective functionwith superincreasing coefficients that is different from the original objective function. As aconsequence, in Gupte’s algorithm one can have ˆ x ≺ ¯ x ↑ , which makes Q (ˆ x ) (or its truncatedversion) weaker. Recall the notation x ↑ introduced in (3.1). We extend that definition to sets as follows: given S ⊆ R n , let S ↑ := { x ↑ : x ∈ S } . Since S is bounded, S ↑ is a finite set, as, given y ∈ S ↑ and i ∈ { , . . . , n } , c i y is an integer value satisfying min { c i x : x ∈ S } ≤ c i y ≤ (cid:6) max { c i x : x ∈ S } (cid:7) . Observation 4.1.
Given a nonempty set S ∈ S , let (¯ x ) be the sequence of points in S computed at step 3 of Algorithm 1. Then the sequence (¯ x ↑ ) is the lex-ordering of some distinctpoints in S ↑ .Proof. If ¯ x is a point computed at step 3 of Algorithm 1, then clearly ¯ x ↑ ∈ S ↑ , as ¯ x ∈ S .Thus we only have to show that if ¯ x and ˜ x are points computed at step 3 in two consecutiveiterations (say iterations q and q + 1), then ¯ x ↑ ≺ ˜ x ↑ . Assume not. Then ¯ x ↑ = ˜ x ↑ andtherefore the cuts introduced at these two iterations would be exactly the same. But then thecut generated at iteration q would already cut off ˜ x , contradicting the fact that at iteration q + 1 the point computed at step 3 is ˜ x . Corollary 4.2. | S ↑ | is an upper bound on the number of cuts produced by Algorithm 1. We next construct a convex body containing no integer points for which the bound | S ↑ | on the number of cuts is exponential and tight. Proposition 4.3.
For every n ∈ N , there is a convex subset S of [0 , n (described by a singleconvex constraint plus variable bounds) on which Algorithm 1 computes | S ↑ | = 2 n − cuts.Proof. We choose the standard basis { e , . . . , e n } as lattice basis of Z n . Let be the point in R n with all entries equal to 1, and let k · k denote the Euclidean norm. Define S := ( x ∈ [0 , n : (cid:13)(cid:13)(cid:13)(cid:13) x − (cid:13)(cid:13)(cid:13)(cid:13) ≤ n − ) . Note that S ∩ Z n = ∅ and ℓ i = 0 for i = 1 , . . . , n . Furthermore, for every x ∈ { , } n \ { } , S contains the point z ( x ) obtained from x by setting to the entry with largest index that is0. As S ⊆ [0 , n , this shows that S ↑ = { , } n \ { } , and thus | S ↑ | = 2 n − S ↑ is of the form ¯ x ↑ for some point ¯ x found in step 3.Let ¯ x be the point computed at some iteration of step 3 and assume ¯ x ↑ = . By Theorem2.2, the lex-cut associated with ¯ x ↑ is satisfied by all x ∈ { , } n such that x (cid:23) ¯ x ↑ . As thelex-cut associated with ¯ x ↑ is an inequality with nonnegative coefficients, it is also satisfiedby the point z (¯ x ↑ ). This implies that, if we denote by ˜ x the point computed in step 3 atthe next iteration, ˜ x ↑ is the lex-min point in { , } n that is lexicographically larger than ¯ x ↑ .Thus every point in S ↑ is of the form ¯ x ↑ for some point ¯ x found in step 3. Together withObservation 4.1, this shows that precisely | S ↑ | cuts are needed to discover that S contains nointeger points, which happens at step 2 immediately after the iteration in which ¯ x ↑ = .Corollary 4.2 gives a guarantee on the maximum number of iterations of Algorithm 1. Onemay ask whether there exists an enumerative algorithm that achieves the same performance.We propose Algorithm 2, which we think is the best candidate. Algorithm 2:
Resolution of integer linear optimization over S via lex-enumeration Input: S ∈ S , c ∈ Z n \ { } with relatively prime entries and a lattice basis { c , . . . , c n } of Z n , with c = c . Output: an optimal integer solution ¯ x for the problem min { cx : x ∈ S } or a certificatethat S ∩ Z n = ∅ . Translate S so that S ⊆ { x ∈ R n : c i x ≥ , i = 1 , . . . , n } . Set α := · · · := α n := 0 and i ∗ := 1. Let S ∗ := S ∩ { x ∈ R n : c i x = α i , i < i ∗ ; c i x ≥ α i , i ≥ i ∗ } . If S ∗ = ∅ : If i ∗ = 1, stop: S ∩ Z n = ∅ . Else update i ∗ := i ∗ − α i ∗ := α i ∗ + 1, α i := 0 for i > i ∗ , and go to step 2. Else Let ¯ x be the lex-min point in S ∗ . If ¯ x ↑ ∈ S ∗ , stop: ¯ x ↑ is the lex-min point in S ∩ Z n . Else update i ∗ := n , α i := c i ¯ x ↑ for i = 1 , . . . , n , and go to step 2.The correctness of this algorithm is based on the following lemma (whose proof alsoexplains how the algorithm works). Lemma 4.4.
In Algorithm 2, if ¯ x and ˜ x denote the points computed at two consecutiveexecutions of line 7, then ˜ x is the lex-min point in S that is lexicographically larger than ¯ x ↑ .Proof. Let ¯ x denote the point found at some execution of step 7. If ¯ x ↑ / ∈ S ∗ , then, at steps9 and 2, S ∗ is defined as the set of points x ∈ S satisfying c i x = c i ¯ x ↑ for all i ≤ n − c n x ≥ c n ¯ x ↑ . If S ∗ = ∅ then the next execution of step 7 yields the lex-min point in S that islexicographically larger than ¯ x ↑ . Otherwise, step 5 is executed, which updates S ∗ to the set ofpoints x ∈ S satisfying c i x = c i ¯ x ↑ for all i ≤ n − c n − x ≥ c n − ¯ x ↑ + 1 and c n x ≥
0. Again, if S ∗ = ∅ then the next execution of step 7 yields the lex-min point in S that is lexicographicallylarger than ¯ x ↑ . Otherwise, this point is found after some further executions of step 5 (unlessthe condition in step 4 is satisfied).To analyze the performance of Algorithm 2, we need the following definitions. Let C bethe n × n matrix whose rows are c , . . . , c n and let S ∈ S be given. For every ¯ x ∈ S ↑ , let V (¯ x )10e the set of the following n vectors α , . . . , α n : for k = 1 , . . . , n − α k is defined as α ki = c i ¯ x, i = 1 , . . . , k − α kk = c k ¯ x + 1 α ki = 0 , i = k + 1 , . . . , n, and α n = C ¯ x . Notice that by Lemma 2.4, V (¯ x ) contains all vectors of the form Cx where x is a vertex of Q (¯ x ).Let V ( S ) = S ¯ x ∈ S ↑ V (¯ x ). Notice that, given ¯ x, ¯ y ∈ S ↑ , the set V (¯ x ) ∩ V (¯ y ) may benonempty. Proposition 4.5.
Given a set S ∈ S , let ( α ) be the sequence of vectors used to define thesequence of sets ( S ∗ ) in step 2 of Algorithm 2. • If S ∩ Z n = ∅ , then ( α ) is the lex-ordering of all points in V ( S ) ∪ { } with respect tothe standard basis. • If S ∩ Z n = ∅ , the sequence is truncated to the lex-min vector α (with respect to thestandard basis) such that C − α ∈ S ∩ Z n = S ∩ S ↑ .Proof. Clearly the sequence ( α ) starts with α = and is lexicographically increasing withrespect to the standard basis.Let α = 0 be a vector used in step 2 at some iteration q > x be the last pointcomputed at line 7 before iteration q ; say that ¯ x is computed at iteration q ′ < q . If q ′ = q − α = C ¯ x ↑ and therefore α ∈ V ( S ). If q ′ = q − t for some t >
1, then line 5 is executed t − q ′ and q . In this case, α is the vector defined by α i = c i ¯ x ↑ for i ≤ n − t , α n − t +1 = c n − t +1 ¯ x ↑ + 1, α i = c i ¯ x ↑ for i ≥ n − t + 2, and therefore α ∈ V ( S ).We now show that every point in V ( S ) is in the sequence ( α ). By Lemma 4.4, the sequence( α ) contains all points of the form Cx for x ∈ S ↑ . Let now α ∈ V ( S ), where α is not of theform Cx for any x ∈ S ↑ . Then there exist ˆ x ∈ S ↑ and an index k < n such that α i = c i ˆ x for i < k , α k x = c k ˆ x + 1, and α i = 0 for i > k . Consider the last iteration of line 7 in which ¯ x ↑ satisfies c i ¯ x ↑ = c i ˆ x for i ≤ k (this definition makes sense because, as shown above, ˆ x = ¯ x ↑ atsome iteration of line 7). The algorithm now sets α = C ¯ x ↑ and executes line 5 k consecutivetimes. After this, we have α = Cx . This shows that every point in V ( S ) is in the sequence( α ).We remark that in the definition of α at line 9, we could impose the stronger condition α n := c n ¯ x ↑ + 1. However, this would not change substantially the bounds on the number ofiterations shown above. Moreover, when S is convex the number of iterations is precisely thesame in both cases.By Observation 4.1 and Proposition 4.5, the number of iterations of Algorithm 1 andAlgorithm 2 is upper-bounded by | S ↑ | and | V ( S ) | + 1, respectively. Note that the latterbound is always larger than the former. In particular, for the example in Proposition 4.3we have | V ( S ) | = 2 n + 2 n − −
2, thus in that case Algorithm 2 executes roughly 50% moreiterations than Algorithm 1. However comparing the two algorithms by counting the numberof iterations may not be “fair”, as the computational effort varies from iteration to iteration:for instance, the computation of a lex-min solution (line 3 of Algorithm 1 and line 7 ofAlgorithm 2) requires up to n oracle calls, while the iterations of Algorithm 2 in which S ∗ is11mpty only require a single oracle call. Nonetheless the results on the number of iterations atleast indicate that, from the theoretical point of view, Algorithm 1 tends to be more efficientthan Algorithm 2. Given a set S , a Chv´atal–Gomory inequality for S is a linear inequality of the form gx ≥ ⌈ γ ⌉ for some g ∈ Z n and γ ∈ R such that the inequality gx ≥ γ is valid for S . We call gx ≥ ⌈ γ ⌉ a proper Chv´atal–Gomory inequality if gx ≥ ⌈ γ ⌉ is violated by at least one point in S . Proposition 5.1.
Given S ∈ S , every proper Chv´atal–Gomory inequality for S is a lex-cutfor some lattice basis { c , . . . , c n } of Z n .Proof. Let gx ≥ ⌈ γ ⌉ be a proper Chv´atal–Gomory inequality for S . Without loss of generality,we assume that the entries of g are relatively prime integers. Let ¯ x be the lex-min solutionfound at the first iteration of Algorithm 1 with respect to some lattice basis { c , . . . , c n } , with c = g . Since gx ≥ ⌈ γ ⌉ is a proper Chv´atal–Gomory inequality for S , we have γ ≤ g ¯ x < ⌈ γ ⌉ .In particular, g ¯ x / ∈ Z . Then the corresponding lex-cut is (equivalent to) gx ≥ ⌈ g ¯ x ⌉ = ⌈ γ ⌉ .The converse of the above proposition is false; this will follow from a stronger result.A linear inequality is a split cut for S if there exist π ∈ Z n and π ∈ Z such that theinequality is valid for both { x ∈ S : πx ≤ π } and { x ∈ S : πx ≥ π + 1 } . It is known thatevery Chv´atal–Gomory inequality is a split cut but not vice versa.The next result shows that our family of cuts is not included in and does not include thefamily of split cuts. Combined with the previous proposition, this implies that our family ofcuts strictly contains the Chv´atal–Gomory inequalities. Proposition 5.2.
There exist a bounded polyhedron S and a split cut for S that cannot beobtained as (and is not implied by) a lex-cut for any choice of the lattice basis { c , . . . , c n } .Conversely, there exist a bounded polyhedron S and a lex-cut that is not a split cut for S .Proof. Let S ⊆ R be the triangle with vertices (0 , ,
0) and (1 / , − x ≥ S , as it is valid for bothsets { x ∈ S : x ≤ } and { x ∈ S : x ≥ } . Note that after the application of the cut,the continuous relaxation becomes the segment with endpoints (0 ,
0) and (1 , S .Assume that the cut x ≥ { c , c } and the corresponding bounds ℓ , ℓ ∈ Z . In the following, we will write c = ( c , c ) and c = ( c , c ).Recall that in Algorithm 1 a translation is applied such that ℓ i = 0 for every i . However,in this proof it is convenient to work without applying the translation. It is easy to see thatin this case the form of the lex-cut is still (3.2), but now the d ki are defined as follows: d ki := i = k (cid:6) c k ¯ x − ℓ k (cid:7) if i = k − , (cid:6) c k ¯ x − ℓ k (cid:7) Q k − j = i +1 ( c j ¯ x + 1 − ℓ j ) , if i ≤ k − . Since the point (1 / , −
1) is the only fractional vertex of S , we must have ¯ x = (1 / , − k = 1, i.e., c ¯ x / ∈ Z (see step 5 of the algorithm). Then12 ss s (0 ,
0) (1 , , −
1) (1 , − xx ∗ r c x = c ¯ xc x = ⌊ ℓ ⌋ Figure 1: Illustration of the first part of the proof of Proposition 5.2. The inequality x ≥ c x ≥ (cid:6) c ¯ x (cid:7) . Since this inequalitymust be equivalent to x ≥ c are relatively prime integers, we necessarilyhave c = (0 , c ¯ x = −
1, a contradiction to the assumption c ¯ x / ∈ Z .Suppose now k = 2, i.e., c ¯ x ∈ Z and c ¯ x / ∈ Z . Then the inequality given by the algorithmis d (cid:0) c x − c ¯ x (cid:1) + c x − (cid:6) c ¯ x (cid:7) ≥ . (5.1)We claim that c = 0. If this is not the case, then c = 0 and c = 0 (as { c , c } is abasis), and inequality (5.1) does not reduce to the desired cut x ≥
0, as the coefficient of x is d c + c = c = 0. Thus c = 0. This implies that either the point (0 , −
1) or the point(1 , −
1) satisfies the strict inequality c x > c ¯ x . We assume that this holds for ˆ x := (0 , − c ˆ x ≥ c ¯ x + 1, as c ¯ x ∈ Z and c , ˆ x ∈ Z . Furthermore,the slope of the line defined by the equation c x = c ¯ x is positive.If c ˆ x ≥ ℓ , then ˆ x satisfies inequality (5.1), as c ˆ x − c ¯ x ≥ c ˆ x − c ¯ x ≥ ℓ − c ¯ x ≥ − d .Since the point (1 ,
0) also satisfies (5.1) (as it is an integer point in S ), the middle point of ˆ x and (1 ,
0) satisfies (5.1). However, the middle point is (1 / , − / S . This showsthat in this case (5.1) is not equivalent to x ≥ c ˆ x < ℓ . Since c ¯ x ≥ ℓ , the line defined by the equation c x = ℓ intersects the line segments [ˆ x, ¯ x ] in a point distinct from ˆ x . Then, because (0 ,
0) satisfies theinequality c x ≥ ℓ (as it is in S ), the slope of the line defined by the equation c x = ℓ isnegative. Furthermore, since c , ˆ x ∈ Z , we have c ˆ x ≤ ⌊ ℓ ⌋ , and thus the line defined by theequation c x = ⌊ ℓ ⌋ intersects [ˆ x, ¯ x ] in some point x ∗ .Now consider the system c x = c ¯ x , c x = ⌊ ℓ ⌋ . Since the constraint matrix is unimodular(as { c , c } is a lattice basis of Z ) and the right-hand sides are integer, the unique solutionto this system is an integer point. However, the first equation defines a line with positiveslope containing ¯ x and the second equation defines a line with negative slope containing x ∗ .From this we see that the intersection of the two lines is a point satisfying 0 < x ≤ / S ⊆ R be the triangle with vertices (0 , / / ,
0) and (1 , c , c to be the vectors in the standard basis of R , and ℓ = ℓ = 0, then Algorithm1 yields the cut 2 x + x ≥
2. Note that every point in S other than (1 ,
0) is cut off by13his inequality. Thus, if the inequality 2 x + x ≥ S , then there exist π ∈ Z and π ∈ Z such that S is contained in the “strip” { x ∈ R : π ≤ πx ≤ π + 1 } .Since S contains a horizontal and a vertical segment of length 3 /
4, this is possible only if theEuclidean distance between the lines { x ∈ R : πx = π } and { x ∈ R : πx = π + 1 } is atleast √ . Therefore k π k ≤ (cid:16) √ (cid:17) = <
4. Since π is an integer vector, we deduce that π , π ∈ { , , − } . It can be verified that if | π | = | π | = 1 then S is not contained in thestrip. Therefore one entry of π is 0 and the other is 1 or −
1. It can be checked that the onlystrip of this type containing S is { x ∈ R : 0 ≤ x ≤ } . However, the inequality 2 x + x ≥ { x ∈ S : x ≤ } ∪ { x ∈ S : x ≥ } , as the point (0 , /
2) isin this set but violates the inequality.
An obvious variant of Algorithm 1 is the following: instead of being computed only onceat the beginning of the procedure, the lower bounds ℓ i can be updated at every iterationor whenever it seems convenient. It can be verified that the bounds of Observation 4.1 andProposition 4.3 also hold for this variant of the algorithm: the proofs are the same.In view of Observation 4.1 and Proposition 4.3, the cardinality of S ↑ truncated to thelex-min point in S ↑ ∩ S plays a crucial role in the performance of Algorithm 1. This numberis dependent on the choice of the lattice basis and its ordering. It is easy to see that differentchoices of the lattice basis (or different choices of the ordering of the elements of the samelattice basis) may result in a different number of iterations of the algorithm. However, thisis not always the case: for instance, in the example in Proposition 4.3 Algorithm 1 wouldproduce the same number of iterations regardless of the ordering of the standard basis.A natural question is whether the approach described in this paper can be generalized tothe mixed integer case, i.e., to problems of the form min { cx + dy : ( x, y ) ∈ S ∩ ( Z n × R p ) } ,where S ⊆ R n + p is a compact set. However, it does not seem that our algorithm can be easilyextended to deal with this case. The lex-cuts defined in a previous version of this manuscript were weaker. Giacomo Zambellisuggested to derive stronger lex-cuts via the characterization of the polyhedron Q (¯ x ). Section4 benefited from remarks due to Stefan Weltge. We thank both of them. We are also gratefulto Akshay Gupte for his constructive comments and his pointers to the existing literature. References [1] Andersen, K., Jensen, A.N.: Intersection cuts for mixed integer conic quadratic sets. In:International Conference on Integer Programming and Combinatorial Optimization, pp.37–48 (2013)[2] Armstrong, R., Charnes, A., Phillips, F.: Page cuts for integer interval linear program-ming. Discrete Applied Mathematics (1-2), 1–14 (1979)143] Balas, E., Ceria, S., Cornu´ejols, G.: A lift-and-project cutting plane algorithm for mixed0–1 programs. Mathematical programming (1-3), 295–324 (1993)[4] Bell, D.E.: A cutting plane algorithm for integer programs with an easy proof of con-vergence. Working paper 73-15, International Institute for Applied Systems Analysis,Laxenburg (1973)[5] Belotti, P., G´oez, J.C., P´olik, I., Ralphs, T.K., Terlaky, T.: On families of quadraticsurfaces having fixed intersections with two hyperplanes. Discrete Applied Mathematics (16-17), 2778–2793 (2013)[6] Belotti, P., G´oez, J.C., P´olik, I., Ralphs, T.K., Terlaky, T.: A complete characterizationof disjunctive conic cuts for mixed integer second order cone optimization. DiscreteOptimization , 3–31 (2017)[7] Belotti, P., Kirches, C., Leyffer, S., Linderoth, J., Luedtke, J., Mahajan, A.: Mixed-integer nonlinear optimization. Acta Numerica , 1–131 (2013)[8] Bowman, V.J., Nemhauser, G.L.: A finiteness proof for modified Dantzig cuts in integerprogramming. Naval Research Logistics Quarterly (3), 309–313 (1970)[9] Burer, S., Kılın¸c-Karzan, F.: How to convexify the intersection of a second order coneand a nonconvex quadratic. Mathematical Programming , 393–429 (2017)[10] Burer, S., Letchford, A.: Non-convex mixed-integer nonlinear programming: A survey.Surveys in Operations Research and Management Science , 97–106 (2012)[11] Ceria, S., Soares, J.: Convex programming for disjunctive convex optimization. Mathe-matical Programming (3), 595–614 (1999)[12] Dadush, D., Dey, S.S., Vielma, J.P.: On the Chv´atal–Gomory closure of a compactconvex set. Mathematical Programming , 327–348 (2014)[13] Frangioni, A., Gentile, C.: Perspective cuts for a class of convex 0–1 mixed integerprograms. Mathematical Programming (2), 225–236 (2006)[14] Gomory, R.: Outline of an algorithm for integer solutions to linear programs. Bull. Amer.Math. Soc. (5), 275–278 (1958)[15] Gomory, R.: An algorithm for integer solutions to linear programs. In: P.W. R.L. Graves(ed.) Recent Advances in Mathematical Programming. McGraw-Hill (1963)[16] Gupte, A.: Convex hulls of superincreasing knapsacks and lexicographic orderings. Dis-crete Applied Mathematics , 150–163 (2016)[17] He, Q., Lee, J.: Another pedagogy for pure-integer Gomory. RAIRO-Operations Re-search (1), 189–197 (2017)[18] Lee, J., Wiegele, A.: Another pedagogy for mixed-integer gomory. EURO Journal onComputational Optimization (4), 455–466 (2017)1519] Modaresi, S., Kılın¸c, M.R., Vielma, J.P.: Intersection cuts for nonlinear integer pro-gramming: Convexification techniques for structured sets. Mathematical Programming (1-2), 575–611 (2016)[20] Neto, J.: A simple finite cutting plane algorithm for integer programs. OperationsResearch Letters (6), 578–580 (2012)[21] Orlin, J.B.: A finitely converging cutting plane technique. Operations Research Letters (1), 1–3 (1985)[22] Schrijver, A.: Theory of Linear and Integer Programming. Wiley-Interscience Series inDiscrete Mathematics. John Wiley & Sons Ltd. (1986)[23] Stubbs, R.A., Mehrotra, S.: A branch-and-cut method for 0-1 mixed convex program-ming. Mathematical programming86