On minimum-weight subgraphs with unicyclic ... - Makhlouf Hadji

Aug 30, 2010 - Hence the problem is solved by a cutting-plane algorithm based on ... This problem has some applications in telecommunications. We want to build a ...... European Journal of Operations Research 105 (1998), 552-568.
298KB taille 3 téléchargements 211 vues
On minimum-weight subgraphs with unicyclic components and a lower-bounded girth Walid Ben-Ameur ∗, Makhlouf Hadji †, Adam Ouorou ‡ August 30, 2010

Abstract This paper focuses on the problem of computing a minimum-weight subgraph with unicyclic connected components. While this problem is generally easy, it becomes difficult when a girth constraint is added. A polyhedral study is proposed. Many facets and valid inequalities are derived. Some of them can be exactly separated in polynomial time. Hence the problem is solved by a cutting-plane algorithm based on these inequalities and using a compact formulation derived from the transversality of the bicircular matroid. Numerical results are also presented. Keywords: Combinatorial Optimization, Network Design, Polyhedral Study, CuttingPlane Algorithm, Unicyclic Graphs, Matroids. ∗ Institut

TELECOM, Telecom SudParis, CNRS UMR 5157, 9 rue Charles Fourier, 91011 Evry, France.

Email: [email protected] † Institut

TELECOM, Telecom SudParis, 9 rue Charles Fourier, 91011 Evry, France.

Email:

[email protected] ‡ France

Telecom, Orange Labs R&D, CORE/TPN, 38-40 rue du Général Leclerc, 92794 Issy Les-

Moulineaux Cedex 9, France. Email: [email protected]

1

1

Introduction

Given an edge-weighted undirected graph G = (V, E), we aim to compute a minimumweight subgraph G0 = (V, E 0 ) (E 0 ⊆ E) with unicyclic connected components. Moreover, the number of edges of each cycle of G0 should not be less than p + 1. Said another way, the girth of G0 will be at least p + 1. Figure 1 shows a graph whose connected components are unicyclic and whose girth is equal to 4.

Figure 1: A graph whose connected components are unicyclic This problem has some applications in telecommunications. We want to build a minimumcost network with a certain level of survivability provided by cycles (rings in telecommunications literature). The traffic demands between nodes on the same cycle are fully protected against failures while the other demands can be disrupted. Since short cycles do not offer a high level of survivability, a lower bound of the girth is imposed. This unicyclic connected components topology provides a good compromise between survivability and cost among different backhaul architectures in telecommunications. In such a topology, some high priority nodes are chosen to aggregate the traffic from remote nodes and form some protected ring subnetworks. For the nodes not belonging to rings, traffic is protected once it reaches the ring. Some other technical constraints can also be considered (size of connected components, 2

number of connected components, degree constraints, capacity constraints, etc.). However, in this paper we only focus on the girth constraint in addition to the unicyclicity requirement of the connected components. Work related to network survivability can be found in, for example, [2, 4, 9, 10, 14]. Problems related to cycle location in telecommunications (and transportation) networks are reviewed in [16].

This new problem has many connections to old problems. For example, if p = |V | − 1, then we get the traveling salesman problem. This clearly implies that our problem is NPhard when p is part of the input [6]. If no girth constraint is imposed (p = 2), the problem becomes easy. In fact, it is already known that the set of edge subsets inducing a subgraph where each connected component contains at most one cycle is a matroid. This matroid is generally called the bicircular matroid (see, e.g., [17]). Hence a simple greedy algorithm can be applied to compute a minimum-weight subgraph where each connected component contains exactly one cycle. It is also easy to compute a minimum-weight unicyclic subgraph (the underlying graph should be connected and contains exactly one cycle). This comes from the fact that the set of edge subsets inducing a subgraph containing at most one cycle is also a matroid. This matroid is obviously included in the bicircular matroid. If the unicyclicity requirement is replaced by a cyclicity constraint (each connected component is exactly a cycle), we get the two-factors problem which is a well known easy problem (see, e.g., [21]). If a girth constraint is added (no cycles of length less than 5), the problem becomes difficult ([3]). There are also some connections with the so-called ring star problem. Here we look for one cycle going through some vertices while the other vertices are connected to the closest vertex on the cycle. The ring star problem and some of its variations are studied in [1, 15]. The situation is different in our model since the nodes not belonging to cycles can be connected 3

to a cycle through a path. If the unicyclicity constraint is relaxed, we get another known problem: find a minimum (or maximum)-weight subgraph not containing cycles of length less than p + 1. This problem is equivalent to the covering problem where we look for a minimum (or maximum)-weight set of edges intersecting each cycle whose length is not more than p. When p = 3, we know that the problem is easy if the graph is non-contractible to K5 \ e (the complete graph on 5 vertices minus one edge) [5]. However, the problem is NP-hard in the general case [22].

The remainder of this paper is organized as follows. Notation is provided in the next section. Then a mathematical formulation and some classes of valid inequalities are described in Section 3. The faces induced by these valid inequalities are studied in Section 4. In Section 5, we present a cutting-plane algorithm to solve the problem of computing a minimum-weight subgraph with unicyclic connected components and a lower-bounded girth. The separation problems related to valid inequalities are studied. More details about the complexity of the problem and its approximability are given in Section 6. Section 7 is dedicated to computational results. Conclusion follows in Section 8.

2

Notation

Let H p be the set of graphs such that each connected component contains exactly one elementary (simple) cycle, and this cycle has at least p + 1 edges. In other words, all connected components are unicyclic graphs and there is no cycle of length less than or equal to p. Let G = (V, E) be a simple undirected graph. We will consider spanning subgraphs G0 = (V, E 0 ) (E 0 ⊆ E) belonging to H p . A subgraph is represented by an incidence vector (xe )e∈E where xe = 1 if e is contained in the subgraph and 0 otherwise. The convex hull of the incidence vectors x of these spanning subgraphs belonging to H p is denoted by P(G, p). 4

A weight we is associated with each edge e ∈ E. While positive weights are considered in all computational experiments of Section 7, there is formally no restriction related to the sign of weights. Computing a minimum-weight spanning subgraph belonging to H p is equivalent to computing a minimum-weight vector of P(G, p). The number of vertices is denoted by n = |V |. To avoid trivial cases, we assume throughout the paper that n ≥ 4 and p ≤ n − 1. An edge e ∈ E is sometimes denoted by (i, j) where i and j are the extremities of the edge. Hence given any vector (αe )e∈E , αe can also be denoted by αi j . If (i, j) ∈ E, we say that i and j are connected or adjacent. If A is a subset of vertices, then δ (A) denotes the set of edges having exactly one extremity in A. δ (A) is what is commonly called a cut in an undirected graph. If A = {v} where v ∈ V , then we write δ (v) instead of δ ({v}). Given two disjoint subsets of vertices A and B, δ (A) \ δ (B) denotes the set of edges having one extremity in A and the other extremity in V \ {A ∪ B}. Let (ze )e∈E be any vector indexed by E. Then z(A, B) is used to denote the sum of the z-values of the edges having one extremity in A and one extremity in B: z(A, B) =



(i, j)∈E,i∈A, j∈B

zi j . When B = {v}, we

write z(A, v) instead of z(A, {v}). We also use z(A) to denote the sum of the z-values of the edges having both extremities in A: z(A) =



(i, j)∈E,i∈A, j∈A

zi j . If C is a set of edges C ⊆ E,

then z(C) naturally denotes the sum of the z-values of the elements of C: z(C) = ∑ ze . e∈C

3 Mathematical formulation and valid inequalities We first present a mathematical formulation for the problem. Then, we provide some classes of valid inequalities. It is already known that the bicircular matroid is a transversal matroid [17]. Said another 5

way, the independent sets of the bicircular matroid can be represented by matchings. More precisely, let H be the bipartite graph where the set of vertices is given by V ∪ E and there is an edge between v ∈ V and e ∈ E if and only if v is an extremity of e. If we consider any matching of H, the set of edges of E included in this matching is an independent set of the bicircular matroid. The bases of the matroid are given by matchings of size n (in fact our problem does not have a solution if the rank of the bicircular matroid associated with G is less than n). These simple (known) observations lead to a compact formulation of the unicyclicity constraint. For each edge e = (i, j) ∈ E we have a variable xe and two variables yie and y je where yie is equal to 1 if vertex i is matched with the edge (i, j). xe is of course given by yie + y je . Using the classical polyhedral characterization of bipartite matching (see, e.g., [21]), we deduce that: P(G, 2) = {x ∈ IRE ;

xe ∑

≤ 1, ∀e ∈ E; xe =

e=(i, j)∈E

yie = 1, ∀i ∈ V ;

0

yie + y je , ∀e = (i, j) ∈ E;

≤ yie , ∀i ∈ V, e = (i, j) ∈ E}.

Then our problem can be formulated as follows (when the girth constraint is relaxed): min

∑ we xe

e∈E

xe

= =

1,

∀i ∈ V

0



yie ,

∀i ∈ V, e = (i, j) ∈ E

xe



1,

∀e ∈ E.



e=(i, j)∈E

yie

yie + y je , ∀e = (i, j) ∈ E (1)

Notice that we will prove in Proposition 4.5 that unicyclicity can also be formulated by inequalities x(A) ≤ |A| for any A ⊂ V and x(V ) = |V |. In other words, one can avoid the use of variables yie by considering a potentially exponential number of constraints. However, formulation (1) uses only 2|E| variables: xe variables can be replaced by yie + y je (they are present in formulation (1) only for sake of clearness). 6

Girth constraints can be integrated in a simple way. We only have to write that the number of edges inside any set of vertices A of cardinality at most p cannot be more than |A| − 1. x(A) ≤ |A| − 1, A ⊂ V, 2 ≤ |A| ≤ p

(2)

Hence our problem is well formulated by (1), (2) and the integrality constraints (3): xe ∈ {0, 1}, ∀e ∈ E.

(3)

While the extremal solutions of (1) are 0-1 vectors, those of (1),(2) can be fractional. Moreover, the separation of inequalities (2) is not easy. We will then try to reinforce the system (1),(2) by adding some valid inequalities. In addition to inequalities (2) and those induced by formulation (1), two other families of valid inequalities are provided in the rest of the section. Let us consider two disjoint subsets of vertices A and B such that 1 ≤ |A| ≤ p − 1. We already know that we should have x(A) ≤ |A| − 1. The first family of valid inequalities gives an indication about the number of edges that can connect A and B. Proposition 3.1 Let A and B be two disjoint subsets of V such that 1 ≤ |A| ≤ p − 1. Then the following inequality is valid for P(G, p): 2x(A) + x(A, B) ≤ 2|A| + |B| − 2.

(4)

Proof: Let C be the complement of A ∪ B. Since the number of edges of the subgraphs of G belonging to H p is exactly equal to n, we can write that n = x(A) + x(B) + x(C) + x(δ (C)) + x(A, B). Combining this equality with the fact that n = |A| + |B| + |C|, we deduce that inequality 2x(A) + x(A, B) ≤ 2|A| + |B| − 2 is equivalent to x(A) ≤ |A| − 2 + x(B) + x(C) + x(δ (C)) − |C|. Then we have to prove the validity of the last inequality.

7

First, let us remark that we necessarily have x(C) + x(δ (C)) − |C| ≥ 0. This comes from the fact that each acyclic connected component of C is necessarily connected to at least one vertex in A ∪ B. Let us assume that x(C) + x(δ (C)) − |C| ≥ 1. Since |A| ≤ p − 1 ≤ p, we have x(A) ≤ |A| − 1 = |A| − 2 + 1 ≤ |A| − 2 + x(B) + x(C) + x(δ (C)) − |C| implying the validity of inequality (4). Now let us focus on the case x(C)+x(δ (C))−|C| = 0. If either x(B) ≥ 1 or x(A) ≤ |A|− 2, then inequality x(A) ≤ |A| − 2 + x(B) + x(C) + x(δ (C)) − |C| is clearly valid. It remains to prove that we cannot simultaneously have x(B) = 0, x(A) = |A| − 1 and x(C) + x(δ (C)) − |C| = 0. Suppose for contradiction that we simultaneously have x(B) = 0, x(A) = |A| − 1 and x(C) + x(δ (C)) − |C| = 0. Equality x(C) + x(δ (C)) − |C| = 0 implies that each acyclic connected component of C is connected to A ∪ B by exactly one edge. It also induces that each unicyclic component of C (a connected component containing a cycle) is not connected to A ∪ B (see Figure 2). Moreover, since |A| ≤ p − 1 and x(A) = |A| − 1, the subgraph induced by A is necessarily a tree. We can also deduce that there is no vertex in B which is connected to two vertices of A (since otherwise we get a cycle having at most p edges). But we also have x(B) = 0 which implies that there is no way to build a new cycle. In other words, there is no unicyclic connected component that contains the vertices of either A or B. ¥ If p = n − 1, then the solution to our problem is a Hamiltonian cycle. In this case, we should have x(δ (v)) = 2 for any vertex v. The second family of valid inequalities can be seen as a generalization of these degree constraints for other values of p. Proposition 3.2 Let A and B be two disjoint subsets of V . Then the following inequality is valid for P(G, p):

∑ (2 − x(δ (v))) + ∑ (x(δ (v) \ δ (A)) − 2) ≤ n − (p + 1).

v∈A

v∈B

8

(5)

B

A

C

Figure 2: On the validity of inequality (4) Proof: Let us first focus on the case B = 0. / The number of vertices whose degree is equal to 1 cannot be more than n − (p + 1). Moreover, ∑ (2 − x(δ (v))) is clearly less than or v∈A

equal to the number of vertices of A with degree 1. This implies that ∑ (2 − x(δ (v))) ≤ v∈A

n − (p + 1) for any subset A. Using the fact that ∑ (2 − x(δ (v))) + ∑ (2 − x(δ (v))) = 0, we deduce that v∈A



v∈V \A

(x(δ (v) − 2)) =

v∈V \A

∑ (2 − x(δ (v))) ≤ n − (p + 1).

v∈A

Said another way, if A = 0/ then we have ∑ (x(δ (v) \ δ (A)) − 2) ≤ n − (p + 1) for any v∈B

subset B. Let us now consider the general case where A 6= 0/ and B 6= 0. / It is clear that ∑ (2 − x(δ (v)))+ v∈A

∑ (x(δ (v)\ δ (A))−2) does not decrease if we eliminate from A all those vertices for which

v∈B

2 − x(δ (v)) ≤ 0. Thus we can assume that 2 − x(δ (v)) = 1 for each vertex v ∈ A. Let H = (V, E 0 ) be a subgraph of G such that H ∈ H p and the degree of each vertex of A (in H) is equal to 1. Consider the graph H 0 obtained from H by deleting A and the edges incident to A. Since the deletion of a vertex of degree 1 does not break the unicyclicity (all connected components are still unicyclic and no new connected components are created), H 0 clearly belongs to H p .

9

Let us use xH (resp. xH 0 ) to denote the incidence vector of H (resp. H 0 ). Since H 0 ∈ H p , its incidence vector satisfies the constraint ∑ (xH 0 (δ (v)) − 2) ≤ (n − |A|) − (p + 1) v∈B

(remember that we already know that inequalities (5) are valid when A is empty). Moreover, we have ∑ (xH 0 (δ (v)) − 2) = ∑ (xH (δ (v) \ δ (A) − 2). Using the fact that v∈B

v∈B

2−xH (δ (v)) = 1 for each vertex v ∈ A, the previous inequality becomes ∑ (2 − xH (δ (v)))+ v∈A

∑ (xH (δ (v) \ δ (A)) − 2) ≤ n − (p + 1). In other words, inequalities (5) are valid. ¥

v∈B

We will see later that inequalities (5) can be separated in polynomial time by solving a classical minimum cut problem in an appropriate graph. It is interesting to notice that when A = 0/ and B = {v}, inequality (5) reduces to x(δ (v)) ≤ n − (p − 1).

4

On the facial structure of P(G, p)

We study the dimension of P(G, p) and the valid inequalities defined in the previous sections. We will assume in this section that G = (V, E) is a complete graph and |V | = n ≥ 4. Let m = n(n − 1)/2. Remember that each subgraph is represented by an incidence vector x. Given an inequality α x ≤ β which is valid to P(G, p) and a subgraph belonging to H p , we say that the subgraph saturates inequality α x ≤ β if its incidence vector satisfies α x = β . Proposition 4.1 The dimension of P(G, p) is m − 1 if 2 ≤ p ≤ n − 2, and m − n if p = n − 1. Proof: P(G, p) dimension cannot be more than m − 1 since equality ∑e∈E xe = n holds. If p = n − 1, then P(G, p) is the convex hull of Hamiltonian tours. Its dimension is m − n [18]. Let us now assume that 2 ≤ p ≤ n − 2. Suppose that α x = β for any vector x of P(G, p). Let u, v, w be three vertices. Consider a unicyclic subgraph based on a cycle of length n − 1 and one more edge. We assume that: u is the unique pendant vertex (degree equal to 1), 10

u is connected to v, and w is one of the two neighbors of v on the cycle. This subgraph clearly belongs to H p . Now by deleting the edge (w, v) and adding (w, u) we get another subgraph in H p . Both subgraphs satisfy α x = β . Consequently, we should have αuw = αvw . Since this is valid for any three vertices u, v, w, we conclude that all the components of α are equal. This implies that the constraint α x = β is proportional to ∑e∈E xe = n. Hence the dimension of P(G, p) is m − 1.¥ Proposition 4.2 Inequality xe ≥ 0 defines a facet of P(G, p) if and only if n ≥ 5. Proof: If p = n − 1, the result is already known [11, 18]. Let us now focus on the case 2 ≤ p ≤ n−2. Assume that n ≥ 5. Using the fact that xe ≥ 0 is a facet of the symmetric travelling salesman polytope, we can build m − n affinely independent vectors z1 , z2 , ..., zm−n representing Hamiltonian tours not traversing e. All these vectors belong to P(G, p). Let u and v be the extremities of e. We will build n − 1 other vectors of P(G, p) satisfying xe = 0. Consider a tour of length n − 1 going through all vertices except u. We get n − 2 new vectors zm−n+1 , ..., zm−2 of P(G, p) by choosing any vertex w of this tour (different from v) and adding an edge (u, w). For each vertex w, the subgraph obtained in this way belongs to H p . A last vector zm−1 can be obtained by considering any tour of length n − 1 containing u and not v with one edge linking v to some vertex w 6= u in the cycle. All vectors (zi )1≤i≤m−1 satisfy xe = 0. Assume that there are numbers (αi )1≤i≤m−1 such i=m−1 i=m−1 αi zi = 0 and ∑i=1 αi = 0. The degree of v equals 2 in all the subgraphs that ∑i=1

considered above to build (zi )1≤i≤m−2 . However, for the vector zm−1 , the degree of v equals 1. This implies that αm−1 = 0. Now, we can focus on the first m − 2 vectors. The degree of any vertex w is always equal to 2 except for one vector (the incidence vector of the subgraph where edge (w, u) is added to connect u to the cycle). Consequently we have αi = 0 when m − n + 1 ≤ i ≤ m − 2. Now using the fact that the first m − n are affinely independent, we 11

deduce that αi = 0 when i ≤ m − n. Observe that the face induced by xe = 0 does not contain the whole polytope. To finish the proof, we have to check that xe ≥ 0 does not induce a facet when n = 4. This holds since the face induced by xe ≥ 0 contains at most 3 incidence vectors of subgraphs belonging to H p . More precisely, if the graph vertices are a, b, c and d, and e = (a, c), then the only possible unicyclic subgraphs are those whose edge set is defined by either {(a, b), (b, d), (b, c), (c, d)}, or {(a, d), (b, d), (b, c), (c, d)} or {(a, b), (a, d), (b, c), (c, d)}. Then the dimension of the face is strictly less than 4 = m − 2. ¥

u

u w

w

v

v

A

A Figure 3: On the proof of Proposition 4.3

Let us now focus on inequalities (2): x(A) ≤ |A| − 1, A ⊂ V, 2 ≤ |A| ≤ p. Notice that inequalities xe ≤ 1 are a special case of inequalities (2). Proposition 4.3 Inequality (2) defines a facet of P(G, p) if and only if n ≥ 4 and 2 ≤ |A| ≤ min(n − 2, p). Proof: If p = n − 1, the result is a consequence of the facial structure of the symmetric travelling salesman polytope [12]. Now we consider the case p ≤ n − 2. Let A be any subset of V such that 2 ≤ |A| ≤ p ≤ n − 2. We can build m − n affinely independent vectors z1 , z2 , ..., zm−n representing Hamiltonian 12

tours such that zi (A) = |A| − 1. This is possible since we know that x(A) ≤ |A| − 1 induces a facet of the symmetric travelling salesman polytope. Let us consider one of these tours. It contains a path of length |A| − 1 going through the vertices of A. Let u and v be the extremities of this path. For each vertex w ∈ V \ {u, v}, we build a new subgraph in H p by deleting its two incident edges, joining its two neighbors and adding the edge (u, w) (Figure 3). In this way we get n − 2 new vectors zm−n+1 , ..., zm−2 of P(G, p) satisfying x(A) = |A| − 1. We build one more vector zm−1 by taking w = v and repeating the same operations. i=m−1 Assume that there are numbers (αi )1≤i≤m−1 such that ∑i=m−1 αi zi = 0 and ∑i=1 αi = i=1

0. It is clear that the degree of w ∈ V \ {u, v} is always equal to 2 except for one vector. This implies that αi = 0 when m − n + 1 ≤ i ≤ m − 2. Now using the fact that the degree of v is equal to 2 for the first m − n vectors and equal to 1 for the last vector zm−1 , we conclude that αm−1 = 0. The affine independence of the incidences vectors of the m − n Hamiltonian tours ends the proof. ¥ Some other valid inequalities of P(G, p) are already satisfied by each feasible solution of formulation (1) introduced in Section 3. Let us consider the inequalities x(A) ≤ |A|, A ⊆ V.

(6)

It is clear that these inequalities are valid for P(G, p) for any value of p. Since P(G, p = 2) is the projection of the matching formulation (1) on the space of edge variables introduced before, there is no need to generate inequalities (6). In other words, when formulation (1) is considered, inequalities (6) will be necessarily satisfied by the vector x. However, since we are interested in the facial structure of P(G, p), we give below a simple result about the face induced by inequality (6). Proposition 4.4 Inequality (6) induces a facet of P(G, p) if and only if p + 2 ≤ |A| ≤ n − 1.

13

Proof: If |A| ≤ p, then inequality (6) is dominated by inequality (2). It is also clear that the case |A| = n does not lead to a facet since all vectors of P(G, p) satisfy x(V ) = n. Moreover, if |A| = p + 1, then any vector x of the face induced by inequality (6) satisfies x(v, A) = 2 where v ∈ A. Observe that since |A| ≥ 3, equality x(v, A) = 2 is linearly independent with equalities x(V ) = n and x(A) = |A|. Let us now focus on the case p + 2 ≤ |A| ≤ n − 1. Let α x = β be an equality satisfied by all vectors of P(G, p) for which x(A) = |A|. Consider a subgraph of G containing a cycle of length |A| − 1 going through |A| − 1 vertices of A and suppose that all the other vertices of V are linked to this cycle by an edge. The incidence vector of this subgraph belongs to the face induced by x(A) = |A|. Let u be the unique vertex of A not belonging to the cycle and let v be its neighbor on the cycle. Let w be one of the two neighbors of v on the cycle. It is clear that one can delete the edge (w, v) and add the edge (w, u) to get a new subgraph satisfying all constraints. This implies that αwv = αwu . Since u, v and w are arbitrary vertices of A, we deduce that αuv is equal to a constant αA for any two vertices u and v of A. Now consider any vertex b ∈ B = V \ A. b can be arbitrarily connected to any vertex of A. This implies that αba is equal to a constant αbA for any vertex b ∈ B and a ∈ A. If |A| = n − 1, this is enough to conclude that equality α x = β is a combination of x(V ) = n and x(A) = |A| (more precisely, we have α x − β = (αA − αbA )(x(A) − |A|) + αbA (x(V ) − |V |)). When |A| ≤ n − 2, one can consider another vertex c ∈ B. Suppose that c is connected to a ∈ A. It is clear that we get a subgraph satisfying all constraints if we delete (c, a) and we add (c, b) where b is any other vertex of B. Consequently, αcb = αca = αcA . Since b and c are arbitrary, we get that both αcb and αca are equal to a constant αBA . In other words,

α x = β is again a linear combination of x(V ) = n and x(A) = |A|.¥ Inequalities (6) in addition to the trivial inequalities xe ≥ 0 and xe ≤ 1 fully describe P(G, p = 2). Notice that here we do not need to assume that the graph G is complete. Proposition 4.5 is valid for each graph. 14

Proposition 4.5 P(G, 2) = {x ∈ IRE ; 0 ≤ xe ≤ 1, ∀e ∈ E; x(V ) = n; x(A) ≤ |A|, ∀A ⊂ V, 4 ≤ |A| ≤ n − 1}. Proof: P(G, 2) is the convex hull of the incidence vectors of the bases of the bicircular matroid. This implies that P(G, 2) is defined by the positivity constraints, the constraint x(V ) = n, and the general constraints x(B) ≤ r(B) where B ⊆ E and r is the rank function associated with this matroid. Let B0 ⊆ B be a base of B (i.e., |B0 | = r(B) and B0 belongs to the matroid). The subgraph G0 = (V, B0 ) may contain some connected components with exactly one cycle, and others without any cycle. Let C be the union of all connected components of G0 that contain a cycle. By maximality of B0 , all the edges of B \ B0 have both extremities in C. Let A = V (C) (i.e., the set of vertices of C). It is clear that by adding the constraint x(A) ≤ |A| and the constraints xe ≤ 1, e ∈ B0 \ E(C) we get a constraint that is at least as good as x(B) ≤ r(B).¥ Let us now study inequalities (4): 2x(A) + x(A, B) ≤ 2|A| + |B| − 2. It is clear that if we take |A| = 1, then inequality (4) is a combination of the trivial inequalities xe ≤ 1. The case |B| = 0 is also included in inequalities (2). Hence, we will assume that |A| ≥ 2 and |B| ≥ 1. This directly implies that p ≥ 3 (since |A| ≤ p − 1). We already know form the proof of Proposition 3.1 that inequality (4) is equivalent to x(A) ≤ |A| − 2 + x(B) + x(C) + x(δ (C)) − |C| where C is the complement of A ∪ B. We start with this simple lemma. Lemma 4.6 A subgraph belonging to H p saturates inequality (4) if and only if its incidence vectors satisfies one of the following properties: 1. x(A) = |A| − 1, x(B) = 1, x(C) + x(δ (C)) − |C| = 0, |A| = p − 1 and the subgraph induced by A is a path of length p − 2 2. x(A) = |A| − 2, x(B) = 0, x(C) + x(δ (C)) − |C| = 0, |A| = p − 1 and the subgraph 15

induced by A is the union of two vertex disjoint paths of total length p − 3 3. x(A) = |A| − 1, x(B) = 0 and x(C) + x(δ (C)) − |C| = 1. Proof: Inequality (4) is saturated when x(A) = |A| − 2 + x(B) + x(C) + x(δ (C)) − |C|. Remember that we always have x(C) + x(δ (C)) − |C| ≥ 0. Moreover, since |A| ≤ p − 1 ≤ p, x(A) ≤ |A| − 1. Then there are only 3 possible cases: • x(A) = |A| − 1, x(B) = 1 and x(C) + x(δ (C)) − |C| = 0 • x(A) = |A| − 2, x(B) = 0 and x(C) + x(δ (C)) − |C| = 0 • x(A) = |A| − 1, x(B) = 0 and x(C) + x(δ (C)) − |C| = 1. In the first two cases, we have x(C) + x(δ (C)) − |C| = 0. This implies that each acyclic connected component of C is necessarily connected to A ∪ B by exactly one edge. If the component already contains a cycle, then there is no edge between A ∪ B and this connected component. This implies that the subgraph induced by A ∪ B contains at least one cycle. Let us focus on the first case. We already observed that A ∪ B contains at least one cycle. Since the length of such a cycle should be at least p + 1, and we simultaneously have x(B) = 1 and |A| ≤ p − 1, the cycle should contain all vertices of A and also the unique edge whose extremities are in B. The graph induced by A should be a simple path of length p − 1 (see the left part of Figure 4). The second case is quite similar to the first one. x(A) = |A| − 2 implies that the graph induced by A is the union of two acyclic connected components. Since A ∪ B contains a cycle of length at least p + 1 and x(B) = 0, this cycle should contain exactly 4 edges having one extremity in A and one extremity in B, in addition to all vertices of A (see the right part of Figure 4). The subset A contains exactly p − 1 vertices and induces a subgraph which is the union of two simple paths of total length p − 3. ¥ 16

A

B

A

w

B

w u

v z

s

u

t

v

z

C

C

Figure 4: Saturation of inequality (4): cases 1 and 2 The next lemma gives necessary conditions to get a facet. Lemma 4.7 If inequality (4) defines a facet of P(G, p), then |A| = p − 1, 3 ≤ p ≤ n − 2 and |B| ≥ 3. Proof: Observe that if |B| = 1, then cases 1 and 2 of Lemma 4.6 cannot occur. This means that we have x(A) = |A| − 1, x(B) = 0 and x(C) + x(δ (C)) − |C| = 1. Since equality x(A) = |A| − 1 is not a linear combination of equalities x(V ) = |V | and 2x(A) + x(A, B) = 2|A| + |B| − 2 (notice that C 6= 0/ in case 3), then the face induced by inequality (4) is not a facet when |B| = 1. Using the same argument we deduce that inequality (4) does not define a facet if |A| < p − 1 (in cases 1 and 2 we should have |A| = p − 1). So let us assume that |B| ≥ 2 and |A| = p − 1. If p = n − 1, then we get |A| = n − 2, |B| = 2 and |C| = 0. Inequality (4) is then dominated by the equalities x(δ (v)) = 2 for any v ∈ A (valid when p = n − 1). In other terms, when p = n − 1 inequality (4) does not define a facet. The case p = 2 (with |A| = p − 1) can also be eliminated since inequality (4) is dominated by the trivial inequalities xe ≤ 1.

17

A

B

A

B

u

u

v

v

1

2

C C

u

A

u

v

A

u

v

v

5

4

3 C

B

B

B A

C

C

Figure 5: Saturation of inequality (4): |B| = 2, |A| = p − 1,3 ≤ p ≤ n − 2, x(A) = |A| − 1, x(B) = 0 and x(C) + x(δ (C)) − |C| = 1 Let us then focus on the case |B| ≥ 2, |A| = p − 1 and 3 ≤ p ≤ n − 2. We will prove that inequality (4) does not define a facet when |B| = 2, |A| = p − 1 and 3 ≤ p ≤ n − 2. Let u and v be the two vertices of B. Then, in case 1 of Lemma 4.6, we have x(u, A) = x(v, A) = 1, while in case 2 we have x(u, A) = x(v, A) = 2 (see Figure 4). In case 3 of Lemma 4.6, x(C) + x(δ (C)) − |C| = 1 implies that there is either a cyclic connected component of C that is connected to A ∪ B by an edge, or an acyclic connected component of C that is connected to A ∪ B by 2 edges. We represent on Figure 5 all possible configurations where |B| = 2, |A| = p−1,3 ≤ p ≤ n−2, x(A) = |A|−1, x(B) = 0 and x(C)+ x(δ (C))−|C| = 1. In the two first configurations a cyclic connected component is connected to either A or B. In the third (resp. fifth) configuration, an acyclic connected component is connected to A (resp. B) by two edges. In the fourth configuration an acyclic connected component is connected to A and to B by an edge. Observe that in all configurations we have x(u, A) = x(v, A). 18

Since this was also valid for cases 1 and 2, we deduce that the face induced by inequality (4) is included in the hyperplane x(u, A) − x(v, A) when |B| = 2, |A| = p − 1 and 3 ≤ p ≤ n − 2. Using the fact x(u, A) − x(v, A) = 0 is not a liner combination of equations x(E) = n and 2x(A) + x(A, B) = 2|A| + |B| − 2, we deduce that inequality (4) does not define a facet of P(G, p) when |B| = 2. Consequently, if inequality (4) defines a facet, then we necessarily have |A| = p − 1, 3 ≤ p ≤ n − 2 and |B| ≥ 3. ¥ The next lemma gives sufficient conditions to obtain facets. Lemma 4.8 Inequality (4) defines a facet of P(G, p) if |A| = p − 1, 3 ≤ p ≤ n − 2 and |B| ≥ 3. Proof: Let α x = β be an equality satisfied by all vectors of P(G, p) for which 2x(A) + x(A, B) = 2|A| + |B| − 2. First, we will assume that |C| = 0. This implies that only cases 1 and 2 of Lemma 4.6 can occur. Let us consider a subgraph belonging to H p corresponding to case 1. Let (u, v) be the unique edge of the subgraph whose both ends are in B and let w and z be the extremities of the path contained in A (see Figure 4). We can assume that all the other vertices of B (except u) are connected to z. Now, if we delete the edge (u, v) and we replace it by another edge (u, v0 ) (v0 ∈ B), we get another subgraph satisfying all requirements. This implies that αuv = αuv0 . Since u, v and v0 are arbitrary vertices, we deduce that αuv is equal to a constant αB for any pair of vertices u and v of B. Consider any vertex v0 ∈ B \ {u, v}. It is clear that v0 can be connected to any vertex y of A. This means that αv0 y depends only on v0 . Since u, v and v0 are arbitrary, we deduce that for any vertex v0 ∈ B and any y ∈ A, αv0 y is equal to a constant αv0 A . Let us consider a subgraph belonging to H p corresponding to case 2. Define u, v, w, z, s and t as shown in Figure 4 (some of them may be identical). It is clear that if we add the 19

A

B

w

u

v z i

j

C

Figure 6: The third subgraph edge (s,t), delete any other edge of A and connect u and v to the new extremities of the two new disjoint paths induced by A, we get another subgraph satisfying all the requirements. Now using the fact that αut and αvs do not depend on s and t (the previous observation), we conclude that αst is also a constant: αst = αA . Notice that the graph transformation described here implicitly assumed that |A| ≥ 3. However, if |A| = 2 we can always say that

αst = αA since there is only one edge induced by A. By comparing the two subgraphs introduced above (corresponding to cases 1 and 2 of Lemma 4.6), we directly deduce that αA + αB = αuA + αvA . Since this holds for any u and v of B and |B| ≥ 3, we get that αuA is also equal to a constant αAB not depending on u. We also have αA + αB = 2αAB . Consequently, the equality α x = β is equivalent to αA x(A) + αB x(B) + αAB x(A, B) = β . It can be written as follows: αB (x(B) + x(A) + x(A, B)) + (αAB − αB )(2x(A) + x(A, B)) = β . This clearly proves that inequality (4) induces a facet when |A| = p − 1, 3 ≤ p ≤ n − 2, |B| ≥ 3 and |C| = 0. Let us now study the case |C| ≥ 1. We still have |B| ≥ 3, |A| = p − 1 and 3 ≤ p ≤ n − 2. We prove exactly in the same way that αuv = αB (u ∈ B and v ∈ B) and αst = αA (s ∈ A and t ∈ A). We also easily get that αuy is equal to a constant αAB for any u ∈ B and y ∈ A.

20

Equality αA + αB = 2αAB still holds. We introduce a third subgraph to finish the proof. We will consider a subgraph corresponding to case 3 of Lemma 4.6. It is defined as follows: the subgraph induced by C is a tree, there is one edge (z, i) connecting A and C, one edge ( j, u) connecting B and C, the subgraph induced by A is a path whose extremities are w and z, u is connected to w, each vertex of B is connected to exactly one vertex of A (see Figure 6). Since i is an arbitrary vertex of C, αzi does not depend on i. Moreover, z is also arbitrary (we can consider another path of A with any other extremity). Consequently, αzi is equal to a constant αAC . Let us consider a vertex v ∈ B and suppose that v is connected to z (see Figure 6). We can now delete edge ( j, u) and add the edge (u, v) to get a new subgraph (whose type corresponds to case 1). By comparing these two subgraphs we conclude that α ju = αuv = αB . In other words, α ju is equal to a constant αCB = αB for any vertices j ∈ C and u ∈ B. Instead of eliminating edge ( j, u), we can eliminate (i, z) and add (u, v). This implies that αAC = αB . Observe that if |C| ≥ 2, then we can delete an edge (separating i and j) whose ends are in C to get two connected components and we add the edge (u, v). The new subgraph still satisfies all the requirements. This clearly implies that αi j = αC = αB for any two vertices i ∈ C and j ∈ C. Combination of all these results implies that α x = β is equivalent to (αAB − αB )(2x(A)+ x(A, B)) + αB (x(B) + x(C) + x(δ (C) + x(A) + x(A, B)) = β . In other words, inequality (4) defines a facet of P(G, p). ¥ Combination of the two previous lemmas leads to necessary and sufficient conditions to define facets. Proposition 4.9 Inequality (4) defines a facet of P(G, p) if and only if |A| = p − 1, 3 ≤ p ≤ n − 2 and |B| ≥ 3.

21

Let us now focus on inequalities (5): ∑ (2 − x(δ (v))) + ∑ (x(δ (v) \ δ (A)) − 2) ≤ n − v∈A

v∈B

(p + 1). We use C to denote V \ {A ∪ B}. Lemma 4.10 Let H be a subgraph of H p saturating inequality (5). Then H has the following properties (see also Figure7): 1. H contains exactly one cycle; the length of this cycle is p + 1 2. A = A1 ∪ A2 , with x(δ (v)) = 1 if v ∈ A1 and x(δ (v)) = 2 if v ∈ A2 3. All vertices of A2 belong to the unique cycle 4. All vertices of B belong to the unique cycle 5. x(A2 , B) = 0 6. If a vertex v of C does not belong to the cycle, then v is connected to a vertex of B 7. Each vertex v of A1 is connected to exactly one vertex of B ∪C Proof: The incidence vector of H satisfies

∑ (2 − x(δ (v))) + ∑ (x(δ (v) \ δ (A)) − 2) = n − (p + 1).

(7)

v∈B

v∈A

Let A1 ⊆ A denote the set of vertices of A for which x(δ (v)) = 1. Let A2 = A \ A1 . Since x(δ (v)) 6= 0, we should have x(δ (v)) ≥ 2 for each v ∈ A2 . Suppose that x(δ (v)) > 2 for some v ∈ A2 . Then the left hand side of equality (7) can be strictly increased by eliminating v from A. This leads to a violation of inequality (5). Said another way, x(δ (v)) = 2 for any v ∈ A2 (this is property 2 of the lemma). Then equality (7) becomes ∑ (x(δ (v)\ δ (A))−2) = n−|A1 |−(p+1). Moreover, since v∈B

all vertices of A1 have a degree equal to 1, the subgraph obtained by eliminating A1 is still in H p . This subgraph has n − |A1 | vertices and its incidence vector satisfies inequality (5). By 22

taking A = 0/ and writing inequality (5), we get ∑ (x(δ (v)\ δ (A1 ))−2) ≤ n−|A1 |−(p+1). v∈B

Combining this inequality with the previous equality, we deduce that x(δ (v) \ δ (A1 )) = x(δ (v) \ δ (A)) for any v ∈ B. In other words, we have x(B, A2 ) = 0 (this is property 5 of the lemma). We also have

∑ (x(δ (v) \ δ (A1 )) − 2) = n − |A1 | − (p + 1).

(8)

v∈B

Moreover, we have x(δ (v)\ δ (A1 ))−2 ≤ 0 for any v ∈ C (otherwise the sum ∑ (x(δ (v)\ v∈B

δ (A1 )) − 2) can be increased by putting v in B, which leads to a violation of inequality (5)). Using the fact that the subgraph H \ A1 is in H p , we get ∑ (x(δ (v) \ δ (A1 )) − 2) + v∈B

∑ (x(δ (v) \ δ (A1 )) − 2) = 0. Using equation (8), we obtain that

v∈A2 ∪C



(2 − x(δ (v) \ δ (A1 ))) = n − |A1 | − (p + 1).

(9)

v∈A2 ∪C

Observe that for any vertex v ∈ V , x(δ (v) \ δ (A1 )) ≥ 1 (otherwise, v does not belong to a unicyclic connected component). Combining this observation with the facts that all vertices of A2 have degree 2 and all vertices of C are such that x(δ (v) \ δ (A1 )) − 2 ≤ 0, equality (9) implies that A2 ∪ C contains exactly n − |A1 | − (p + 1) vertices of degree 1 in H \ A1 and (p + 1) − |B| = (|A2 | + |C|) − (n − |A1 | − (p + 1)) vertices of degree 2 in H \ A1 . Notice that this leads to |B| ≤ p + 1. Moreover, H \ A1 contains at least one cycle. Then H \ A1 contains at least p + 1 vertices whose degree is at least 2 in H \ A1 . Since there are at most (p + 1) − |B| vertices of A2 ∪C that can belong to such a cycle, we deduce that there is a unique cycle in H \ A1 , the length of this cycle is exactly p + 1, all vertices of B are on this cycle, and also all vertices of A2 ∪C of degree 2 in H \ A1 are on the cycle. Properties 1 and 4 of the lemma are now proved. Since all vertices of A2 ∪ C of degree 2 in H \ A1 belong to the unique cycle, they are not connected to any other vertex that is not on the cycle (except vertices of A1 ). In other words, each vertex v ∈ A2 ∪C of degree 1 in H \ A1 is necessarily connected to a vertex of 23

B. But we already know that x(A2 , B) = 0. Consequently, all vertices of A2 are necessarily on the cycle (these are properties 3 and 6). It is also clear that each vertex v ∈ A1 is connected to a vertex of either B or C (property 7). Figure 7 summarizes the situation. ¥ B A1 A

2

C

Figure 7: Saturation of inequality (5) Let us now give some necessary conditions for inequalities (5) to define facets. Lemma 4.11 If inequality (5) defines a facet of P(G, p), then 3 ≤ p ≤ n − 2 and one of the following conditions holds: 1. |B| = 0, 1 ≤ |C| ≤ p − 1 2. |A| = 0, 1 ≤ |B| ≤ p − 1 3. |A| = 1, 1 ≤ |B| ≤ p − 2, |C| ≥ 4 4. |A| ≥ 2, 1 ≤ |B| = p − 3, |C| ≥ 4 5. |A| ≥ 2, 1 ≤ |B| ≤ p − 4, |C| ≥ 3.

24

Proof: If p = n − 1, inequality (5) is dominated by the trivial equalities x(δ (v)) = 2 (which are valid when p = n − 1). Then, we must have p ≤ n − 2 to get a facet. We also know from Lemma (4.10) (property 4) that we should have |B| ≤ p + 1. It is convenient to write equality (7) as follows: −2x(A) − x(A, B) − x(A,C) + 2x(B) + x(B,C) = n − (p + 1).

(10)

Equality x(E) = n can also be written as follows: x(A) + x(B) + x(C) + x(A, B) + x(A,C) + x(B,C) = n.

(11)

Let us start with the case |B| = 0 to determine some subcases where inequality (5) does not define a facet. We use the notation and results of Lemma (4.10) (see also Figure 7). Case |B| = 0 By property 6 of Lemma (4.10), all vertices of C are on the cycle when B is empty. Then |A1 | = n − (p + 1) and |A2 | + |C| = p + 1. Since p ≤ n − 2, then |A1 | ≥ 1 which implies that we should have |C| ≥ 1 (property 7 of Lemma (4.10)). • If |C| = p + 1, then |A2 | = 0 and x(δ (v) \ δ (A)) = 2 for any v ∈ C. But this equality is linearly independent with equalities (10) and (11). Consequently, inequality (5) does not define a facet in this case (|B| = 0, |C| = p + 1, |A| = n − (p + 1)). • If |C| = p, then |A2 | = 1 and equality x(A) = 0 always holds (by property 7 of Lemma (4.10)). Since x(A) = 0 is not a linear combination of equalities (10) and (11), we deduce that we do not get a facet in this case (|B| = 0, |C| = p, |A| = n − p). • If p = 2, we already know from the two previous subcases that if |C| = 2 or |C| = 3, inequality (5) does not define a facet. Assume that |C| = 1. Then, we have |A2 | = 2. Both vertices of A2 are connected to the unique vertex of C. The same holds for vertices of A1 . In other words, we have x(v,C) = 1 for each vertex v ∈ A. Linear 25

independence of equality x(v,C) = 1 with equalities (10) and (11) shows that we do not get a facet in this case (|B| = 0, p = 2). Combining the previous results, we deduce that if inequality (5) defines a facet of P(G, p) and |B| = 0, then we necessarily have 3 ≤ p ≤ n − 2 and 1 ≤ |C| ≤ p − 1. Let us now study the case |A| = 0. Case |A| = 0 Using the fact that ∑ (x(δ (v)) − 2) = ∑ (2 − x(δ (v))), the result obtained for |B| = 0 v∈B

v∈V \B

directly leads to similar necessary conditions when |A| = 0. If |A| = 0 and inequality (5) defines a facet of P(G, p), then 3 ≤ p ≤ n − 2, and 1 ≤ |B| ≤ p − 1. Case |A| ≥ 1 and |B| ≥ p − 1 • If p−1 ≤ |B| ≤ p, then by properties 4 and 5 of Lemma 4.10, we should have |A2 | = 0 and |C| ≥ 1. This implies that x(δ (v)) = 1 for any v ∈ A. It is easy to check that equality x(δ (v)) = 1 is not a linear combination of equalities (10) and (11). Then, inequality (5) does not define a facet when p − 1 ≤ |B| ≤ p and |A| ≥ 1. • If |B| = p + 1 and |C| = 0, then we have x(δ (v) \ δ (A)) = 2 for any v ∈ B. Each one of these equalities is linearly independent with equalities (10) and (11). • If |B| = p + 1 and |C| ≥ 1, then x(δ (v)) = 1 for any v ∈ A. This equality is linearly independent with equalities (10) and (11). Combining the previous results, we deduce that inequality (5) does not define a facet of P(G, p) when |B| ≥ p − 1 and |A| ≥ 1. Case |A| ≥ 1, |B| ≥ 1 and p = 2 By property 4 of Lemma 4.10, we should have |B| ∈ {1, 2, 3}. But we already proved that when |B| ≥ p − 1 and |A| ≥ 1 we do not obtain a facet. This implies that inequality (5) does not define a facet of P(G, p) when |A| ≥ 1, |B| ≥ 1 and p = 2. 26

Case |A| ≥ 1, 1 ≤ |B| ≤ p − 2 and 3 ≤ p ≤ n − 2 Since 1 ≤ |B| ≤ p − 2, the cycle contains at least 3 vertices from A2 ∪ C. Moreover, x(A2 , B) = 0 implies that there should be at least 2 vertices of C on the cycle to separate vertices of A2 and B. Said another way, if inequality (5) defines a facet, then |C| ≥ 2 (in the case |A| ≥ 1, 1 ≤ |B| ≤ p − 2 and 3 ≤ p ≤ n − 2). • If |C| = 2, then the two vertices of C belong to the unique cycle and there is at least one vertex of A on the cycle (because |B| ≤ p−2). Since x(A2 , B) = 0, the two vertices of C are not connected together (they separate the vertices of A2 from B). In other words, x(C) = 0 is valid in this case. However, this equality is linearly independent with equalities (10) and (11). • If |C| = 3 and |A| = 1, then p = n − 2 and |B| = p − 2. Let C = {u, v, w} and A = {a}. Figure (8) shows all possible configurations. In the first 3 configurations, the vertex a belongs to the cycle. Since x(B, A2 ) = 0, its two neighbors on the cycle belong to C. In the 7 other configurations, vertex a is not on the cycle. In configurations 4, 5 and 6, the 3 vertices of C are placed in consecutive order on the cycle, while in configurations 7, 8 and 9, there are only two vertices of C that are adjacent. In the last configuration we have x(C) = 0. It is now easy to check for each configuration the validity of equality x(w, v)−x(u, v)+ x(w, B) − x(u, B) = 0. Since this equality is clearly not a linear combination of equalities (10) and (11), we deduce that inequality (5) does not define a facet in this case. • If |C| ≥ 3, |A| ≥ 2 and |B| = p − 2, then the cycle contains at most one vertex of A. This implies that x(A) = 0 is valid (remember that vertices of A1 are not connected together and also not connected to vertices of A2 ). This equality is linearly independent with equalities (10) and (11). • If |C| = 3, |A| ≥ 2, and |B| = p − 3, then the unique cycle of any subgraph saturating 27

w

1

3

2

u

u

v

v

w

a

w a

a

a

a

a

5

4 u

6

u

w

v

v

u

w

v

w

a

a

w

a

u

7

u

u

v

v

8

v

9

v

w

u

w

a B

w

A1 A2 C

10 u

v

Figure 8: Saturation of inequality (5): the case |C| = 3, |A| = 1 and 1 ≤ |B| = p − 2 inequality (5) either contains 2 vertices of A connected together and two vertices of C, or 3 vertices of C and only one vertex of A connected to two vertices of C. In both cases, it is easy to check that equality x(A) + x(A, B) + x(A,C) = |A| + 1 is valid. Since this equality is linearly independent with equalities (10) and (11), we deduce that inequality (5) does not define a facet in this case. Consequently, when |A| ≥ 1, 1 ≤ |B| ≤ p − 2 and 3 ≤ p ≤ n − 2, if inequality (5) defines a facet of P(G, p) then we should either have (|A| = 1, 1 ≤ |B| ≤ p − 2, |C| ≥ 4), or (|A| ≥ 2, 1 ≤ |B| = p − 3, |C| ≥ 4), or (|A| ≥ 2, 1 ≤ |B| ≤ p − 4, |C| ≥ 3). Combination of all the studied cases leads to the wanted result. ¥ Next lemma is dedicated to sufficient conditions for inequality (5) to define a facet.

28

Lemma 4.12 Inequality (5) defines a facet of P(G, p) if 3 ≤ p ≤ n − 2 and one of the following conditions holds: 1. |B| = 0, 1 ≤ |C| ≤ p − 1 2. |A| = 0, 1 ≤ |B| ≤ p − 1 3. |A| = 1, 1 ≤ |B| ≤ p − 2, |C| ≥ 4 4. |A| ≥ 2, 1 ≤ |B| = p − 3, |C| ≥ 4 5. |A| ≥ 2, 1 ≤ |B| ≤ p − 4, |C| ≥ 3. Proof: We will study each one of the cases defined in the lemma. We assume that 3 ≤ p ≤ n − 2. We use the same technique as before: we consider an equality α x = β satisfied by all vectors of the face induced by inequality (5), and we prove that this equality is necessarily a linear combination of equalities (10) and (11). Case |B| = 0 and 1 ≤ |C| ≤ p − 1 • Let us start with the subcase |C| = 1. Let c be the unique vertex of C. By property 6 of Lemma 4.10, c is on the cycle. Observe that |A| ≥ 4. Let a1 , a2 , a3 and a4 be 4 vertices of A. Consider a subgraph H ∈ H p saturating inequality (5). H has the structure of Figure 7. We assume that a1 , a2 and a3 belong to the cycle. We also assume that the following edges belong to the cycle: (a1 , c), (a1 , a2 ) and (a2 , a3 ). Vertex a4 is supposed to belong to A1 . So a4 is connected to c. By deleting the edge (a1 , a2 ) and adding the edge (a2 , a4 ), we get a new subgraph saturating inequality (5) where a4 is on the cycle while a1 is not on the cycle. By writing that both H and the new subgraph satisfy equality α x = β , we get that αa1 a2 =

αa4 a2 . Since vertices a1 , a2 , a3 and a4 are arbitrary vertices of A, we deduce that αuv 29

is equal to a constant αA for any vertices u and v of A. Let us consider again the subgraph H. By switching the positions of a1 and a2 , we get a new subgraph satisfying all constraints. By writing that both H and the new subgraph satisfy equality α x = β , we get that αa1 c = αa2 c . This clearly implies that

αuc is equal to a constant αAC for any u ∈ A. In other words, α x = β is a combination of equality (11) (which reduces here to x(A) + x(A,C) = n) and equality (10) (which reduces here to 2x(A) + x(A,C) = n + p − 1). Consequently, inequality (5) defines a facet in this case. • We assume that 2 ≤ |C| ≤ p − 1. Then, |A| ≥ 3. Let {c1 , c2 } (resp. {a1 , a2 , a3 }) be 2 (resp. 3) arbitrary vertices of C (resp. A). Consider a subgraph H ∈ H p saturating inequality (5) defined as follows. Vertices a1 , c1 , a2 and c2 belong to the cycle. We assume that edges (a1 , c1 ), (c1 , a2 ) and (a2 , c2 ) exist in H. Vertex a3 is not on the cycle and is connected to c2 . By deleting the edge (c1 , a2 ) and adding the edge (c1 , a3 ) we get a new subgraph satisfying all constraints and saturating inequality (5). This leads to αc1 a2 = αc1 a3 . By again considering H, deleting (c2 , a3 ) and adding (c1 , a3 ), we deduce that αa3 c1 =

αa3 c2 . Combination of this fact with the previous observation implies that αuv is equal to a constant αAC for any u ∈ A and v ∈ C. Let us consider again the same subgraph H. By switching the positions of c1 and a2 (delete edges (a1 , c1 ) and (a2 , c2 ), and add edges (a1 , a2 ) and (c1 , c2 )) we deduce that αa1 a2 + αc1 c2 = 2αAC . Since the vertices a1 and a2 are arbitrary, αa1 a2 is equal to a constant αA . Consequently, αc1 c2 is also equal to a constant αC and we have

αA + αC = 2αAC . This is enough to deduce that α x = β is a linear combination of equalities (11) and (10). Case |A| = 0 and 1 ≤ |B| ≤ p − 1 30

Using the fact that ∑ (x(δ (v)) − 2) = ∑ (2 − x(δ (v))), the result obtained for |B| = 0 v∈B

v∈V \B

directly leads to a similar facet characterization when |A| = 0. If |A| = 0 and 1 ≤ |B| ≤ p−1, then inequality (5) defines a facet of P(G, p). Case |A| = 1, 1 ≤ |B| ≤ p − 2 and |C| ≥ 4 Consider a subgraph H belonging to H p saturating inequality (5). Let a be the unique vertex of A. H can be chosen such that a does not belong to the cycle. Since a can be connected to any vertex of B ∪C, we easily deduce that αau is equal to a constant αAB = αAC for any u ∈ B ∪C. We can also consider a subgraph H 0 belonging to H p saturating inequality (5) where an arbitrary vertex u ∈ C does not belong to the cycle. Since u can be connected to any vertex of B, we deduce that αuv is equal to a constant αuB for any v ∈ B. Let us now consider another subgraph H” belonging to H p saturating inequality (5) such that 3 arbitrary vertices c1 , c2 and c3 of C belong to the cycle in this order (so edges (c1 , c2 ) and (c2 , c3 ) belong to he cycle). A vertex b ∈ B belongs to the cycle and is connected to c3 . We also assume that the unique vertex a of A is not on the cycle and is connected to b. By deleting edges (c1 , c2 ), (c2 , c3 ) and (a, b) and adding edges (c1 , a), (a, c2 ) and (c2 , b), we get a subgraph satisfying all constraints and saturating inequality (5). This leads to αc2 c1 + αc2 c3 = αAC + αc2 B . Since c3 is arbitrary and |C| ≥ 4, we deduce that αc2 c3 is equal to a constant αC for any vertices c2 and c3 of C. This also implies that αc2 B is equal to a constant αCB for any c2 ∈ C. We also have αAC + αCB = 2αC . • If |B| = 1, then equalities αAB = αAC and αAC + αCB = 2αC are sufficient to deduce that α x = β is a linear combination of equalities (11) and (10) with coefficient αC (resp. αC − αAB ) corresponding with equality (11) (resp. (10)). • If |B| ≥ 2, then we can consider a subgraph H p saturating inequality (5) where the cycle contains two adjacent vertices of C (u and v) and two adjacent vertices of B 31

(i and j) and we assume that i and u are also adjacent. By deleting the edges (u, v) and (i, j) and adding the edges (u, j) and (i, v) we get a new subgraph satisfying all the requirements. This implies that αC + αi j = 2αCB . Since i and j are arbitrary, we get that αi j is equal to a constant αB for any vertices i and j of B. We also obtain αC + αB = 2αCB . Combining this equality with equalities αAB = αAC and

αAC + αCB = 2αC , we deduce that α x = β is a linear combination of equalities (11) and (10). Consequently, we get a facet if |A| = 1, 3 ≤ p ≤ n − 2, 1 ≤ |B| ≤ p − 2 and |C| ≥ 4. We will now prove that the last two cases of the lemma lead to facets. Since some of the graph transformations used in the proof related to each case are exactly the same, we will start by giving some results that are valid when (|A| ≥ 2, 1 ≤ |B| ≤ p − 3, |C| ≥ 3), and then we will focus on the subcase (|A| ≥ 2, 1 ≤ |B| = p − 3, |C| ≥ 4) and the subcase (|A| ≥ 2, 1 ≤ |B| ≤ p − 4, |C| ≥ 3). Case |A| ≥ 2, 1 ≤ |B| ≤ p − 3 and |C| ≥ 3 Since any vertex of A that is not on the cycle can be connected to any vertex of B ∪ C, we get that αax is a equal to a constant αaB = αaC for any vertices x ∈ B ∪C and a ∈ A. We also get in the same way that αcx = αcB for any vertices c ∈ C and x ∈ B. Consider a subgraph H ∈ H p saturating inequality (5) where there are two adjacent vertices u ∈ A and v ∈ A belonging to the cycle and one vertex j ∈ C adjacent to v and belonging to the cycle. We can also assume that there is at least one vertex i ∈ C not belonging to the cycle. By deleting the edge (u, v) and the edge connecting i to B, and adding the edges (u, i) and (i, j), we get a new subgraph satisfying all the requirements. This implies that αiB + αuv = αuC + αi j . Since |C| ≥ 3 and j is arbitrary, we deduce from the previous equality that αi j is also equal to a constant αC . We also deduce that αuv = αA , αiB = αCB and αuC = αAC . The equalities above become αBC + αA = αAC + αC and αAB = αAC . 32

• Let us consider the subcase |B| = p − 3 and |C| ≥ 4. Consider a subgraph belonging to H p saturating inequality (5) containing 4 vertices of C on the cycle (u, v, w and t). We assume that edges (u, v), (v, w) and (w,t) exist and there is a vertex a ∈ A not belonging to the cycle and connected to u. We modify the subgraph as follows: we delete edges (v, u) and (v, w), we add the edge (a, w) and we connect v to B. This leads to αBC + αAC = 2αC . – If |B| = 1, αBC + αAC = 2αC combined with the equalities above (αBC + αA =

αAC + αC and αAB = αAC ) are sufficient to conclude that α x = β is a linear combination of (11) and (10). – If |B| ≥ 2 then we can consider a subgraph belonging to H p such that the cycle contains in this order b1 , c1 , b2 and c2 where b1 and b2 belong to B, c1 and c2 belong to C and the following edges exist: (b1 , c1 ), (c1 , b2 ), (b2 , c2 ). By switching c1 and b2 we deduce that αb1 b2 + αC = 2αBC . Since b1 and b2 are arbitrary we conclude that αb1 b2 is equal to a certain constant αB such that αB +

αC = 2αBC . Combining this equality with the three previous equalities allows to deduce that we have a facet. In other words, we proved that if 1 ≤ |B| = p − 3, |C| ≥ 4 and |A| ≥ 2, inequality (5) induces a facet of P(G, p). • Let us now consider the subcase |A| ≥ 2, 3 ≤ p ≤ n − 2, 1 ≤ |B| ≤ p − 4 and |C| ≥ 3. The graph transformations defined above to prove that αBC + αA = αAC + αC and

αAB = αAC are still valid. But the other transformation used to show that αBC + αAC = 2αC is not valid since we can have |C| = 3. However, since 1 ≤ |B| ≤ p − 4, we can consider a subgraph belonging to H p where the cycle contains in this order the vertices a1 , c1 , a2 and c2 (a1 ∈ A, a2 ∈ A, c1 ∈ C and c2 ∈ C, and the edges (a1 , c1 ), (c1 , a2 ), (a2 , c2 ) exist). By switching c1 and a2 we get that αA + αC = 2αAC . By 33

considering the cases |B| = 1 and |B| ≥ 2 as done before and using exactly the same graph transformation, we deduce that in all cases we get a facet. In other terms, when |A| ≥ 2, 3 ≤ p ≤ n − 2, 1 ≤ |B| ≤ p − 4 and |C| ≥ 3, inequality (5) induces a facet of P(G, p). ¥ Proposition 4.13 Inequality (5) defines a facet of P(G, p) if and only if 3 ≤ p ≤ n − 2 and one of the following conditions holds: 1. |B| = 0, 1 ≤ |C| ≤ p − 1 2. 1 ≤ |B| ≤ p − 4, |C| ≥ 3 3. |B| = p − 3, |C| ≥ 4, p ≥ 4 4. |B| = p − 2, |A| ≤ 1, |C| ≥ 4 5. |B| = p − 1, |A| = 0.

Proof: The two previous lemmas show that inequality (5) defines a facet of P(G, p) if and only if 3 ≤ p ≤ n − 2 and one of the following conditions holds: |B| = 0, 1 ≤ |C| ≤ p − 1 |A| = 0, 1 ≤ |B| ≤ p − 1 |A| = 1, 1 ≤ |B| ≤ p − 2, |C| ≥ 4 |A| ≥ 2, 1 ≤ |B| = p − 3, |C| ≥ 4 |A| ≥ 2, 1 ≤ |B| ≤ p − 4, |C| ≥ 3. It is easy to check that these conditions are equivalent to the 5 cases of the proposition. ¥ 34

5

A cutting-plane algorithm

A cutting-plane algorithm is implemented based on the inequalities of the previous sections. We will now give some details about the separation of these inequalities. More details and numerical results will follow in Section 7.

5.1

Separation of inequalities (5)

Remember that inequality (5) is given by ∑ (2 − x(δ (v))) + ∑ (x(δ (v) \ δ (A)) − 2) ≤ n − v∈B

v∈A

(p + 1) where A and B are two disjoint vertex subsets. We will prove that inequalities (5) can be separated in polynomial time by solving a minimum cut problem in an appropriate graph. Given a set A, it is clear that a set B maximizing ∑ (2 − x(δ (v)))+ ∑ (x(δ (v)\ δ (A))− v∈A

v∈B

2) will only contain the vertices v such that x(δ (v) \ δ (A)) − 2 ≥ 0. Said another way, maximizing ∑ (2 − x(δ (v)))+ ∑ (x(δ (v)\ δ (A))−2) is equivalent to minimizing ∑ (x(δ (v)) − 2)+ v∈B

v∈A

v∈A

∑ min (2 − x(δ (v) \ δ (A)), 0). Let us then define a function f : 2V → R by

v∈V \A

f (A) =

∑ (x(δ (v)) − 2) + ∑

v∈A

min (2 − x(δ (v) \ δ (A)), 0) .

v∈V \A

Proposition 5.1 Inequalities (5) can be separated in strongly polynomial time Proof: Given a graph G(V, E) where V = {u1 , u2 , ..., un } and a possibly fractional vector x, we build a network (a capacitated directed graph) as follows. Each vertex ui of V is replaced by two vertices vi and wi . Each edge e = (ui , u j ) ∈ E is represented by two directed arcs (wi , v j ) and (w j , vi ), each of capacity xe . We also consider two new vertices s and t. There are arcs from s to vi and wi with a capacity of 2. There are also arcs from vi and wi to t where the capacity is x(δ (ui )) (see Figure 9). By computing a maximum flow from s to t we get a minimum cut separating s and t. The vertices ui such that both vi and wi are in the same side as s will constitute the set A. Similarly, B contains all the vertices ui such that 35

both vi and wi are in the same side as t. The other vertices ui (those where wi and vi are not in the same side) constitute C = V \ {A ∪ B} (see Figure 9). Observe that for any vertex ui ∈ C, we can assume that vi is in the same side as s and wi is in the other side. This comes from the fact that when we switch the positions of vi and wi , the capacity of the cut does not decrease. We can also see that if ui ∈ C, then the capacity of the arcs incident to either vi or wi and belonging to the cut is exactly 2 + x(δ (ui )). Similarly, if ui ∈ B, then the capacity of the arcs that are incident to either vi or wi and belong to the cut is x(ui , A) + 4. The capacity of the cut is then given by ∑ 2x(δ (ui )) + ∑ (2 + x(δ (ui ))) + ∑ (4 + ui ∈A

ui ∈B

ui ∈C

x(ui , A)). Since the capacity of the cut is minimum, if ui belongs to C then 2 + x(δ (ui )) ≤ x(ui , A) + 4 (otherwise the capacity can decrease by putting ui in B). Similarly, if ui ∈ B then x(ui , A) + 4 ≤ 2 + x(δ (ui )). Consequently, the capacity of the cut is equal to ∑ 2x(δ (ui )) + ui ∈A

∑ min(2+x(δ (ui )), 4+x(ui , A)). After some algebra the capacity becomes ∑ (x(δ (ui ))− ui ∈A

ui ∈V \A

2) + 2|A| + ∑ x(δ (ui )) + ∑ min(0, 2 − x(δ (ui ) \ δ (A))) + 2|V \ A| + ∑ x(δ (ui )). ui ∈A

ui ∈V \A

ui ∈V \A

Using the facts that 2|A| + 2|V \ A| = 2n and ∑ x(δ (ui )) + ∑ x(δ (ui )) = 2n, we ui ∈A

ui ∈V \A

finally deduce that the capacity of the cut is equal to f (A) up to the additive constant 4n.¥

5.2

Separation of inequalities (2)

Remember that inequality (2) is defined by x(A) ≤ |A| − 1 where A ⊂ V and 2 ≤ |A| ≤ p. Let us consider the problem of deciding whether there exists a set of vertices A such that |A| ≤ p and x(A) − |A| ≥ z where z and p are part of the input. We will first point out the NP-completeness of this problem. Notice that this problem is slightly more general than the separation problem of inequalities (2). Let us call it the generalized separation problem of inequalities (2). Proposition 5.2 The generalized separation problem of inequalities (2) is NP-complete. 36

A t

x(

v

i

(u )) i

w i

x ( u , u j) i

B vj w j

2

s 2

v

k

w k

C

Figure 9: A maximum flow algorithm to separate inequalities (5) Proof: The problem is clearly in NP. Let us consider a reduction from the edge-weighted clique problem. This problem is defined as follows: given a complete graph with weights associated with edges and two numbers z and k, decide whether there exists a clique of size less than k such that the sum of the weights of the edges inside the clique is at least z. The edge-weighted clique problem is known to be NP-complete since it contains cardinality constrained quadratic programming and the constrained maximum cut problem. It is also easy to see that this problems remains NP-complete if we add this constraint: the clique contains a given edge (v0 , v1 ). Moreover, given an instance of this problem (edge-weighted clique of size less than p containing a given edge (v0 , v1 )) where (ye )e∈E denotes the edge weights, we can build an instance of the generalized separation problem of inequalities (2) as follows: let xe = ye if e is not incident to either v0 or v1 , xe = ye + 1 if e is incident to v0 (and not to v1 ), and

37

xe = ye + M + 1 if e = (v0 , v1 ) where M is a large number. This implies that y(A) + M = x(A) − |A| for any set A containing both vertices v0 and v1 . If M is sufficiently large, the existence of a set A such that x(A) − |A| ≥ M + z and |A| ≤ p is equivalent to the existence of a clique containing (v0 , v1 ) whose weight is at least z. ¥ Separation of inequalities (2) is related to the well known separation problem of inequalities x(A) ≤ |A| − 1 (without cardinality constraint) in the context of the spanning tree polytope (see, e.g., [21]). A simple technique is used to separate these constraints by computing a minimum cut in an appropriate graph. In fact, one can write that 2|A| − 2x(A) = − ∑ x(δ (v)) + 2|A| + x(δ (A)) + v∈V



x(δ (v)).

(12)

v∈V \A

Let us consider a weighted version of G = (V, E) where the weight of each edge e is xe . We add to G two vertices s and t. We connect s (resp. t) to each vertex of V by an edge of weight x(δ (v)) (resp. 2). Let G0 be the obtained weighted graph. Thus, minimizing |A| − x(A) is equivalent to computing a minimum cut separating s and t in G0 . Since x belongs to P(G, 2), we have |V | − x(V ) = 0 and |A| − x(A) ≥ 0 for any A ⊆ V . In other words, if we minimize |A| − x(A), we can even get |A| = n or |A| = 0. Remember that we are interested in subsets A such that 2 ≤ |A| ≤ p and |A| − x(A) is less than 1. We can also include the sets A such that |A| = 1 (in this case |A| − x(A) = 1). To guarantee the requirement |A| ≥ 1, one can identify the vertex s with a vertex of V (this leads to n different problems). If p ≥ n − q where q is a small constant, the separation is easy. This comes from the fact that |V \ A| ≥ n − p which leads to a trivial enumeration algorithm: for any subset of V of cardinality n − p ≤ q, identify this set with t and compute a minimum cut separating s and t (remember that s is also identified with one vertex of V ). We also know that if p is less than a small constant, then the separation problem can be solved in polynomial time by simple enumeration. These two results are summarized in the 38

next proposition. Proposition 5.3 Inequalities (2) can be separated in polynomial time if either p ≤ q or p ≥ n − q where q is a given constant. We will now describe a separation heuristic based on a shortest path algorithm and a Lagrangean relaxation where the Lagrangean subproblem is a minimum cut problem. Let e = (i, j) be any edge. Let Pi j be a shortest path between i and j where the weight of an edge e0 is 1 − xe0 , using at most p − 1 edges and not containing e. Pi j can be computed in polynomial time by a modified version of Bellman-Ford algorithm applied on a weighted graph where the weight of edge e is infinite and the weight of any other edge e0 is 1 − xe0 . Pi j ∪ (i, j) is a cycle C with less than p edges containing e such that x(E(C)) − |V (C)| is maximum (V (C) is the set of vertices of C and E(C) is the set of edges). Then, we take A = V (C) and we check whether inequality x(A) ≤ |A| − 1 is violated. This procedure is repeated for each link e = (i, j). Given a fractional vector x, if we are unable to find any violated constraint using the shortest path procedure described above, a Lagrangean relaxation is considered. We relax the constraint |A| ≤ p. The objective function becomes min |A| − x(A) + u(|A| − p) where u is the corresponding Lagrangean multiplier. It turns out that it is easy to compute f (u) = min |A| − x(A) + u(|A| − p). A6=0/

(13)

This can be done by slightly modifying the weights of the edges of G0 (the graph introduced when equality (12) was presented). More precisely, we only have to change the weight of the edges related to t: the weight becomes 2 + u instead of 2. Then for each vertex v ∈ V , we identify s with v and we compute the new minimum cut separating s and t. The minimum through all possible identifications gives the value of f (u). Classical Lagrangean relaxation theory implies that f is concave [19]. 39

Let Au be the set that we get when we minimize |A| − x(A) + u(|A| − p). We can assume that this set has a minimum size among all optimal sets of vertices. It is easy to see that f is piecewise linear with less than n pieces. This comes from the fact that |Au | does not increase if u increases. Consequently, if |Au1 | = |Au2 | for two numbers u1 ≤ u2 , then |Au | = |Au1 | = |Au2 | for any u1 ≤ u ≤ u2 . Figure 10 illustrates the situation (|Au | − p is the slope of the curve). Notice that if |A| ≤ |Au | for a given value of u, then we necessarily have |A| − x(A) ≥ |Au | − x(Au ). f |A |-p u

u u*

1-p

Figure 10: On the Lagrangean function If u is large enough (for example u = n), then |Au | = 1. We would like to find u? such that |Au | ≥ p if u < u? and |Au | ≤ p if u > u? . Notice that u? is not necessarily unique. In what follows, we describe a heuristic to separate inequalities (2). We approximately compute u? by a simple binary search in the interval [0, n]. If we get f (u) ≥ 1 for some value of u, then there is no violated inequality of type (2). Moreover, if we get for some u, |Au | ≤ p and |Au | − x(Au ) < 1, then we add the constraint x(Au ) ≤ |Au | − 1. There is one bad situation where we are unable to decide whether there is a violated constraint. If the binary search procedure ends with u? (with an ε precision) such 40

that |Au? −ε | > p, |Au? +ε | < p, f (u? − ε ) < 1 and |Au? +ε | − x(Au? +ε ) ≥ 1, then we get stuck. This situation occurs from time to time.

5.3 Separation of inequalities (4) Remember that inequality (4) is defined by 2x(A) + x(A, B) ≤ 2|A| + |B| − 2 where A and B are two disjoint vertex subsets satisfying 1 ≤ |A| ≤ p − 1. We start with a generalized version of the separation problem of inequalities (4). Given a non-negative vector (xe )e∈E , we want to compute two vertex disjoint subsets A and B where 1 ≤ |A| ≤ p − 1 maximizing 2x(A) + x(A, B) − 2|A| − |B|. Proposition 5.4 The generalized separation problem of inequalities (4) is NP-hard. Proof: We use a reduction from the maximum biclique problem. A biclique (S, T ) is a complete bipartite graph where S and T are two disjoint sets of vertices defining the partition. Given an undirected graph G = (V, E), it is known that computing a maximum size (i.e., |S||T |) biclique is NP-hard [6, 20]. It is also obvious that the problem remains NP-hard if we add a cardinality constraint related to S (|S| = k for a given number k ≤

|V | 2

where k is a

part of the input). Let us consider an instance of the maximum size biclique problem with cardinality constraint (|S| = p − 1) defined by an undirected graph G = (V, E). We define a weighted graph G0 = (V 0 , E 0 , x) where x represents the edge weights, as follows: - there are two vertices v1 and v2 corresponding to each vertex v ∈ V ; - there is an edge linking v1 and v2 for any v ∈ V ; its weight is equal to 1; - if the edge (v, w) does not exist in G, then the edges (v1 , w2 ) and (v2 , w1 ) exist in G0 and have a weight equal to 1; - the graph induced by {v1 : v ∈ V } is complete and the weight of each edge of type (v1 , w1 ) is a large number (for example xv1 w1 = n2 where n = |V |); 41

- we add a new vertex z that is connected to each vertex v1 ; the weight of the edge (v1 , z) is chosen such that x(δ (v1 )) = n2 (n − 1) + n + 1. Figure 11 illustrates the situation.

z k

v

k 1 n

u

w

u

n

2

n

1

2

2

n

w

1 1

1

1

u 2

2

1

1

1

k

v

2

w

1

v 2

2

Figure 11: A reduction from the maximum biclique problem We argue that computing subsets A and B of V 0 maximizing 2x(A) + x(A, B) − 2|A| − |B| where |A| ≤ p − 1 leads to a solution of the maximum size biclique problem with the constraint |S| = p − 1. Let C = V 0 \ (A ∪ B). Thus, 2x(A) + x(A, B) − 2|A| − |B| can be rewritten as follows: 2x(A) + x(A, B) − 2|A| − |B| = ∑v∈A (x(δ (v)) − 1) + |C| − |V 0 | − x(A,C). In other words, maximizing 2x(A) + x(A, B) − 2|A| − |B| is equivalent to maximizing ∑v∈A (x(δ (v)) − 1) + |C| − x(A,C). Since the vertices of type v1 have a large value x(δ (v1 )) compared to vertices of type v2 and z, A will contain only vertices of type v1 and the cardinality of A will be exactly equal to p − 1. Notice also that we assumed that p ≤

|V | 2

which implies that p ≤

|V 0 | 4 .

Since we have x(δ (v1 )) = n2 (n−1)+n+1 for any v1 , the maximization of the violation is in fact equivalent to finding p − 1 vertices of type v1 such that maxC |C| − x(A,C) is maximum. Moreover, given a set A, C contains vertices v for which x(A, v) = 0 (all the other vertices 42

can be in B). Said another way, C will only contain vertices of type v2 and there is no edge between C and A. It is also obvious that we cannot have v1 ∈ A and v2 ∈ C. Now using the fact that an edge (v1 , w2 ) exists if and only if (v, w) does not exist in G, we deduce that we get a biclique by taking S = {v ∈ V, v1 ∈ A} and T = {v ∈ V, v2 ∈ C}. Since |S| = p − 1, the size of the biclique is proportional to |C|. In other words, this biclique has a maximum size and satisfies the cardinality constraint. ¥ Similarly to inequalities (2), there are cases where inequalities (4) can be separated in polynomial time. Proposition 5.5 If p ≤ q where q is any positive constant number, then inequalities (4) can be separated in polynomial time. Inequalities inducing facets (i.e., |A| = p − 1) can also be easily separated when p ≥ n − q. Proof: Let us start with the case p ≤ q. Subsets of vertices A of size less than p − 1 can be enumerated in polynomial time. For each fixed subset A, maximizing 2x(A) + x(A, B) − 2|A| − |B| is equivalent to minimizing |B| − x(A, B). Since x(A, B) + x(A,C) = x(δ (A)), it is enough to minimize |B| + x(A,C) (when A is fixed). This can be done by solving a minimum cut problem in an appropriate weighted graph G0 = (V 0 , E 0 ) where V 0 = {s,t} ∪ V \ A (s and t are two artificial vertices), and E 0 contains edges (s, v) of weight x(A, v) and edges (v,t) of weight 1. Let us now consider the case p ≥ n − q. We know from Proposition (4.9) that |A| = p − 1 is a necessary condition to generate facet defining inequalities. Subsets of vertices of cardinality p − 1 can be enumerated in polynomial time when p ≥ n − q. For each fixed subset A, we separate inequality (4) using the same technique as above (minimum cut in an appropriate graph). ¥ From the fact that 2x(A) + x(A, B) − 2|A| − |B| = ∑v∈A (x(δ (v) \ δ (C)) − 1) + |C| − |V |, it follows that separation is easy when C = V \ {A, B} is fixed. This will be used to heuris43

tically separate inequalities (4) for intermediate values of p. Separation is done heuristically. Each subset A computed in Section 5.2 to try to separate inequalities (2) is used as a starting set to try to separate inequalities (4). For example, if we get for some u (the Lagrangean multiplier of the previous section) |Au | > p − 1, then we take C = V \ Au and we solve the separation problem exactly for this C. If |Au | ≤ p − 1 for some u, we start with A = Au and we try to increase the size of A in a greedy way by adding the vertices v for which x(A, v) − 1 is maximum. If the size of A achieves p − 1, we increase the size of B using again the same greedy algorithm. The same is done with the subsets A obtained by applying the modified version of Bellman-Ford algorithm (Section 5.2).

6

On complexity and approximability

We already know that the problem of computing a minimum-weight spanning subgraph belonging to H p is NP-hard. We prove below that the problem is NP-hard even if p = Ω(nε ) for any strictly positive constant ε . Proposition 6.1 The problem of computing a minimum-weight spanning subgraph belonging to H p is NP-hard even if p = Ω(nε ) for any strictly positive constant ε . Proof: If ε ≥ 1, then the result is a direct consequence of the NP-hardness of the minimumweight Hamiltonian cycle problem (p = n − 1). Assume that 0 < ε < 1. Consider an instance of the minimum-weight Hamiltonian cycle 1

problem given by a weighted graph H = (V, E). We add to H a path T containing about |V | ε

vertices. T is connected to H at any arbitrary vertex. Let G be the graph obtained in this way. By taking p = |V | − 1, and computing a minimum-weight spanning subgraph of G belonging H p , we will get a minimum-weight Hamiltonian cycle of H connected to the 44

1

path T . Observe that p = |V | − 1 = Ω(|V | + |V | ε )ε = Ω(|V (G)|)ε . This ends the proof. ¥ The complexity of the problem when p is constant is still an open problem. Let us now assume that the graph G = (V, E) is complete and the edge weights are positive and satisfy triangular inequalities. We prove that there is a polynomial-time approximation algorithm of ratio 4: it produces a solution whose weight is within a factor 4 of the weight of a minimum-weight spanning subgraph belonging to H p . Proposition 6.2 If the graph is complete and the edge weights are positive and satisfy triangular inequalities, then there is a polynomial-time approximation algorithm with performance guarantee 4. Proof: We use the primal-dual algorithm of [7] to design constrained forests minimizing a downwords monotone 0 − 1 function. More precisely, let f be a function f : 2V → {0, 1} defined by f (S) = 1 if |S| ≤ p, and f (S) = 0 otherwise. This function is a downwords monotone 0 − 1 function since f (T ) ≤ f (S) if S ⊂ T . The problem consists in finding a minimum-weight subgraph such that the number of edges of each cut δ (S) is at least equal to f (S). In other words, we would like to compute a minimum-weight forest such that each connected component contains at least p + 1 vertices. Formally, the problem can be written as follows: min ∑ we xe e∈E

∑ xe ≥ f (S), ∀S : 0 < |S| < n

(14)

e∈E

xe ∈ {0, 1},

∀e ∈ E.

The primal-dual algorithm of [7] provides a solution whose weight is less than the double of the cost of an optimal forest. By doubling the edges of the forest given by the primal-dual algorithm, we get a graph whose connected components are Eulerian. Each connected component contains an Euler tour. This Euler tour can be transformed into a Hamiltonian cycle whose weight is less 45

than the weight of the Euler tour (as done in the very classical Christofides algorithm). Consequently, we obtain a graph where each connected component is a cycle of length at least p + 1. Since edges were doubled, the weight of this solution is less than 4 times the weight of the optimal forest. Moreover, the weight of an optimal forest is clearly a lower bound of the weight of an optimal subgraph belonging to H p . Since all operations are done in polynomial time, we have a polynomial-time 4-approximation algorithm. ¥ We still assume that the graph is complete and the edge weights are positive. When p ≥ n − q where q is a given constant, it is easy to see that any approximation algorithm for the minimum-weight Hamiltonian cycle problem can be used to get an approximation algorithm with the same ratio for our problem. Observe that if n ≤ 2q, the problem can be solved by simple enumeration. Moreover, if n > 2q, an optimal solution will contain exactly one cycle. Then, we can enumerate all subsets of vertices A having at most n − (p + 1) vertices, approximately compute a minimum-weight Hamiltonian cycle going through the vertices of G \ A, and connect the vertices of A to this Hamiltonian cycle using a greedy algorithm. The weight of the best solution obtained in this way can not be more than α times the weight of the optimal solution if α is the performance ratio of the approximation algorithm used to solve the Hamiltonian cycle problems. Proposition 6.3 If the graph is complete, the edge weights are positive, and p ≥ n − q where q is a given constant, then any approximation algorithm of ratio α for the minimumweight Hamiltonian cycle problem leads to an approximation algorithm with ratio α for the problem of computing a minimum-weight subgraph with unicyclic connected components and a lower-bounded girth. Observe that the previous proposition implies that we have a 32 -approximation algorithm when the weights satisfy triangular inequalities and also a polynomial-time approximation scheme if the graph is Euclidean (when p ≥ n − q). 46

7

Computational experiments

A cutting-plane algorithm is implemented to solve the problem. We used formulation (1) in addition to inequalities (2), (4) and (5). They are considered in this order: (2)+(4) and finally (5). Remember that inequalities (2) and (4) are simultaneously separated. Inequalities x(δ (v)) ≤ n − p + 1 are directly included in the linear program. After the cutting-plane algorithm, we switch to a branch-and-cut algorithm implemented using the callback functions of [13]. While the 3 sets of inequalities are generated in the cutting-plane phase (at the root node), only inequalities (2) are considered in the other nodes of the branch-and-cut tree. We made this choice for two reasons. First, the separation of inequalities (5) is time consuming. Second, we know that any integer solution satisfying inequalities (2) is a feasible solution, so the branch-and-cut algorithm will necessarily end with an optimal solution (when there are no time and memory space limitations). Notice that any non-feasible integer solution can be separated in polynomial time by solving the modified version of Bellman-Ford algorithm (to check whether there are cycles whose length is no more than p). A depth-first search strategy is used in the branch-and-cut algorithm. A first upper bound is obtained by computing a minimum-weight Hamiltonian cycle. This is done by solving a classical integer program where subtour elimination constraints are added in addition to the automatic cuts of [13]. Since all the instances considered here have at most 100 vertices, the minimum-weight Hamiltonian cycle problem is solved very rapidly. The computing times presented in this section integrate the time needed to obtain the upper bound. Some of the separation procedures include a maximum flow routine. We always use the maximum flow algorithm of [8]. All computational experiments are carried out on a computer with a 3.25 Gb RAM and a

47

2.39 GHz Pentium 4 processor. Table 1: Complete random Euclidean graphs n

20

35

50

65

p

sep

relax

Nb

Nb

time

time

cuts

nodes

6

0.7

0

1

0

12.9

12.6 13.3 0

3

31.7

10

1

0

1

0

16.3

17

0

1

16

2.7

0.3

3

0

18.2

28.3 12.3 2.3

0

1

7

4.7

0

5

0

11.1

18.3 25.7 0

1.3

1

16

17.3

0.3

34

0

13.4

44

128

236

30

185

6.3

270.7

0

16.5

60.3 10.3 60.7 19

100

12

22.3

0.7

23.7

0

8.7

29.3 24

25

66.7

0.3

186.7

0

10.1

45

1930.7 134.3

7200

3.4

15

86.7

1

102.7

30

173

0.3

60 25 100 50 90

7.1

time

gap(%) gap2(%) (2)

(4)

(5)

15.3 0

26.3 0

0

3.7

1

51

22.3 0

183

587.3

18.5

75

15.3 190

1025.3 3064.7

0

6.7

38.3 32.3 0

33.7

410

0

7.9

59

158.7 335

5486.3 583.7

7200

4.8

17.2

91.3 21.7 200.3 48.7

730.7

484

1.3

510.7

0

7.1

65.3 28.3 0

10.7

15.7

1152

3.7

7200

5.7

14.7

73.3 21

627.3 1340.7

6093.3 1106.7 7200

7.8

18.2

135

30.3 0

0

23.7 22.7 0

62

1

Problem instances

Three types of test instances have been generated in addition to one real-world instance provided by Orange Labs and containing 32 vertices. The first set related to Tables 1, 4 and 5 is based on complete random Euclidean graphs. The coordinates of each vertex are chosen randomly and uniformly between 0 and 1. The weight of an edge is proportional to the distance between the extremities of the edge.

48

The second instance set (Table 2) is related to complete random graphs where weights are positive numbers chosen randomly and uniformly between 0 and 1000. The weight average is then equal to 500 and the standard deviation is equal to 288.7. The third set of instances (Table 3) is similar to the previous one. We only reduced the standard deviation which is now equal to 223.8. Said another way, the weights are here closer to their average (compared to the second instance set). While Euclidean instances are well suited for physical communication networks, the random instances of Tables 2 and 3 are considered here only to better understand the behavior of the algorithm. Different values of n and p are considered. Three instances are generated for each value of n and p. The results presented in Tables 1, 2, 3, 4 and 5 are obtained by averaging over the three instances.

7.2

Results

In tables 1, 2 and 3, "sep time" denotes the time (in seconds) needed to separate all cuts in the cutting-plane phase (before the branch-and-cut) while "relax time" is the time spent to solve the linear relaxation (before the branch-and-cut). "time" denotes the total time spent by the algorithm, including the branch-and-cut algorithm. The number of constraints that are generated by the cutting-plane algorithm (before the branch-and-cut) are also given: they are denoted by (2), (4) and (5). The number of constraints that are generated in the branchand-cut tree is denoted by "Nb cuts". Remember that only inequalities (2) are considered in the branch-and-cut tree. We also give the number of tree nodes "Nb nodes". The final gap (difference between the best upper bound and the best lower bound, divided by the upper bound) is denoted by "gap". If this gap is equal to 0, the problem is solved to optimality. We also give the value of "gap 2" which is the difference between the

49

best upper bound and the weight obtained when p = 2 divided by the upper bound. Since the weight obtained when p = 2 is a lower bound, we necessarily have gap ≤ gap 2. Computing time is limited to 2 hours. One can notice that constraints (5) are more efficient when p is large. However, their separation is time consuming. The cutting-plane phase is sometimes quite long when both n and p are large. For example, when n = 100 and p = 90, the time limit is achieved before starting the branch-and-cut. Then, the upper bound is simply given by the weight of a minimum-weight Hamiltonian cycle while the lower bound is given by the optimum of the last linear relaxation. From Tables 2 and 3 we observe that the problem becomes easier to solve when the standard deviation of the weights is smaller. "gap2" also seems to decrease when the standard deviation decreases. To better evaluate the quality of the linear relaxations given by our valid inequalities, we present in Table 4 the optimum objective values of the linear relaxations obtained in these cases: when only inequalities (2) are considered in the cutting plane phase, when both inequalities (2) and (4) are considered, and finally when all inequalities (2), (4) and (5) can be generated. Notice that we focus here on the cutting-plane phase, and not on the branch-and-cut. The instances considered in Table 4 are the Euclidean instances of Table 1. We also present the value of the lower bound (obtained by relaxing the girth constraint) and the upper bound given by the branch-and-cut algorithm (which is generally equal to the optimum). Observe again that constraints (5) seem to be more efficient when p is close to n. Notice that the experiments of Tables 1, 2, 3 and 4 were conducted without using the automatic cuts of [13]. In Table 5 Euclidean instances of Table 1 are considered again and the problem is solved by integrating the automatic cuts of [13]. We present again the total

50

time "time", the number of nodes of the search tree "Nb nodes", the number of automatic cuts generated in the branch-and-cut "Nb CPX cuts", the number of cuts (other than Cplex cuts) generated in the branch-and-cut "Nb cuts" and the final gap "gap". The right part of Table 5 is similar to Table 1 while the left part presents results related to experiments integrating Cplex cuts (automatic cuts). One can observe that the use of Cplex cuts does not seem to improve the results. Table 2: Complete random graphs with high relative standard deviation n

Nb

Nb

cuts

nodes

0

1

11.7 3.3

42.7

134

21

24.7 24

1.3

1

0.6

1.3

1.3

0

0

1

5.9

8.3

16

0

333.3 929.7

2914.7 6.3

29.9

41.3 21

10.3

23.7

0

0.61

5.3

2.3

7200

25.1

27.5

14.3 17

45

3876.3 960.7 5399.3 12.1

38.4

57.3 33.3 373

127

1588.7

15

60.7

0.3

121.7

0

1.7

8.3

16.7 0

39.7

127.7

30

529.3

6

7200

28.2

29.9

30

24

60

6742

458

7200

12.3

36.2

87

37.7 221

0

25

479.3

2

5142

4.9

5.6

8.6

17.7 0

422.3 1123.7

100 50

5628

38

7200

39.3

40.4

21.7 42.7 37

7200

22.5

41.3

77.3 48.3 20.7 0

20

35

50

65

p

sep

relax time

time

time

6

0

0

0

0

2.3

1.7

2.7

10

0

1.3

3

0

8.5

7.3

16

9

0.7

10.7

0

26.2

7

0.7

0

1

0

16

11.7

0

106.7

0

30

399.7

62.7

12

0

25

145

90

7154.7 42.3

gap(%) gap2(%) (2)

(4)

(5)

0

147.3 1854

12.7 0

6.3

24414.3 3.3

12.7 4934.7 20551

16.7 1819.3 6785.3 1

203.3 190 1

Finally, Figure 12 presents the minimum weight (more precisely "gap 2") as a function of p. Here we focus on the real-world instance with 32 vertices. The problem is solved to optimality for each value of p between 2 and 31. Observe that there is an important weight 51

Table 3: Complete random graphs with low relative standard deviation n

sep

relax time

time

time

6

0

0

0

0

0.3

2

3

10

0.7

0

1.3

0

1.3

5.7

11

16

16.3

0.7

74.3

0

3.9

20.3 22

43.3 411

2562.3

7

1

0

1

0

0.1

2.7

0

0

0

1

16

7

0.3

114

0

0.3

6.7

8.7

0

342.7 1142

30

226.3

9

2678

0

6.4

47.3 24

76

2756

24841

12

7

0

28

0

0.1

5.3

11

0

3

1.7

25

116.3

0.7

7200

5

5.5

14

14.3 8.7

45

2298.3 225.7 5536.7 2.3

7.7

55.3 30.7 218

670

8482.3

15

54.7

0

178

0

0.1

8

52.3

86.7

30

450.3

2

7200

3.2

3.4

26.3 25.3 14

2083.7 6330

60

6883

317

7200

2.3

6.7

81.7 28.7 222

0

1

25

501.3

1.7

6550

0

0.1

11.7 29.7 0

625

1033

100 50

3956

22.7

7200

4.7

4.8

25.7 36.3 40.3 594.7 2164.3

7123.3 76.7

7200

2.4

4.8

72.3 56

20

35

50

65

p

90

gap(%) gap2(%) (2)

52

(4)

(5)

Nb

Nb

cuts

nodes

0

0

1

1

27.7

69.7

15.7 0

19

4502.3 19953.3

0

1

Table 4: Evaluation of different linear relaxations n

p

lower

(2)

(2)+(4)

(2)+(4)+(5) upper

bound

bound

6

289.1

326

326

326

326

10

289.1

330.3

330.3

330.3

330.3

16

289.1

337.6

337.6

337.6

337.6

7

356.4

400

400

400

400.1

16

356.4

406.4

407

407

409

30

356.4

409

409

409

430

12

444

485.6

485.8

485.8

486.8

25

444

487.7

488.8

488.8

493.6

45

444

487.7

491.9

512.6

545.2

15

512.3

536.2

538.2

552.6

554.9

30

512.3

553.9

554.3

554.3

556.6

60

512.3

554.5

559.2

588.6

619

25

638.4

679.7

681.3

681.3

684.9

100 50

638.4

679.7

681.7

681.7

749.2

90

638.4

681.2

689.9

715.5

777.8

20

35

50

65

53

Table 5: Effect of Cplex cuts on the branch-and-cut

n

p

time

With

Without

CPX

CPX

Cuts

Cuts

gap(%) Nb CPX

Nb

Nb

cuts

nodes

time

gap(%) Nb

Nb

cuts

nodes

cuts

20

35

50

65

100

6

0.3

0

24.3

2.7

6.3

1

0

3

31.7

10

1

0

0

0

1

1

0

0

1

16

3

0

0

0

1

3

0

0

1

7

4.3

0

2.3

0.3

1

5

0

1.3

1

16

14.7

0

64.3

11.7

4.7

34

0

128

236

30

607

0

1218

309.3

540

270.7

0

19

100

12

23.3

0

58

5.3

1

23.7

0

3.7

1

25

172

0

1004.7

170.3

455.3

186.7

0

183

587.3

45

7200

5.5

19498

984

14690

7200

3.4

1025.3

3064.7

15

111.3

0

501

40.7

78

102.7

0

33.7

62

30

881

0

8163.7

507.3

1769

410

0

158.7

335

60

7200

4.8

1899.7

37.7

456

7200

4.8

48.7

730.7

25

809

0

2367

102.3

138.3

510.7

0

10.7

15.7

50

7200

6.3

35776

565

4199.7

7200

5.7

627.3

1340.7

90

7200

7.8

0

0

1

7200

7.8

0

1

54

increase when p is close to |V | − 1. This was also observed on other instances.

Figure 12: The minimum-weight as a function of p for the 32 vertices graph

8

Conclusion and further research

A cutting-plane algorithm was proposed in this paper to solve the problem of computing a minimum-weight subgraph with unicyclic connected components and a girth constraint. Many extensions of this works are now under study. We are looking for other valid inequalities to handle larger size instances. Other technical constraints have to be introduced in the model, such as bounds related to vertex degrees, the number and the sizes of connected components, etc. We already mentioned that the optimization problem we are considering is NP-hard when p = Ω(nε ) for any positive number ε . The complexity is still open when p is a constant. Another research direction is related to the approximability of the problem for some particular graph classes and also for some small values of p. We already observed that there is a polynomial-time 4-approximation algorithm for instances where the edge weights are

55

positive and satisfy triangular inequalities. We also point out that the minimum cut approach used to separate inequalities (5) may be used to prove that some other graph optimization problems are easy to solve. Finally, it seems that this is the first time that the bicircular matroid is used in the context of polyhedral combinatorics. We think that many optimization problems involving cycles can be modeled using the compact formulation related to the bicircular matroid with additional constraints.

Acknowledgments The authors wish to thank the anonymous referees for a number of insightful comments that have led to a substantially improved paper.

56

References [1] R. Baldacci, M. Dell’Amico and J. Salazar González, The capacitated m-ring-star problem, Operations Research 55 (2007), 147-1162. [2] W. Ben-Ameur, Constrained length connectivity and survivable networks, Networks 36 (2000), 17-33. [3] G. Cornuéjols and W. Pulleyblank, A matching problem with side constraint, Discrete Mathematics 29 (1980), 135-159. [4] M. Didi Biha and A.R. Mahjoub, Steiner k-edge connected subgraph polyhedra, Journal of Combinatorial Optimization 4 (2000), 131-144. [5] R. Euler and A.R. Mahjoub,

On a composition of independence systems by circuit-

identification, Journal Of Combiatorial Theory Ser. B 53 (1991), 235-259. [6] M. Garey and D.S. Jhonson, Computers and Intractability, W.H. Freeman and Company, 1979. [7] M.X. Goemans and D.P. Williamson, A general approximation technique for constrained forest problems, SIAM Journal on Computing 24 (1995), 296-317. [8] A.V. Goldberg and R.E. Tarjan A new approach to the maximum flow problem, Journal of the ACM 35 (1988), 921-940. [9] L. Gouveia and E. Janssen, Designing reliable tree networks with two cable technologies, European Journal of Operations Research 105 (1998), 552-568. [10] M. Grötschel, C.L. Monma and M. Stoer, Design of survivable networks. Handbook in Operations research and Management science. Ball, Monma and Nemhauser (editors), North-Holland 7 (1995), 617-671. [11] M. Grötschel and M. Padberg, On the symmetric travelling salesman problem I: inequalities, Mathematical Programming 16 (1979), 265-280. [12] M. Grötschel and M. Padberg, On the symmetric travelling salesman problem II: lifting theorems and facets, Mathematical Programming 16 (1979), 281-302.

57

[13] ILOG CPLEX, ILOG CPLEX 11.1 user’s guide. [14] H. Kerivin and A.R. Mahjoub, Design of Survivable Networks: A survey, Networks 46 (2005), 1-21. [15] M. Labbé, G. Laporte, I. Rodriguez Martin and J.J.Salazar Gonzáles, The ring star problem: polyhedral analysis and exact algorithm, Networks 43 (2004), 177-189. [16] G. Laporte and I. Rodrigues Martin, Locating cycles in transportation and telecommunications networks, Networks 50 (2007), 92-108. [17] L.R. Matthews, Bicircular matroids, Quart. J. Math, Oxford 28 (1977), 213-228. [18] J.F. Maurras, Some results on the convex hull of Hamiltonian cycles of symmetric complete graphs, Combinatorial Programming: Methods and Applications, B. Roy, ed, Reidel, (1975), 179-190. [19] G. Nemhauser and L. Wolsey, Integer and combinatorial optimization, Wiley-Interscience, 1988. [20] R. Peeters, The maximum edge biclique problem is NP-complete, Discrete Applied Mathematics 131 (2003), 651-654. [21] A. Schrijver, Combinatorial optimization: polyhedra and efficiency, Springer, 2003. [22] M. Yannakakis, Edge-deletion problems, SIAM Journal on Computing 10 (1981), 297-309.

58