Primal Separation Algorithms Adam N. Letchford∗ & Andrea Lodi◦ ∗
Department of Management Science, Lancaster University, Lancaster LA1 4YW, England e-mail:
[email protected] ◦
DEIS, University of Bologna Viale Risorgimento 2, 40136 Bologna, Italy e-mail:
[email protected]
July 2001 Abstract In a recent paper, the authors argued for a re-examination of primal cutting plane algorithms, in which cutting planes are used to enable a feasible solution to the original problem to be improved. This led to the idea of primal separation algorithms, which are similar to standard separation algorithms but tailored to the primal context. In this paper we examine the complexity of primal separation for several well-known classes of inequalities for various important combinatorial optimization problems. It turns out that, in several important cases, the primal separation problem can be solved more easily than the standard one. This is a strong argument in favour of the primal approach. One of the most striking results is that there is an exact polynomialtime primal separation algorithm for a generalization of the so-called Chv´ atal comb inequalities for the TSP. No polynomial-time algorithm is known for the standard separation problem. Key Words: integer programming, cutting planes, separation, primal algorithms, Travelling Salesman Problem.
1
Introduction
In the early 1980s, several authors independently realised that Khachian’s ellipsoid algorithm for linear programming had important implications for combinatorial optimization and integer linear programming (see, e.g., Gr¨otschel, Lov´asz & Schrijver, 1988 for a summary and in-depth exploration of this idea). The basis idea is as follows. Suppose that a combinatorial optimization problem can be formulated as max{cT x : x ∈ S}, where c is the objective function vector and S ⊂ Z n is the set of feasible solutions to the problem. Let PI = conv(S) be the associated integer polyhedron. Under certain reasonable assumptions, the optimization problem can be solved in polynomial time if and only if the following separation problem can be solved in polynomial time:
1
The Separation Problem: Given some x∗ ∈ IRn , find an inequality which is valid for PI and violated by x∗ , or prove that none exists. Using this idea enabled Gr¨otschel et al. to obtain the first known polynomialtime algorithms for submodular function minimization and for finding a maximum weight stable set in perfect graphs. Of equal importance is the fact that, using a slightly modified version of the separation problem, it is possible to obtain (exponential, but still useful) solution procedures for N P-hard optimization problems too. For many N P-hard problems (such as the stable set, knapsack and travelling salesman problems), various classes of valid inequalities are known which give a partial description of the associated PI . One can define a separation problem for each class of inequalities: The Separation Problem for a Class F of Inequalities: Given a vector x∗ ∈ IRn , find a member of F which is violated by x∗ , or prove that none exists. It is not unusual to find that this modified separation problem is polynomial for some classes of inequalities and N P-hard for others. Exact and heuristic separation routines for specific classes of inequalities are at the core of modern cutting plane algorithms, and have led to the highly successful branch-and-cut approach to integer and combinatorial optimization (see Nemhauser & Wolsey, 1988; Padberg & Rinaldi, 1991; Caprara & Fischetti, 1997). In a recent paper (Letchford & Lodi, 2001a) we pointed out that all of the cutting plane algorithms in the modern literature are so-called dual fractional algorithms, in which the main purpose of the cutting planes is to improve an upper bound (for maximization problems) or a lower bound (for minimization problems). We argued that more attention should be given to primal cutting plane algorithms, in which the main purpose of the cutting planes is to improve a feasible integer solution, i.e., a lower bound (for maximization problems) or an upper bound (for minimization problems). As explained in that paper, the separation problem has to be modified in the primal context. Suppose that the best known feasible solution to the problem is denoted by x ¯. (From the way our primal cutting plane algorithm works it is known that x ¯ is an extreme point of PI .) When trying to separate x∗ from PI , it is desirable to add the extra condition that the violated inequality (if any) be tight (satisfied at equality) by x ¯. This led to the following two definitions: The Primal Separation Problem: Given some x∗ ∈ IRn , and some x ¯ which is an extreme point of PI , find an inequality which is valid for PI , violated by x∗ , and tight for x ¯, or prove that none exists. The Primal Separation Problem for a Class F of Inequalities: Given a vector x∗ ∈ IRn , and some x ¯ which is an extreme point of PI , find a member of F which is violated by x∗ , and tight for x ¯, or prove that none exists. 2
In the same paper (see also Padberg & Gr¨otschel, 1985) it was noted that the primal separation problem (either for a class of polyhedra or a class of inequalities) can be transformed into the standard (dual) separation problem in a simple way. The idea is that an inequality solves the primal separation problem if and only if the same inequality solves the standard separation problem for the point x ˜ := ǫx∗ + (1 − ǫ)¯ x, where ǫ is a small positive quantity whose encoding length is polynomial in the encoding length of the inequalities defining PI . Therefore, in terms of computational complexity, the primal version of a separation problem is no harder than the standard version. But, interestingly, the reverse does not hold in general and, as we show in the present paper, for some inequalities primal separation is provably easier than standard separation. One of the most striking results is that there is an exact polynomial-time primal separation algorithm for a generalization of the so-called Chv´ atal comb inequalities for the TSP. No polynomial-time algorithm is known for the standard separation problem. In our view these results provide strong evidence in favour of the primal approach. The remainder of the paper is structured as follows. Each of Sections 2 to 6 is concerned with a particular problem: Section 2 with general integer programs, Section 3 with the stable set problem, Section 4 with knapsack problems and Sections 5 and 6 with the symmetric and asymmetric travelling salesman problems, respectively. In each case, we examine the complexity of primal separation for PI itself, and also for various classes of inequalities. Finally, conclusions are given in Section 7. Although there are some negative results (such as N P-hardness of primal separation for Chv´ atal-Gomory cuts, {0, 12 }-cuts, clique and cover inequalities), for many inequalities it is shown that primal separation is easier than the standard version. This is true not only for the Chv´atal comb inequalities already mentioned, but also for odd cycle, subtour elimination, 2-matching and weak odd CAT inequalities. Throughout the paper we assume that the reader is familiar with basic concepts of complexity theory, such as the classes N P and co-N P, N P-completeness and N P-hardness (see Garey & Johnson, 1979). To finish this introduction, we want to briefly mention some other related results which have appeared in the recent literature. First, Schulz, Weismantel & Ziegler (1995) examined the following problem: The Augmentation Problem: Given a feasible integer solution x ¯, either find a feasible solution with higher objective value, or prove that x ¯ is optimal. This problem is relevant because a primal algorithm works by iteratively augmenting (i.e., improving) a feasible solution. Schulz et al. showed that, for 0-1 integer programs, augmentation and optimization are oracle-polynomial time equivalent. That is, each can be solved by calling an algorithm for the other a polynomial number of times. Second, Eisenbrand, Rinaldi & Ventura (2001) 3
recently showed that, again for 0-1 integer programs, augmentation and primal separation for PI are oracle-polynomial time equivalent. Given the abovementioned result of Gr¨otschel et al., this establishes the following remarkable fact: for 0-1 integer programs, optimization, separation, augmentation and primal separation are all equivalent. The main conclusion of relevance to the present paper is that, if a class of 0-1 integer programming problems is N Phard, primal separation is too. Finally, Eisenbrand et al. also explore the separation of the odd cut inequalities for a fairly general matching problem, the so-called 1-capacitated perfect b-matching problem. They show that the primal separation problem for these inequalities can be solved more quickly than the corresponding standard version. This is in accordance with our results.
2 2.1
General Integer Programs Primal separation for PI
Before examining specific combinatorial problems (such as the stable set problem), we begin in this section by examining integer programs in general. In this case, the polyhedron PI can be defined as: PI = conv{x ∈ Z n : Ax ≤ b},
(1)
where A ∈ Z m×n and b ∈ Z m . (Any non-negativity inequalities xi ≥ 0 are assumed to be included explicitly in the system Ax ≤ b, in the form −xi ≤ 0.) Since integer programming is strongly N P-hard, it follows from the results of Gr¨otschel et al. and Eisenbrand et al. that both standard and primal separation for PI are also strongly N P-hard. However, the proofs of these authors depend on the ellipsoid method and oracles. We now present some slightly stronger results, based on much more direct proofs. For this we need the definition of the following strongly N P-complete decision problem, taken from Garey & Johnson (1979): 3-PARTITION: Given positive integers q1 , . . . , qr such that Q := Pr ( i=1 qi )/3 is integer, isPthere a partition of {1, P . . . , r} into three P sets S1 , S2 , S3 such that i∈S1 qi = i∈S2 qi = i∈S3 qi = Q ?
n Theorem 1 For general integer programs, deciding whether a given x∗ ∈ IR+ lies in PI is strongly co-N P-complete.
Proof: By reduction from 3-PARTITION. For a given q1 , . . . , qr and Q, we define: r X 3r qj xij ≤ Q (i = 1, 2, 3), x1j + x2j + x3j = 1 (j = 1, . . . , r) : PI := conv x ∈ Z+ j=1
4
We also set x∗ij = 1/3 for i = 1, 2, 3 and j = 1, . . . , r. Now, if the answer to 3-PARTITION is ‘yes’, then x∗ ∈ PI . On the other hand, if the answer is ‘no’, then PI is empty and x∗ does not lie in PI . All that remains is to show that the problem mentioned is in co − N P . To see this, note that a given x∗ lies in a given PI if and only if it can be written as a convex combination of extreme points of PI (and, by Caratheodory’s theorem, a polynomial number of extreme points suffices). Strong N P-hardness of standard separation follows immediately as a corollary. Theorem 2 The following problem is strongly co-N P-complete: given a polyn and an extreme point x ¯ of PI , decide tope PI defined as above, a point x∗ ∈ IR+ ∗ whether x violates a valid inequality which is tight for x ¯. Proof: We modify the above reduction from 3-PARTITION by adding a dummy x variable, which for ease of notation we denote by x0 . For a given q1 , . . . , qr , we define: Pr 3r+1 PI := conv{x ∈ Z+ : (i = 1, 2, 3), j=1 qj xij + Qx0 ≤ Q x1j + x2j + x3j + x0 = 1 (j = 1, . . . , r + 1)}.
We set x∗ij = 1/3 for i = 1, 2, 3 and j = 1, . . . , r, but set x∗0 = 0. Finally, we set x ¯ij = 0 for i = 1, 2, 3 and j = 1, . . . , r, but set x ¯0 = 1. Note that x ¯ is an extreme point of PI . Now, if the answer to 3-PARTITION is ‘yes’, then x∗ ∈ PI and does not violate any inequality. On the other hand, if the answer is ‘no’, then PI is a single point, x ¯ itself, so x∗ must violate an inequality which is tight for x ¯. All that remains is to show that the problem mentioned is in co − N P . To see this, note that a given x∗ violates a valid inequality which is tight for a given x ¯ if and only if there is no ǫ > 0 such that the vector ǫx∗ + (1 − ǫ)¯ x can be written as a convex combination of extreme points of PI . Again, a polynomial number of extreme points suffices. Strong N P-hardness of primal separation follows immediately as a corollary. We will use exactly the same trick (that of adding a dummy variable) several other times in what follows.
2.2
Chv´ atal-Gomory cuts
Now we consider a well-known class of valid cutting planes for polyhedra of the m form given in (1). Given any multiplier vector λ ∈ IR+ such that λA ∈ Z n , the inequality (λA)x ≤ ⌊λb⌋ is valid for PI and is known as a Chv´ atal-Gomory cut — see for example Nemhauser & Wolsey (1988). Recently, Eisenbrand (1999) showed that standard separation of these cuts is strongly N P-hard. Unfortunately, the same holds for the primal version. Theorem 3 For Chv´ atal-Gomory cuts, the standard separation problem can be transformed into the primal separation problem. 5
Proof: We use the same trick as in the proof of Theorem 2. Let PI be defined as in (1) and let the vector x∗ be the input for the standard Chv´atal-Gomory separation problem. We define another polyhedron in n + 1 dimensions as follows. We addP a dummy variable xn+1 Pnand replace, for i = 1, . . . , m, the ith n inequality (say, j=1 aij xj ≤ bi ) with j=1 aij xj + bi xn+1 ≤ bi . Let PI′ be the convex hull of integer solutions in this higher space. Now note that an extreme point of PI′ is given by setting xi = 0 for i = 1, . . . , n and xn+1 = 1. We will call this extreme point the anchor. Note that any Chv´atal-Gomory cut for PI′ is tight for the anchor. Then, a Chv´atal-Gomory cut for PI is violated by x∗ if and only if a Chv´atal-Gomory cut for PI′ is violated by (x∗ , 0) and tight for the anchor. Corollary 1 Primal Chv´ atal-Gomory separation is strongly N P-hard.
2.3
{0, 12 }-cuts
An important sub-class of the Chv´atal-Gomory cuts were studied in Caprara & Fischetti (1996). These authors call a Chv´atal-Gomory cut a {0, 12 }-cut if λ ∈ {0, 21 }m . They showed that standard separation of these cuts is also strongly N P-hard. The same holds in the primal setting, as shown by the following two results: Theorem 4 For {0, 21 }-cuts, the standard separation problem can be transformed into the primal separation problem. Proof: Identical to the proof of Theorem 3. Corollary 2 Primal {0, 12 }-cut separation is strongly N P-hard. Caprara & Fischetti (1996) also described some special cases where {0, 21 }cuts can be separated in polynomial time. In particular, {0, 12 }-cut separation is polynomial if either of the following two conditions hold: • a) A has at most two odd entries per row. • b) Deleting the rows of A which contain only one odd entry results in a matrix with at most two odd entries per column. Condition (b) will prove to be very important in Subsection 5.4.
3 3.1
The Stable Set Problem Primal separation for PI
Let G be an undirected graph with vertex set V and edge set E. A set S ⊂ V is said to be stable if no two vertices in S are adjacent in G. Given such a graph, |V | along with a vector w ∈ IR+ of vertex weights, the well-known (and strongly N P-hard) maximum weight stable set problem is that of finding a stable set of 6
maximum weight (see Gr¨otschel et al., 1988, for a survey). The standard 0-1 integer programming formulation of this problem is (see Padberg, 1973): n o max wT x : x ∈ {0, 1}|V | : xi + xj ≤ 1 ∀{i, j} ∈ E .
Again, the results of Gr¨otschel et al. and Eisenbrand et al. imply that both standard and primal separation for PI are also strongly N P-hard. However, we will now present a more direct proof of the latter fact. Theorem 5 For stable set polytopes, the standard separation problem can be transformed into the primal separation problem. Proof: Once again we use the trick of adding a dummy variable. Suppose that PI is a stable set polytope of the form n o conv x ∈ {0, 1}|V | : xi + xj ≤ 1 ∀{i, j} ∈ E ,
and that the point x∗ is to be separated. We define another graph G′ by adding a dummy node u, which is adjacent to all of the other nodes. The associate polytope is: n o PI′ := conv x ∈ {0, 1}|V |+1 : xi + xj ≤ 1 ∀{i, j} ∈ E, xi + xu ≤ 1 ∀i ∈ V . (2) An extreme point of PI′ , which we again call the anchor, is given by setting xi = 0 for i ∈ V and xu = 1. Then an inequality αx ≤ γ is valid for PI and P violated by x∗ if and only if the inequality i∈V αi xi + γxu ≤ γ is valid for PI′ , violated by x∗ , and tight for the anchor. Corollary 3 Primal separation is strongly N P-hard for stable set polytopes.
3.2
Clique inequalities
An important class of facet-inducing inequalities for the stable set polytope are the so-called P clique inequalities of Padberg (1973). The clique inequalities are of the form i∈C xi ≤ 1, where C ⊆ V is a maximal clique in G. The associated (standard) separation problem is to find a clique in G whose x∗ -weight exceeds 1, or prove that none exists. By polarity, this is as difficult as the well-known maximum clique problem, and therefore strongly N P-hard (see, e.g, Nemhauser & Wolsey, pp. 163–164). If x ¯ represents a stable set, then the primal separation problem amounts to finding a clique in G whose x∗ -weight exceeds 1, under the additional restriction that this clique contains exactly one vertex i such that x ¯i = 1. We now show that, in terms of computational complexity, this extra restriction does not help: Theorem 6 For clique inequalities, the standard separation problem can be transformed into the primal separation problem.
7
Proof: Recall the definitions of the graph G′ , the polytope PI′ , and the anchor from Theorem 5. The point x∗ violates a clique inequality for PI if and only if the point (x∗ , 0) violates a clique inequality which is valid for PI and tight for the anchor. This is so because any maximal clique in G can be enlarged to a maximal clique in G′ by appending the dummy vertex u. Corollary 4 Primal clique separation is strongly N P-hard. It is worth noting however that the point x ¯ used as the anchor in the proof of Theorem 6 is ‘pathological’: there is only one vertex with x ¯i = 1 and this vertex has high degree. In practice, a stable set with high weight tends to contain many vertices (i.e., there will be many indices i ∈ V such that x ¯i = 1); moreover these vertices tend to have small degree. In such a situation, we can decompose primal clique separation into smaller independent sub-problems: for each vertex i with x ¯i = 1, look for a maximum weight clique on the subgraph of G induced by the vertices which are adjacent to i. Indeed, consider a random graph where every edge is present with probability p. It is known (Bollob´as & Erdos, 1976) that in such a graph, the maximum stable set is almost surely of size O(log |V |). Hence, if x ¯ represents a nearlyoptimal stable set, primal clique separation is likely to reduce to O(log |V |) smaller maximum clique problems on graphs with fewer than p|V | nodes.
3.3
Odd cycle inequalities
Another well-known class of valid inequalities for the stable set polytope are the P odd cycle inequalities, also due to Padberg (1973). These take the form i∈C xi ≤ (|C| − 1)/2, where C is a set of vertices inducing an odd cycle in G. The standard separation problem for odd cycle inequalities can be solved in polynomial time, see Gerards & Schrijver (1986), by solving |V | shortest path problems in an auxiliary graph. (In fact, this is a corollary of Caprara & Fischetti’s result mentioned in Subsection 2.3 — the odd cycles inequalities can be derived as {0, 12 }-cuts from the integer programming formulation given in Subsection 3.1, which has two odd entries per row.) It turns out that the corresponding primal separation problem is in some sense easier. For an odd cycle inequality to be tight for x ¯, exactly (|C|−1)/2 > 0 vertices in the cycle must have x ¯ value 1. Thus, we know that the odd cycle must include at least one vertex currently packed. Using P this fact, we can reduce the number of shortest path problems from |V | to i∈V x ¯i . If the graph is dense, and the current best stable set small, this will represent a considerable saving. Indeed, in the random graph model mentioned in Subsection 3.2, only O(log |V |) shortest path computations will be needed. This reduction in itself may not appear too impressive. However, it has important implications. Many valid and even facet-inducing inequalities for other combinatorial problems can also be separated by computing a minimum weight odd cycle in a suitably-defined graph (see, e.g., Caprara & Fischetti, 1996 or Bornd¨orfer & Weismantel, 2000). Using similar arguments to those
8
given here, it can be shown that primal separation can be solved more quickly than standard separation for many of these inequalities. We give a specific example in Subsection 6.2.
4 4.1
Knapsack Problems Primal separation for PI
A 0-1 knapsack polytope is a polytope of the form ) ( n X ai xi ≤ a0 , PI := conv x ∈ {0, 1}n :
(3)
i=1
see for example Nemhauser & Wolsey (1988). For such polytopes, standard separation is N P-hard in the ordinary sense. In fact, Schrijver (1988) showed that the problem of deciding whether a given x∗ is in PI is N P-complete (again in the ordinary sense). This was done by reduction from the PARTITION problem, which is analogous to the 3-PARTITION problem, except that the goal is to partition the numbers into two sets instead of three (see Garey & Johnson, 1979). The result of Eisenbrand et al. implies that primal separation for 0-1 knapsack polytopes is also N P-hard in the ordinary sense. However, using the by now familiar trick of adding a dummy variable, we can get the following stronger results: Theorem 7 For 0-1 knapsack polytopes, the standard separation problem can be transformed into the primal separation problem. Proof: Suppose that PI is a polyhedron of the form (3), and that the point x∗ is to be separated. By adding an extra variable, we define another 0-1 knapsack polytope as follows: ) ( n X (4) ai xi + a0 xn+1 ≤ a0 . PI′ := conv x ∈ {0, 1}n+1 : i=1
Just as in the proof of Theorem 5, we define the anchor by setting xi = 0 for i = 1, . . . , n and xn+1 = 1. Then, an inequality αx ≤ γ is valid for PI and Pn violated by x∗ if and only if the inequality i=1 αi xi + γxn+1 ≤ γ is valid for PI′ , violated by (x∗ , 0) and tight for the anchor. Theorem 8 The following problem is co-N P-complete in the ordinary sense: n Given a 0-1 knapsack polytope, a point x∗ ∈ IR+ and an extreme point x ¯ of PI , ∗ decide whether x violates a valid inequality which is tight for x ¯. Proof: The proof of this follows the same lines as the proof of Theorem 2: reduce the PARTITION problem to the complement of the problem mentioned, 9
then show that the problem is in co − N P . Exactly the same results can be shown for general integer knapsack polytopes, where the variables are general non-negative integers instead of zero-one. (Recall that the results of Eisenbrand et al. only hold for 0-1 problems.)
4.2
Cover inequalities
An important class of valid inequalities for the 0-1 knapsack polytope are the so-called cover inequalities (see, e.g., Balas, P 1975; Nemhauser & Wolsey, 1988). A cover is a set C ⊆ {1, . . . n} such that i∈C ai > a0 . Each cover C yields a P cover inequality of the form i∈C xi ≤ |C| − 1. As shown in Crowder, Johnson & Padberg (1983), the standard separation problem for cover inequalities can itself be formulated as a kind of knapsack problem, as follows. Define for i = 1, . . . , n the zero-one variable yi , which takes the value 1 if item i is to be placed into the cover, and 0 otherwise. Then the cover separation problem can be formulated as: ) ( n n X X ∗ n (5) min ai yi > a0 . (1 − xi )yi : y ∈ {0, 1} , i=1
i=1
It was proved by Ferreira (1994) that this problem Pisn N P-hard in the ordinary sense, even when x∗ is non-negative and satisfies i=1 ai x∗i ≤ a0 . It is instructive to note that the primal separation problem for cover inequalities can be formulated as a kind of ‘multiple-choice’ knapsack problem. If we define the index set N0 := {i ∈ {1, . . . , n} : x ¯i = 0}, then the primal cover separation problem can be formulated as: ( n ) n X X X ∗ n min ai yi > a0 , (1 − xi )yi : y ∈ {0, 1} , yi = 1 . i=1
i=1
(6)
i∈N0
We now show that, in terms of computational complexity, this extra restriction does not help: Theorem 9 For cover inequalities, the standard separation problem can be transformed into the primal separation problem. Proof: This follows similar lines to the proof of Theorem 7, but the polytope PI′ has to be a little different and the construction of the anchor has to be modified. We change the definition of PI′ to: PI′ := conv{x ∈ {0, 1}n+1 :
n X i=1
10
ai xi + M xn+1 ≤ a0 + M },
(7)
Pn where M is a large integer satisfying M ≥ i=1 ai ; and the modified anchor is defined by setting xi = 1 for i = 1, . . . , n and xi+1 = 0. Note that the modified anchor is still an extreme point of PI′ . Now, C ⊆ {1, . . . , n} is a cover for PI if and only if C ∪ {n + 1} is a cover for PI′ . Also, x∗ violates a cover inequality for PI if and only if the point (x∗ , 1) violates a cover inequality which is both valid for PI′ and tight for the modified anchor. Corollary 5 Primal cover separation is N P-hard in the ordinary sense. As for the clique inequalities (Subsection 3.2), we would like to point out that the vector x ¯ used as the anchor in the proof of Theorem 9 is ‘pathological’: all variables but one have x ¯i = 1, so that the index set N0 (defined above) only has one member. In practice, N0 is likely to be much larger. This is important because the primal cover separation problem (6) becomes easier when N0 is large (because only one of the variables yi with i ∈ N0 can be set to one).
4.3
Lifted cover inequalities
Cover inequalities can be lifted in various ways to become facet-inducing, see for example Balas (1975), Nemhauser & Wolsey (1988). Lifting means computing appropriate (non-negative) left hand side coefficients for the variables which are not in C. Lifted cover inequalities (LCIs) can be effective as cutting planes for general 0-1 integer programs, see Crowder et al. (1983), Nemhauser & Wolsey (1988) and Gu, Nemhauser & Savelsbergh (1998). (Each individual constraint in the integer program is treated as a knapsack constraint from which LCIs are derived.) One common strategy for (heuristically) separating LCIs is to solve the cover separation problem (5) exactly, to obtain a violated or near-violated cover inequality, and then to compute lifting coefficients sequentially for the remaining variables in a greedy way. However, as demonstrated by Gu et al. (1998), the ‘optimal’ cover inequality found in the first step does not always lead to the most violated LCI in the second step. Indeed, instead of solving the knapsack-type problem (5) exactly, they got much better results by simply inserting items into C in non-increasing order of x∗i value until a cover was obtained. We have found that a similar phenomenon holds for the primal separation of LCIs. Instead of solving the primal cover separation problem (6) exactly and then lifting afterwards, we found that the following routine works better. • Find the index i ∈ N0 with highest x∗ value and put it into C. • Put indices i which are not in N0 into C in non-increasing order of x∗i value until a cover is obtained. • Compute lifting coefficients sequentially in a greedy way for all i ∈ N0 \ C such that x∗i > 0. If the resulting LCI is not violated, stop. (Further lifting will not help.)
11
• Compute lifting coefficients sequentially in any order for all i ∈ N0 \ C such that x∗i = 0 to obtain the final LCI. Note that there is no point lifting variables in N \{C ∪N0 }, since these variables must get a lifting coefficient of zero. (If they received a positive lifting coefficient, the resulting LCI would cut off x ¯, which is impossible.) Computational results using this primal LCI separation routine are given in Letchford & Lodi (2001a).
5 5.1
The Symmetric Travelling Salesman Problem Primal separation for PI
In this section we examine primal separation for the well-known Symmetric Travelling Salesman Problem (STSP). The standard 0-1 programming formulation for the STSP is as follows (see, e.g., Padberg & Gr¨otschel, 1985): P Minimise e∈E ce xe Subject to: x(δ(i)) = 2 x(δ(S)) ≥ 2
∀i ∈ V, ∀S ⊂ V : 2 ≤ |S| < |V |,
x ∈ {0, 1}|E| ,
(8) (9) (10)
where V is the vertex set, E is the edge set, c is the cost vector and δ(S) denotes the set of edges with exactly one end-vertex in S. The associated PI is called the Symmetric Travelling Salesman Polytope. The equations (8), known as degree equations, describe the affine hull of this polytope. The inequalities (9), known as subtour elimination constraints (SECs), are facet-defining. It is well-known that, using the degree equations, the SECs can be written in the alternative form x(E(S)) ≤ |S| − 1 ∀S ⊂ V : 2 ≤ |S| < |V |,
(11)
where E(S) denotes the set of edges with both end-vertices in S. This will be useful in Subsection 5.4. Since the STSP is strongly N P-hard, we know from the previously mentioned results that both standard separation and primal separation are strongly N P-hard too. However, a stronger result is known for standard separation: testing if a given x∗ lies in a given STS polytope is strongly N P-complete, see Papadimitriou & Yannakakis (1984). Given the results of previous sections, it might be expected that standard separation for STS polytopes can be transformed into primal separation. However, the STSP is rather different from the stable set and knapsack problems: one cannot add a ‘dummy variable’ to an STSP instance and obtain another STSP instance. So there is no obvious way to transform standard separation to primal separation. 12
Indeed, consider the decision version of primal separation for the STSP: |E| Given an STS polytope on n nodes, a point x∗ ∈ IR+ , and an x ¯ which represents a tour, decide whether x∗ violates a valid inequality which is tight for x ¯. This problem can be shown to be in co-N P, and from the above-mentioned results we know that it is strongly N P-hard. However, it is not clear whether it is actually complete for co-N P.
5.2
Subtour elimination constraints
It is well-known (see, e.g., Padberg & Gr¨otschel, 1985) that the separation problem for the SECs (9) can be solved in polynomial time. Given some x∗ ∈ [0, 1]|E| to be separated, we define E ∗ := {e ∈ E : x∗e > 0} and the support graph G∗ = (V, E ∗ ). The SEC separation problem calls for a set S ⊂ V which minimizes x∗ (δ(S)), which amounts to finding a minimum weight cut in G∗ . The current best (deterministic) minimum cut algorithm is that of Nagomochi, Ono & Ibaraki (1994), which runs in O(|V ||E ∗ | + |V |2 log |V |) time. Now let x ¯ be the incidence vector of a tour. The primal SEC separation problem calls for a set S ⊂ V which: • a) minimizes x∗ (δ(S)), • b) satisfies x ¯(δ(S)) = 2. The interesting thing is that, although there are an exponential number of SECs, the number of them which satisfy condition (b) is polynomial. (To be precise, the number of distinct SECs satisfying the condition is |V |(|V | − 3)/2.) This suggests that primal separation should be easier than the standard version. This is indeed true: Padberg & Hong (1980) devised an O(|V ||E ∗ |) time algorithm for the primal version and, with a little more work, a O(|E ∗ | log |V |) algorithm can be devised. The O(|E ∗ | log |V |) algorithm is based on a ‘divide-and-conquer’ argument. Assume for simplicity that the vertices in the tour x ¯ are numbered in the order 1, . . . , |V |. For i = 1, . . . , |V | − 1 and j = i + 1, . . . , |V |, let S(i, j) := {i, i + 1, . . . , j}. For a given i, suppose S(i, qi ) is the vertex set whose SEC has smallest slack among all sets S(i, j). Using a simple ‘uncrossing’ type argument, it can be shown that the sets S(i, qi ) form a ‘nested’ (or laminar) family. Thus, we can find S(1, q1 ), which takes O(|E ∗ |) time, and then divide the problem into two subproblems: one in which vertices {1, . . . , q1 } are shrunk into a single vertex, and the other in which the vertices {q1 + 1, . . . , |V |} are shrunk into a single vertex. Repeating this idea, and choosing the order of computations appropriately, one can ensure that no edge is examined more than O(log |V |) times. We have since found out that this idea was discovered independently by Applegate, Bixby, Chv´atal & Cook a number of years ago. (Indeed, there is a brief reference to it on page 650 of Applegate et. al, 1998, and the idea is used in their ‘Concorde’ code, in the file ‘segments.c’.) The interesting thing is that
13
Applegate et al. did not have primal separation in mind. Rather, they ran this algorithm, using the best tour x ¯, as a fast heuristic for standard separation.
5.3
2-matching inequalities
Another well-known class of facet-inducing inequalities for the STSP are the so-called 2-matching inequalities (again, see Padberg & Gr¨otschel, 1985). Using the degree equations (8), these can be written in various forms, one of which is: X x(δ(H) \ F ) + (1 − xe ) ≥ 1. (12) e∈F
where H, the so-called handle, satisfies ∅ 6= H ⊂ V , and F is a set of edges (the so-called teeth) satisfying: • F ⊂ δ(H), • |F | odd. Padberg & Rao (1982) showed that the standard 2-matching separation problem can be solved in polynomial time. (Again, this is a corollary of Caprara & Fischetti’s result mentioned in Subsection 2.3 — the 2-matching inequalities can be derived as {0, 12 }-cuts from the degree equations (8) and the bounds implicit in (10), and the system of degree equations has two odd entries per column.) The Padberg-Rao algorithm involves computing a minimum weight odd cut in a certain graph. (This graph has O(|E ∗ |) vertices and O(|E ∗ |) edges, and its nodes are labelled odd or even.) They then showed that such an odd cut can be found in polynomial time by solving a series of O(|E ∗ |) maximum flow problems in that graph. It is important to note, however, that these maximum flow computations are not ‘independent’ of each other, in the sense that the result of each maximum flow computation influences the choice of source and sink nodes in the subsequent one. Now let us consider the primal version of 2-matching separation. In order for (12) to be tight for a given tour x ¯, one of two conditions must hold. Either • a) x ¯e = 1 for all e ∈ F and x ¯(δ(H) \ F ) = 1, or • b) x ¯(F ) = |F | − 1 and x ¯e = 0 for all e ∈ δ(H) \ F . Given this fact, it is not difficult to see that the primal 2-matching separation problem can be solved by the following algorithm: • Set w = 1. • For i = 0, 1, let E i := {e ∈ E ∗ : x ¯e = i}. • Create a copy of G∗ and assign a weight of x∗e to each edge in E 0 and a weight of 1 − x∗e to each edge in E 1 . 14
• For each e = {u, v} ∈ E 0 , do the following: – Change the weight of e from x∗e to 1 − x∗e . – Compute a maximum flow from u to v. Let w(e) be the value of the maximum flow and let H(u) be the shore of the minimum {u, v}−cut which contains e. – If w(e) < w, set H := H(u), w := w(e) and F := {e}∪(δ(H(u))∩E 1 ). – Change the weight of e from 1 − x∗e back to x∗e . • For each e = {u, v} ∈ E 1 , do the following: – Change the weight of e from 1 − x∗e to x∗e . – Compute a maximum flow from u to v. Let w(e) be the value of the maximum flow and let H(u) be the shore of the minimum {u, v}−cut which contains e. – If w(e) < w, set H := H(u), w := w(e) and F := (δ(H(u))∩E 1 )\{e}. – Change the weight of e from x∗e back to 1 − x∗e . • If w < 1, then H and F give a 2-matching inequality which is violated by the largest amount. This is faster than the algorithm for standard separation because all maximum flow computations are carried out directly on G∗ . Moreover, it is simpler, because: • Each maximum flow computation can be carried out independently, • There is no need to label nodes odd or even.
5.4
Chv´ atal comb inequalities
The 2-matching inequalities are a special case of the well-known (and facetinducing) comb inequalities for the STSP (see again Padberg & Gr¨otschel, 1985). Again, these can be written in various ways. For our purposes, it will be useful to write them in the classical form: x(E(H)) +
p X
x(E(Tj )) ≤ |H| +
j=1
p X
|Tj | − (3p + 1)/2.
j=1
Here, H and Tj for j = 1, . . . , p must satisfy: • ∅= 6 H ⊂V, • Tj ⊂ V , Tj ∩ H 6= ∅ and Tj \ H 6= ∅ for j = 1, . . . , p, • Ti ∩ Tj = ∅ for 1 ≤ i < j ≤ p.
15
(13)
The set H is again called the handle of the comb, and the Tj are called teeth. When |Tj ∩ H| = |Tj \ H| = 1 for all j, the comb inequalities reduce to the 2-matching inequalities. When we require |Tj ∩ H| = 1 but do not require |Tj \ H| = 1, we obtain a class of inequalities which are intermediate between the 2-matching and comb inequalities. These were discovered by Chv´atal (1973) and are consequently sometimes called Chv´ atal comb inequalities. The complexity of standard separation for the Chv´atal combs, as well as the combs themselves, is unknown at the time of writing. (However, there is a generalization of comb inequalities which can be separated in polynomial time when G∗ is planar, see Letchford, 2000). Our main result in this section is that there is a polynomial-time primal separation algorithm for a class of valid inequalities which contains all Chv´atal comb inequalities. Crucial to this result is the fact that the Chv´atal comb inequalities can be derived as {0, 12 }-cuts in a particular way, as described in the following two lemmas: Lemma 1 For any S ⊂ V such that 1 ≤ |S| ≤ |V | − 2, and any i ∈ V \ S, the following inequality is valid for the STS polytope: 2x(E(S)) + x(E(i : S)) ≤ 2|S| − 1,
(14)
where E(i : S) denote the set of edges with i as one end-node and the other end-node in S. Proof: The inequality is the sum of the SEC on S (in the form (11)) and the SEC on S ∪ {j} (again, in the form (11)). We will call the inequalities (14) tooth inequalities. Lemma 2 Chv´ atal comb inequalities can be derived as {0, 21 }-cuts from the degree equations (8), the tooth inequalities (14), and the non-negativity inequalities implicit in (10). Proof: First, note that the degree equations (8) for all i ∈ H imply: 2x(E(H)) + x(δ(H)) ≤ 2|H|.
(15)
Now, for j = 1, . . . , p, associate a tooth inequality of the form (14) with each tooth, by setting {i} = Tj ∩ H and S := Tj \ H. Add these tooth inequalities to (15) to obtain: 2x(E(H)) + x(δ(H)) +
p X
(2x(E(Tj \ H)) + x(E(Tj ∩ H : Tj \ H)))
j=1
≤ 2|H| + 2
p X j=1
16
|Tj | − 3p.
(16)
Add toS(16) the non-negativity inequality (in the form −xe ≤ 0) for each e in p δ(H) \ j=1 E(Tj ∩ H : Tj \ H) to obtain: 2x(E(H)) + 2
p X
x(E(Tj )) ≤ 2|H| + 2
j=1
p X
|Tj | − 3.
(17)
j=1
Divide (17) by two and round-down the right hand side to obtain (13). For simplicity of notation, and without loss of generality, we suppose from now on that the vertices have been re-numbered so that the tour represented by x ¯ passes through the vertices 1, . . . , |V | in cyclic order. We also take indices modulo |V |. We will need the following definition: Definition: A tooth inequality of the form (14) is tight if it is satisfied at equality by x ¯. Lemma 3 A tooth inequality of the form (14) is tight if and only if one of the following two conditions holds: • (i) S = {i + 1, . . . , j} for some j ∈ {i + 1, . . . , i + |V | − 2}. • (ii) S = {j, . . . , i − 1} for some j ∈ {i + 2, . . . , i + |V | − 1}. Proof: From the derivation of the tooth inequality, it is necessary and sufficient that x ¯(E(S)) = |S| − 1 and x ¯(E(S ∪ {i})) = |S|. This implies that the nodes in S are consecutive in the tour and that node i is either immediately before or after S in the tour. We will say that a tooth meeting condition (i) is of clockwise type and a tooth meeting condition (ii) is of anticlockwise type. We will also say that a tooth is tight if its associated tooth inequality is tight. The next step is to classify the possible ways in which a Chv´atal comb inequality can be tight for a given tour vector x ¯. Lemma 4 If a Chv´ atal comb inequality of the form (13) is tight for a given x ¯, then exactly one of the following two conditions holds: Sp • (i) There is exactly one edge e in δ(H) \ j=1 E(Tj ∩ H : Tj \ H) for which x ¯e = 1, and all of the teeth are tight. Sp • (ii) Every edge e in δ(H)\ j=1 E(Tj ∩H : Tj \H) has x ¯e = 0, and exactly one tooth is not tight. The slack of the tooth inequality for the non-tight tooth is equal to 1. ¯ if and only if every inequality used in Proof: A {0, 21 }-cut is tight for a given x its derivation has a slack of zero, apart from one inequality, which has a slack
17
of one. See Caprara & Fischetti (1996). Next, we define a number of auxiliary integer variables which will prove useful in what follows. Definition: For i = 1, . . . , |V | and for j = 1, . . . , |V |, define the integer variable Pj sij := k=i+1 xik .
Lemma 5 The following system of equations and inequalities is satisfied by all tours (again, indices taken modulo |V |): si,i+1 − xi,i+1 = 0 sij − si,j−1 − xij = 0
(i = 1, . . . , |V |),
(18)
(i = 1, . . . , |V |; j = i + 2, . . . , i + |V | − 1), (19) (i = 1, . . . , |V |)
(20)
(i = 1, . . . , |V |; j = i + 1, . . . , i + |V | − 2),
(21)
si,i+|V |−1 = 2 sij + 2x(E({i + 1, . . . , j})) ≤ 2(j − i) − 1
−si,j−1 + 2x(E({j, . . . , i − i})) ≤ 2(i − j) − 3 (i = 1, . . . , |V |; j = i − |V | + 1, . . . , i − 1), xe ≥ 0
(e ∈ E).
(22) (23)
Proof: Equations (18) and (19) simply define the s variables recursively. The equations (20) are equivalent to the degree equations. (The original degree equations (8) can be obtained by aggregating (18) - (20).) The inequalities (21) are equivalent to the tooth inequalities of clockwise type. (The original tooth inequalities of clockwise type can be obtained by aggregating (18), (19) and (21).) Similarly, the inequalities (22) are equivalent to the tooth inequalities of anticlockwise type. We are finally ready to prove the main theorem of this section: Theorem 10 There is a polynomial-time algorithm which solves the primal separation problem for a class of valid inequalities which contains all Chv´ atal comb inequalities. Proof: First we prove the theorem for case (i) in Lemma 4. Note that the inequalities (20) - (23) have only one odd left hand side coefficient each, and the system of inequalities (18) - (19) has only two odd left hand side coefficients per column. Therefore the system of inequalities meets condition (b) of Caprara & Fischetti (1996) as described in Subsection 2.3, so we can separate in polynomial time all {0, 12 }-cuts which can be derived from (18) - (23). (It is first necessary to compute the values of s∗ij from the vector x∗ .) This set of {0, 12 }-cuts includes all Chv´atal comb inequalities which are tight for x ¯. 18
To prove the theorem for case (ii), we first need to enumerate all teeth for which the corresponding tooth inequality has a slack of one at x ¯. It can be checked that there are O(n3 ) of them. For each such tooth Tj , we shrink the part of the tooth which is a candidate for Tj \ H into a single vertex, thus converting the tooth into a single edge. (The vectors x ¯ and x∗ , and the graph G∗ , must be shrunk accordingly.) From that point on the proof is similar to case (i). This separation algorithm is not practically useable — it can be shown to require the solution of O(|V |5 ) maximum flow problems in graphs with O(|V |2 ) vertices and O(|V |2 ) edges, giving a total running time of around O(|V |9 ) using current max-flow techniques. It may be that this running time can be improved, but in our view this is not really the point. The main conclusion to be drawn is that, either there is a polynomial-time standard (non-primal) separation algorithm for the same class of inequalities, or, if not, then there are classes of inequalities for which primal separation is polynomially solvable but standard separation is not. Either situation would be very interesting.
6 6.1
The Asymmetric TSP Results borrowed from the symmetric version
All of the results in the previous section also apply (with slight modifications) to the asymmetric version of the TSP, the ATSP. The standard 0-1 programming formulation for the ATSP is as follows (see, e.g., Fischetti & Toth, 1997): P Minimise a∈A ca xa Subject to: x(δ + (i)) = 1 ∀i ∈ V, (24) x(δ − (i)) = 1 ∀i ∈ V, x(δ + (S)) ≥ 1 ∀S ⊂ V : 2 ≤ |S| < |V |,
(25) (26)
x ∈ {0, 1}|A| ,
(27)
where V is the vertex set, A is the arc set, c is the cost vector and δ + (S) (respectively, δ − (S)) denotes the set of arcs going from S to V \ S (respectively, from V \ S to S). The associated PI is called the Asymmetric Travelling Salesman Polytope. The equations (24) and (25), known as out-degree and in-degree equations, respectively, describe the affine hull of this polytope. The inequalities (26), which are the directed equivalent of the SECs, are facet-defining. It is well-known that, using the in-degree and out-degree equations, the SECs can be written in the alternative form x(A(S)) ≤ |S| − 1 ∀S ⊂ V : 2 ≤ |S| < |V |,
(28)
where A(S) denotes the set of arcs with both end-vertices in S. This will be useful in Subsection 6.2. 19
All of the primal separation algorithms given in the previous section (namely, those for SECs, 2-matching and Chv´atal comb inequalities) can be used for the ATSP also with minor modification. Of more interest are intrinsically asymmetric inequalities, such as the weak odd CAT inequalities examined in the next subsection.
6.2
Weak odd CAT inequalities
The weak odd CAT inequalities for the ATSP (Balas, 1989) are most easily defined in terms of conflicts between pairs of arcs as follows. Two arcs are said to be in conflict if they cannot both appear in a tour at the same time. Obviously, arcs (i, j) and (p, q) are in conflict if and only if exactly one of the following conditions holds: • i = p and j 6= q • i 6= p and j = q • i = q and j = p. A Closed Alternating Trail (CAT) is a sequence a1 , . . . , ak of arcs such that ai is in conflict with ai+1 for i = 1, . . . , k − 1, and such that a1 and ak are also in conflict. If k is odd, then at most ⌊k/2⌋ of the associated variables can take the value 1 and this yields the associated weak odd CAT inequality. Weak odd CAT inequalities can be derived as {0, 21 }-cuts from inequalities of the form xij + xpq ≤ 1, where (i, j) and (p, q) are in conflict. They can be lifted to induce facets of the ATS polytope by using, instead, the in-degree and outdegree equations, together with the SECs on 2 nodes, in the {0, 12 } derivation. The relation between these inequalities and odd cycle inequalities is as follows. We define a graph, a so-called ‘conflict graph’, with a vertex for each arc in the ATSP instance, and an edge connecting two vertices if and only if the corresponding arcs are in conflict. Then any ATSP tour corresponds to a stable set in the conflict graph. Thus, weak odd CAT inequalities correspond to odd cycle inequalities for the stable set polytope associated with the conflict graph. As noted by Caprara & Fischetti (1996), the standard separation problem for weak odd CAT inequalities can be solved by assigning weights to the edges of the conflict graph and computing a minimum weight odd cycle. A careful reading of the paper and some elementary analysis shows that this graph has O(|A∗ |) vertices and O(|V ||A∗ |) edges, where A∗ := {a ∈ A : x∗a > 0}. Computing the minimum weight odd cycle in the standard way involves solving a sequence of |A∗ | shortest path problems, which, if we use a good implementation of Dijkstra’s algorithm, leads to an O(|V ||A∗ |2 ) time algorithm for the separation problem, which is O(|V |5 ) in the worst case. Now, from the argument given in the subsection on odd cycle inequalities, to solve the primal weak odd CAT separation problem it suffices to solve only |V | shortest path problems. This is because there are only |V | variables of value 1 in any ATSP tour. Thus, the primal weak odd CAT separation problem can be solved in O(|V |2 |A∗ |) time, which is only O(|V |4 ) in the worst case. 20
Weak odd CAT inequalities (and their lifted versions) were found to be very useful as cutting planes by Fischetti & Toth (1997).
7
Conclusion
As mentioned in the introduction, it is known that primal separation is never more difficult than standard separation. We have shown that, in some cases, primal separation is also no easier. However, in several important cases we have shown that primal separation is indeed easier. This is particularly true for the Chv´atal comb inequalities, for which we have shown the existence of a polynomial-time primal separation algorithm even though no such algorithm is known for the corresponding standard separation problem. In a follow-up paper, Letchford & Lodi (2001b), we will use the results of this paper, together with some new primal branching rules, to design primal branch-and-cut algorithms for mixed 0-1 integer programs and for the STSP. We will also give the results of some computational experiments.
References [1] D. Applegate, R.E. Bixby, V. Chv´atal & W. Cook (1998) On the solution of traveling salesman problems. Documenta Mathematica, Extra Volume ICM III, pp. 645–656. [2] E. Balas (1975) Facets of the knapsack polytope. Math. Program. 8, 146– 164. [3] E. Balas (1989) The asymmetric assignment problem and some new facets of the traveling salesman polytope. SIAM J. Discr. Math. 2, 425–451. [4] B. Bollob´as and P. Erdos (1976) Cliques in random graphs. Proc. Camb. Phil. Soc. 80, 419–427. [5] R. Bornd¨orfer & R. Weismantel (2000) Set packing relaxations of integer programs. Math. Program. 88, 425–450. [6] A. Caprara & M. Fischetti (1996) {0, 1/2}-Chv´atal-Gomory cuts. Math. Program. 74, 221–235. [7] A. Caprara & M. Fischetti (1997) Branch-and-Cut Algorithms. In M. Dell’Amico, F. Maffioli & S. Martello (eds.) Annotated Bibliographies in Combinatorial Optimization, pp. 45–64. New York, Wiley. [8] V. Chv´atal (1973) Edmonds polytopes and weakly Hamiltonian graphs. Math. Program. 5, 29–40. [9] H. Crowder, E.L. Johnson & M.W. Padberg (1983) Solving large-scale zeroone linear programming problems. Oper. Res. 31, 803–834.
21
[10] F. Eisenbrand (1999) On the membership problem for the elementary closure of a polyhedron. Combinatorica 19, 297–300. [11] F. Eisenbrand, G. Rinaldi & P. Ventura (2001) 0/1 primal separation and 0/1 optimization are equivalent. Working paper, IASI, Rome. [12] C.E. Ferreira (1994) On Combinatorial Optimization Problems Arising in Computer Systems Design. PhD Thesis, Technische Universit¨at Berlin. [13] R.T. Firla, B. Spille & R. Weismantel (1999) A primal analogue of cutting plane algorithms. Working paper, Institute of Mathematical Optimization, University of Magdeburg. [14] M. Fischetti & P. Toth (1997) A polyhedral approach to the asymmetric traveling salesman problem. Mgt. Sci. 43, 1520–1536. [15] M.R. Garey & D.S. Johnson (1979) Computers and Intractibility: A Guide to the Theory of N P-completeness. San Francisco: Freeman. [16] A.M.H. Gerards & A. Schrijver (1986) Matrices with the Edmonds-Johnson property. Combinatorica 6, 365–379. [17] M. Gr¨otschel, L. Lov´asz & A.J. Schrijver (1988) Geometric Algorithms and Combinatorial Optimization. Wiley: New York. [18] Z. Gu, G.L. Nemhauser & M.W.P. Savelsbergh (1998) Lifted cover inequalities for 0-1 integer programs: computation. INFORMS Journal on Computing 10, 427-437. [19] A.N. Letchford (2000) Separating a superclass of comb inequalities in planar graphs. Math. Oper. Res. 25, 443–454. [20] A.N. Letchford & A. Lodi (2001a) Primal cutting plane algorithms revisited. Submitted to Math. Methods of Oper. Res., available on web from http://www.lancs.ac.uk/staff/letchfoa/pubs.htm [21] A.N. Letchford & A. Lodi (2001b) An augment-and-branch-and-cut algorithm for mixed 0-1 programs. In preparation. [22] H. Nagamochi, T. Ono & T. Ibaraki (1994) Implementing an efficient minimum capacity cut algorithm. Math. Program., 67, 325–341. [23] G.L. Nemhauser & L.A. Wolsey (1988) Integer and Combinatorial Optimization. New York: Wiley. [24] M.W. Padberg (1973) On the facial structure of set packing polyhedra. Math. Program. 5, 199–215. [25] M.W. Padberg & M. Gr¨otschel (1985) Polyhedral computations. In E. Lawler, J. Lenstra, A. Rinnooy Kan, D. Shmoys (eds.). The Traveling Salesman Problem, John Wiley & Sons, Chichester, 307–360. 22
[26] M.W. Padberg & S. Hong (1980) On the symmetric travelling salesman problem: a computational study. Math. Program. Study 12, 78–107. [27] M.W. Padberg & M.R. Rao (1982) Odd minimum cut-sets and b-matchings. Math. Oper. Res. 7, 67–80. [28] M.W. Padberg & G. Rinaldi (1991) A branch-and-cut algorithm for the resolution of large-scale symmetric travelling salesman problems. SIAM Rev. 33, 60–100. [29] C.H. Papadimitriou & M. Yannakakis (1984) The complexity of facets (and some facets of complexity). J. of Computer and Systems Sci. 28, 244–259. [30] A. Schrijver (1986) Theory of Linear and Integer Programming. New York: Wiley. [31] A. Schulz, R. Weismantel & G. Ziegler (1995) 0-1 integer programming: optimization and augmentation are equivalent. In: Lecture Notes in Computer Science, vol. 979. Springer.
23