Approximating the Minimum Tour Cover of a Digraph

Given a directed graph G with non-negative cost on the arcs, a directed tour cover T of G is a cycle (not necessarily simple) in G such that either head or tail (or both of them) of every arc in G is touched by T. The minimum directed tour cover problem (DToCP), which is to find a directed tour cover of minimum cost, is NP-hard. It is thus interesting to design approximation algorithms with performance guarantee to solve this problem. Although its undirected counterpart (ToCP) has been studied in recent years, in our knowledge, the DToCP remains widely open. In this paper, we give a 2 log2(n)-approximation algorithm for the DToCP.


Introduction
Let G = (V, A) be a directed graph with a (non-negative) cost function c : A ⇒ Q + defined on the arcs.A directed tour cover T is a subgraph T = (U, F ) such that 1.For every e ∈ A, F contains an arc f intersecting e, i.e., f and e have at least one end-node in common.
2. T is a closed directed walk (or branching in the case of tree cover).
We consider in this paper the minimum directed tour cover (DToCP) problem which is to find a directed tour cover of minimum cost.As in the previous works [1,2] on the undirected tour cover, we allow the directed tour cover to be a closed directed walk, i.e., it may visit a node more than once, to avoid restricting the cost function c to be a metric.However, if the cost function c satisfies the triangle inequality, this directed walk can be short-cut into a simple directed cycle which covers every arc in A without increasing the cost.The undirected version of DToCP is the minimum tour cover (ToCP) problem which has been studied in recent years.The ToCP was introduced in a paper by Arkin et al. [1].The authors proved that ToCP is N P -hard and gave a purely combinatorial 5.5-approximation algorithm.Later, Konemann et al. [2] proposed an integer formulation for ToCP and used it to improve the approximation ratio to 3. In this paper, the DToCP was listed as an open problem.
We can prove that DToCP is N P -hard by a reduction from the metric Asymmetric Traveling Salesman Problem (ATSP).The proof is very similar to the one for ToCP described in [1].Given any instance G = (V, A) of ATSP, for every node v ∈ V , we create a new node v and an arc (v, v ) of cost +∞ to obtain a new graph G .Let us consider the DToCP on G , we can see that any directed tour cover on G must cover V .As the costs are metric, given any directed tour cover, we can find a traveling salesman tour on G of no greater cost.Hence, there is an one-to-one correspondence between the optimal solutions of DToCP on G and the optimal traveling salesman tours on G.Moreover, this reduction is approximation-preserving, i.e., if we have an α-approximation algorithm for DToCP then we can approximate the metric ATSP with the same ratio α.In our knowledge, the best approximation ratio for ATSP is so far 0.824 log 2 (n) achieved by Kaplan et al. [3].Therefore, it is rather difficult to design an algorithm of a constant approximation ratio for DToCP.In this paper, we will present a 2 log 2 (n)-approximation algorithm for the DToCP.This ratio is more than 2 times the ratio for ATSP, since our algorithm is inspired from the algorithm given by Konemann et al. [2] for the undirected case which is based on the bound of the Held-Karp relaxation for metric TSP.It is proved that the metric TSP costs no more than 3  2 the Held-Karp bound for the undirected case and the metric ATSP costs no more than log 2 (n) the Held-Karp bound for the directed case [4,5].Hence, our ratio 2 log 2 (n) for DToCP follows logically the best ratio 3 for ToCP.Our work for DToCP is motivated by the asymmetric versions of the applications enumerated by Arkin et al. for the undirected case, especially a special case of the Symmetric Traveling Purchaser Problem [1].We give here a concrete example of applications of DToCP, which is the following simplified version of the waste collection problem.A company is in charge of waste collection in an urban area.The area is supposed to be small enough so that one truck is sufficient to collect all of its daily wastes.The gather is done by the truck in early morning of each day.For each street in the area, waste should be regrouped at one of the end-points of the street in the night of the day before.When the truck goes along a street, this induces some cost to the company.Hence, the aim of the company is to find a cheapest tour from its depot for the truck such that the waste collection is accomplished for every street of the area.Note that streets could be one-way or sloping, making the costs asymmetric.This problem suggests that the depot should belong to the tour.We shall see that our algorithm for DToCP will also work for the case when the tour should contain a fixed vertex.
The paper is organized as follows: In Section 2, we present an integer formulation for DToCP.We discuss in Section 3 about the parsimonious property of Eulerian directed graphs, in particular in Section 3.1.We prove the equivalent directed version of Goemans and Bertsimas's theorem on splitting operations.In Section 3.2, we derive an equivalent linear program to the Held-Karp relaxation for metric ATSP.This linear program will be useful in the analysis of our algorithm's performance guarantee in Section 5. Before that, we state our approximation algorithm for DToCP in Section 4.
Let us introduce the notations that will be used in the paper.Let G = (V, A) be a digraph with vertex set V and arc set A. If x ∈ Q |A| is a vector indexed by the arc set A and F ⊆ A is a subset of arcs, we use x(F ) to denote the sum of values of x on the arcs in F , x(F ) = e∈F x e .Similarly, for a vector y ∈ Q |V | indexed by the vertices and S ⊆ V is a subset of vertices, y(S) denotes the sum of values of y on the vertices in the set S. For a subset of vertices S ⊆ V , let A(S) denote the set of the arcs having both end-nodes in S. Let δ + (S) and δ − (S) denote the set of the arcs having only the tail and head in S, respectively.Let δ(S) = δ + (S) ∪ δ − (S).We will call δ + (S) the outgoing cut associated to S, δ − (S) the ingoing cut associated to S and δ(S) simply the cut associated to S. For each vertex v ∈ V , let d + (v) be the outgoing degree of v which is equal to the number of arcs in G having v as tail and let d − (v) be the ingoing degree of v which is equal to the number of arcs in G having v as head.For two subset U, W ⊂ V such that U ∩ W = ∅, let (U : W ) be the set of the arcs having the tail in U and the head in W .For u ∈ V , we specify v as an outneighbor of u if (u, v) ∈ A and as an inneighbor of u if (v, u) ∈ A. For any u, v ∈ V , let p(u, v) be the number of arc-disjoint paths from u to v.For the sake of simplicity, in clear contexts, the singleton {u} will be denoted simply by u.When we work on more than one graph, we specify the graph in the index of the notation, e.g., δ + G (S) will denote δ + (S) in the graph G.

Integer Formulation
Given any tour cover T C of G, by definition, for any S ∈ F we have and by definition of F, a vertex subset S belongs to F if and only if V \ S belongs to F. This observation motivates our integer formulation for DToCP.For any e ∈ A, let x e indicate the number of copies of e included in the tour cover.We minimize the total weight of arcs included, under the condition that every outgoing cut associated to some S ∈ F should be crossed at least one.In order to ensure that our solution is a tour we also need to specify that for any node v ∈ V , the number of arcs entering v is equal to the number of arcs leaving v in the tour.This integer formulation can be stated as follows: x e ≥ 1 for all S ∈ F x e integer for all e ∈ A If one specific vertex u should belong to the optimal tour, we just need to set x e = e∈δ − (u) x e ≥ 1 in the formulation.Replacing the integrality constraints by x e ≥ 0 for all e ∈ A we obtain the linear programming relaxation.We use DToC(G) to denote the convex hull of all vectors x satisfying the above constraints (those of the linear programming relaxation).Clearly minimizing the linear cost function e∈A c e x e over DToC(G) can be done in polynomial time since the separation problem of the cut constraint can be solved in polynomial time.Indeed, given a candidate solution x and for every e ∈ A, let us consider x e as the capacity on arc e.For each pair of arcs e 1 , e 2 ∈ E, we compute the minimum capacity cuts δ + (U ) separating them.

Connectivity and the Splitting Operation
Given a positive integer k, suppose that we want to find a minimum cost strongly k-connected Eulerian directed subgraph of G, i.e., there are at least k arcs-disjoint paths between every pair of vertices.Moreover, each vertex in the subgraph should have the outgoing and ingoing degree both equal to k.The metric ATSP is a special case of this problem when k = 1.An integer formulation for the problem can be stated as follows.
subject to x e ≥ 0 and integer for all e ∈ A Let us consider the linear programming relaxation of (1).
subject to The parsimonious property for Eulerian directed graphs says that if the costs are metric, in (2), we do not need to impose that the degree of each vertex should be exactly k but only at least k.This means that the following linear program subject to x e ≥ 0 for all e ∈ A is equivalent to (2).
Theorem 1 If the costs c satisfy the triangle inequality then the optimum of (3) is equal to the optimum of the linear programming relaxation (2).
The parsimonious property can be also formulated for undirected Eulerian graphs.We simply replace the outgoing and ingoing cuts in ( 3) and ( 2) by the corresponding cut to obtain the two linear programs for the undirected case.
The undirected version of Theorem 1 (in a little more general form) has been proved by Goemans and Bertsimas [6].Their proof consists mainly in showing the following lemma.
Lemma 1 [6] Let G = (V, E) be an Eulerian multigraph.Let c G (i, j) (i, j ∈ V ) denote the maximum number of edge-disjoint paths between i and j.Let s be any vertex of G and let u be any neighbor of s.Then there exists another neighbor of s, say v, such that, by splitting su and sv, i.e., removing the edges su and sv and adding the edge uv, we obtain a multigraph G satisfying the following conditions: 1. c G (i, j) = c G (i, j) for all i, j ∈ V \ {s} and 2. c G (s, j) = min(c G (s, j), d G (s) − 2) for all j ∈ V \ {s}, where d G (s) represents the degree of the vertex s in G.
Condition 1 of Lemma 1 is a result due to Lovasz [7] on the connectivity properties of Eulerian multigraphs.Condition 2, added by Goemans and Bertsimas, states that splitting operation can be performed while maintaining most connectivity requirements involving vertex s.For the connectivity of Eulerian multi-digraphs, Jackson [8] shows a similar result as Lovasz's one (i.e., Condition 1) for Eulerian multigraphs.This result can be stated in the following lemma.
Lemma 2 [8] Given an Eulerian graph G. Let s be any node of G and let u be any outneighbor of s.Then there exists another inneighbor of s, say v, such that, by splitting (s, u) and (v, s), i.e., removing the arcs (s, u) and (v, s) and adding the arc (v, u), we obtain a multigraph G satisfying 1. p G (i, j) = p G (i, j) for all i, j ∈ V \ {s}.
Like the work of Goemans and Bertsimas for the undirected case, we will subsequently prove that we can add a similar condition as Condition 2 of Lemma 1 to Lemma 2 which express the connectivities involving s.We obtain the following lemma.Lemma 3 Let s be any node of G and let u be any outneighbor of s.Then there exists another inneighbor of s, say v, such that, by splitting (s, u) and (v, s), i.e., removing the arcs (s, u) and (v, s) and adding the arc (v, u), we obtain a multigraph G satisfying the following conditions: Proof.Our proof for Lemma 3 is very similar to the Goemans and Bertsimas' proof for Lemma 1.This latter is also in major part inspired from the one of Lovasz for Lemma 1 (Condition 1) which proceeds along the following lines.
1.There exists at most one set S satisfying: for some i, j ∈ V , i ∈ S, j / ∈ S and i = s and (c1) S is minimal with respect to the above two conditions.
2. If there is no such S, then any neighbor v of s can be used for the splitting operation.
3. If such a S exists then there exists at least one neighbor of s in S.Moreover, any neighbor of s in S can be used for the splitting operation.
We will show that this proof procedure can be used for the directed case.Let us remove the orientation on the arcs of G, then G becomes an undirected Eulerian multigraph.The following remark expresses the relation between c G (i, j), which is the number of edge-disjoint paths between i and j in undirected G, and p G (i, j), which is the number of arc-disjoint paths from i to j (or p G (j, i) for the number of arc-disjoint paths from j to i) in the original directed graph G.
Remark 1 Let δ G (S) be the cut associated to S in the undirected G.We have Hence, given any s ∈ V , applying the Lovasz's procedure for undirected G, we have • either there exists exactly a S satisfying (a1), (b1) and (c1).Reconsider S in the original directed G, we prove that S satisfies for some i, j ∈ V , i ∈ S, j / ∈ S and i = s and (c2) S is minimal with respect to the above two conditions.Indeed, by Remark 1, if The conditions (a1) and (a2) (or (c1) and (c2), respectively) are the same, independent from the fact that G is directed or not.
• otherwise, i.e., no S satisfying (a1), (b1) and (c1) exists.Then for all S ⊂ V such that s ∈ S and u / ∈ S, we have |δ ∈ S and i = s.Hence, we can select any inneighbor v of s and split (s, u) and (v, s) without changing the value of p G (i, j) for all i, j ∈ V \ {s}.
Hence we can summarize below the directed version of Lovasz's proof procedure.
2. If there is no such S, then any inneighbor v of s can be used for the splitting operation.
3. If such a S exists, then there exists at least one inneighbor of s in S.Moreover, any inneighbor of s in S can be used for the splitting operation.
To show Lemma 3, we add a new node ŝ to G and d + G (s) − 1 arcs from ŝ to s and d − G (s) − 1 arcs from s to ŝ.Let Ĝ be this new graph.Clearly, Ĝ is Eulerian.Moreover, Now applying the proof procedure to Ĝ, we can see that there are two possible cases: 1.There is no S ⊂ V ∪ {ŝ} that satisfies (a2), (b2) and (c2) expressed for Ĝ.Then we can select any inneighbor v = ŝ of s and do the splitting operation on the arcs (v, s) and (s, u).Let G be the resulted graph after this splitting operation.Since the splitting operation does not affect the connectivity of all the nodes in V ∪ {ŝ} \ {s}, we have p G (ŝ, j) = p Ĝ(ŝ, j) for all j ∈ V \ {s}.
Proposition 1 If such a S exists then ŝ ∈ S.
Proof.Indeed, if S does not contain any inneighbor of s other than ŝ, Hence, there would exist some i ∈ S, s = i = ŝ and j / ∈ S such that δ + Ĝ (S) = p Ĝ(i, j).This leads to a contradiction to the fact that S is minimal since S \ {s, ŝ} would separate i from j and as Therefore, there exists some v = ŝ such that by splitting (s, u) and (v, s) we obtain a graph Ĝ with p Ĝ(i, j) = p Ĝ (i, j) for all i, j ∈ V ∪ {ŝ} \ {s}.After removing ŝ, we obtain a graph G which can be also obtained from G by splitting off (s, u) and (s, v).G satisfies Moreover, due to splitting operation p G (s, j) ≤ p G (s, j) and p G (s, j) ≤ d + G (s) − 1.
We finish here the proof of Lemma 3. Proof of Theorem 1: Let C be the optimal value of (3) and C be the optimal value of (2).As (3) is a relaxation of (2), we have C ≤ C .To show C ≥ C let x be an optimal solution of (3), i.e., C = e∈A c e x e .We can assume without loss of generality that x is integer since there exists some integer p such that px is integer and we can replace k by p.k in (3) and (2).Let G = (V, A) be the multigraph which has x e copies of each arc e such that x e > 0. Applying repeatedly the splitting operation described in Lemma 3 with s chosen among the nodes of V such that x(δ + (s)) > k until d + G (i) = k for all i ∈ V , we will obtain a multigraph G such that • p G (i, j) ≥ k for all i, j ∈ V Let x be the point such that for each e ∈ A, x e is equal to the number of copies of e in G .We can see that x is a solution of (2).Since the costs satisfy the triangle inequality, each time we perform a splitting operation the cost of the solution does not increase, which implies that C = e∈A c e x e ≥ e∈A c e x e ≥ C .

Held-Karp Relaxation for ATSP and the Parsimonious Property
Let us consider the Asymmetric Traveling Salesman Problem (ATSP) on G.The Held-Karp bound for this problem can be computed by solving the following linear program: for all e ∈ A This linear program is called Held-Karp relaxation for ATSP.In fact the upper bound constraint x e ≤ 1 for all e ∈ A is redundant due to the degree constraints x(δ + (v)) = 1 and x(δ − (v)) = 1 for all v ∈ V .Thus, we can rewrite the Held-Karp relaxation as follows: subject to for all e ∈ A The following theorem is a direct application of Theorem 1.
Theorem 2 If the costs c satisfy the triangle inequality then the optimum of (4) is equal to the optimum of: subject to x(δ + (S)) ≥ 1 for all ∅ = S ⊂ V (included S singleton) x e ≥ 0 for all e ∈ A

Algorithm
We are now ready to state our algorithm for directed tour cover which is heavily inspired from the one for ToCP in [2].
(1) Let x * be the vector minimizing cx over DToC(G); be a graph with vertex set V U = U and the arc set A U is built as follows: for each pair of nodes i, j ∈ U , if there exists a path from i to j in G, create an arc (i, j) in G U with the cost c U ij being equal to the cost of the shortest path from i to j in G; (4) Run the Frieze, Galbiati and Maffioli heuristic [4] to find an approximate minimum traveling salesman directed tour on G U .Note that the linear program in step (1) can be solved in polynomial time by using the ellipsoid method with a minimum cut computation as separation oracle.The algorithm outputs a directed tour which spans U .We can see that U is vertex cover of G. Since for any arc e = (u, v) ∈ A, x * (δ + ({u, v})) ≥ 1 and x * (δ + ({u, v})) = x * (δ + (u)) + x * (δ + (v)) − 2x * e , at least x * (δ + (u)) or x * (δ + (v)) is greater or equal to 1  2 , i.e., at least u or v should belong to U .Therefore, the algorithm outputs a directed tour cover of G.

Performance Guarantee
Let x * be the vector minimizing e∈A c e x e over DToC(G) and U = {v ∈ V | x * (δ + ({v})) ≥ 1 2 }.Let y * = 2x * , and let k be the minimum integer such that ky * is integer.Let G = (V, Ã) be the multi-graph that has ky * e copies of arc e for each e ∈ Ã.Note that G is Eulerian.For any i = j ∈ V , let p G(i, j) be number of disjoint paths from i to j in G.
Remark 2 p G(u, j) ≥ k for all u ∈ U and j ∈ V \ {u}.
Proof.To prove the remark, we will show that for any S ⊂ V such that u ∈ S and j ∈ V \ S, we have |δ Consider the graph G U = (U, A U ) that is defined in Step (2) of the algorithm.Note that all the arcs in ÃU (with eventually multiple copies) are in A U but there may exist arcs in A U that are not in ÃU .Let x U be the vector in R |A U | such that for each e ∈ A U , x U e = pe k , where p e is the number of copies of e in ÃU (p e = 0 if e / ∈ ÃU ) .