Cédric Bentz

Marie-Christine Costa

Alain Hertz

On the edge capacitated Steiner tree problem

Given a graph G = (V, E) with a root r ∈ V , positive capacities {c(e)|e ∈ E}, and non-negative lengths { (e)|e ∈ E}, the minimum-length (rooted) edge capacitated Steiner tree problem is to find a tree in G of minimum total length, rooted at r, spanning a given subset T ⊂ V of vertices, and such that, for each e ∈ E, there are at most c(e) paths, linking r to vertices in T , that contain e. We study the complexity and approximability of the problem, considering several relevant parameters such as the number of terminals, the edge lengths and the minimum and maximum edge capacities. For all but one combinations of assumptions regarding these parameters, we settle the question, giving a complete characterization that separates tractable cases from hard ones. The only remaining open case is proved to be equivalent to a long-standing open problem. We also prove close relations between our problem and classical Steiner tree as well as vertex-disjoint paths problems.

We consider in this paper a generalization of the (rooted) Steiner tree problem. Assume we are given a capacity function c : E → N * , where c(e) is an upper bound on the number of paths containing e and linking r to terminals. Equivalently, for every e = (u, v) in a tree S rooted at r, the subtree of S rooted at v cannot contain more than c(e) terminals. Without loss of generality, we assume that c(e) ≤ K for each edge e. The minimum-length capacitated (rooted) Steiner tree problem is defined as follows:

a root vertex r ∈ V \ T ; two functions on E: a nonnegative length function and a positive capacity function c. Objective. Determine, if it exists, a minimum-length directed tree S rooted at r, that spans all the vertices of T and does not violate the capacity constraints.

. When (e) = 0 for all e ∈ E, ML-CAP-STEINER-TREE turns into a decision problem, denoted by CAP-STEINER-TREE, and consisting of determining whether there exists or not a tree rooted at r, spanning all the terminals, and not violating the capacity constraints.

, the authors provide approximation algorithms for a variant of ML-CAP-STEINER-TREE where the capacities are uniform and the problem always admits a feasible solution, since it is assumed that a metric completion of the graph is available. This paper addresses the problem where the demand is equal to 1 for each terminal vertex and K ≤ n -1.

As will be made clear in the next sections, there are strong links between ML-CAP-STEINER-TREE and the two following famous problems, namely the minimumlength vertex-disjoint paths problem (ML-VDISJ-PATH) and the minimum-length edge-cost flow problem (EDGE-COST-FLOW).

Minimum-Length Vertex-Disjoint Paths Problem (ML-VDISJ-PATH) Input. A graph G = (V, E); a nonnegative length function on E; p disjoint vertex pairs (s 1 , s 1 ), . . . , (s p , s p ). Objective. Find p mutually vertex-disjoint paths µ 1 , . . . , µ p of minimum total length so that µ i links s i to s i (i = 1, . . . , p).

Introduction

The graphs in this paper can be directed or undirected. Consider a connected graph G = (V, E) with a set T ⊂ V of terminal vertices, or simply terminals, and a length (or cost) function : E → Q + . Let r ∈ V \ T be a root vertex (i.e. there is a path from r to any vertex in V ) if G is directed or a special vertex called root if G is undirected. The (rooted) Steiner tree problem (STEINER-TREE) is to determine a directed tree S in G, rooted at r, spanning all terminals of T and having a minimum total length. The undirected Steiner tree problem, where one searches for a minimum-length tree spanning the terminals in an undirected graph, has been widely studied and the associated decision problem was one of Karp's 21 NP-complete problems [START_REF] Garey | Computers and intractability, a guide to the theory of NP-completeness[END_REF][START_REF] Hwang | The Steiner Tree Problem[END_REF][START_REF] Prömel | The Steiner Tree Problem[END_REF]. It also has many applications, as shown in [START_REF]Steiner Trees in Industry[END_REF][START_REF] Du | Steiner Tree Problems In Computer Communication Networks[END_REF]. This problem is APX-hard [START_REF] Bern | The Steiner tree problem with edge lengths 1[END_REF], but it can be solved in polynomial time when the number of terminals is fixed [START_REF] Dreyfus | The Steiner problem in graphs[END_REF][START_REF] Feldman | The Directed Steiner Network problem is tractable for a constant number of terminals[END_REF][START_REF] Watel | An FPT algorithm in polynomial space for the Directed Steiner Tree problem with Limited number of Diffusing nodes[END_REF], and admits constant ratio approximation algorithms otherwise [START_REF] Byrka | Approximation algorithms for directed Steiner problems[END_REF][START_REF] Robins | Improved Steiner tree approximation in graphs[END_REF]. There are less results about the directed version, which is a generalization of the undirected one and of the Set Cover problem, and only non constant ratio approximation algorithms are known [START_REF] Charikar | An improved LP-based approximation for Steiner tree[END_REF][START_REF] Feige | A threshold of ln n for approximating set-cover[END_REF]. Directed problems occur for instance in VLSI design [START_REF] Cong | Efficient algorithms for the minimum shortest path Steiner arborescence problem with applications to VLSI physical design[END_REF] or in multicast routing [START_REF]Steiner Trees in Industry[END_REF].

Minimum Edge-Cost Flow Problem (EDGE-COST-FLOW) Input. A graph G = (V, E); a positive integer K; two specified vertices s and t; a nonnegative length function on E; a positive capacity function c on E. Objective. Find a minimum-length feasible flow of K units from s to t, where the length of a flow is the sum of the lengths of the arcs/edges carrying a positive flow.

When (e) = 0 for all e ∈ E, ML-VDISJ-PATH is known as the vertex-disjoint paths problem and will be denoted by VDISJ-PATH. It is NP-complete in directed and undirected graphs [START_REF] Garey | Computers and intractability, a guide to the theory of NP-completeness[END_REF] and remains NP-complete for fixed p in directed graphs [START_REF] Fortune | The directed subgraph homeomorphism problem[END_REF], but it can be solved in polynomial time if p is fixed and the graph is either undirected [START_REF] Robertson | Graphs minors XIII: The disjoint paths problem[END_REF] or a directed acyclic graph [START_REF] Fortune | The directed subgraph homeomorphism problem[END_REF]. The NP-hardness results for VDISJ-PATH apply to ML-VDISJ-PATH as well, but for this latter problem the complexity is unknown in the case where p is fixed and the graph is undirected. However, a polynomial-time probabilistic algorithm for p = 2 has been recently presented in [START_REF] Björklund | Shortest Two Disjoint Paths in Polynomial Time[END_REF].

For any graph theoretical terms not defined here, the reader is referred to [START_REF] West | Introduction to Graph Theory[END_REF]. We use the term path both for a chain when the graph is undirected, and for a directed path when the graph is directed, i.e. when it is a digraph. If the graph is directed, recall that, in the definition of ML-CAP-STEINER-TREE, r is assumed to be a root vertex. This is a trivial necessary condition for the existence of a feasible solution and can be easily checked. Since all trees studied in this paper are directed from r towards the terminals, we use the term tree instead of directed tree. For a vertex v in a tree S, we denote by S(v) the subtree of S rooted at v. For a subgraph G = (V , E ) of G, we indifferently denote by (G ) or (E ) the sum of the lengths of the arcs/edges in G . Also, for e ∈ E, a rooted tree S in G, and two vertices u and v such that v is a descendant of u in S, we say that u is e-linked (resp. ē-linked ) to v in S if e belongs (resp. does not belong) to the path µ uv from u to v in S. Similarly, when we write that r is ē-linked to a subset T of terminals in S, this means that e does not belong to the paths in S that link r to the terminals of T . The capacity constraints therefore impose that, for all e ∈ E, r is e-linked to at most c(e) terminals in any feasible solution S to an ML-CAP-STEINER-TREE instance. Equivalently, S(v) contains at most c(e) terminals for all e = (u, v) in S.

The next section gives an overview of our results concerning ML-CAP-STEINER-TREE and explains how the paper is organized.

Overview of the results

In this section we show that our results provide a complete characterization of the complexity of ML-CAP-STEINER-TREE that allows us to distinguish beween easy and hard cases of the problem for digraphs, directed acyclic graphs (called DAGs) and undirected graphs. Notice that any undirected instance of ML-CAP-STEINER-TREE can be transformed into a directed one by replacing each edge by two opposite arcs having the same length and capacity. Hence, any positive result (existence of a polynomial-time algorithm or approximation result) for directed graphs is also true for undirected graphs, while any negative result for undirected graphs (NP-hardness or non-approximability result) is also true for directed graphs.

Apart from the assumption on the graph itself (undirected, directed or directed without circuits), the following parameters are considered: the number K of terminal vertices, the minimum and maximum edge capacities, and the edge lengths. More precisely, K can be fixed or not; the minimum and maximum edge capacities can be non depending on K (equal to 1 or not), they can be greater than or equal to K -κ (1 ≤ κ ≤ K -1), and they can be equal (uniform capacity) or not; the edge lengths can be all equal to 0, all equal to a positive value (i.e. uniform), or non uniform. We settle all cases except one, namely the undirected case with uniform capacity and fixed K ≥ 3, but we prove that ML-CAP-STEINER-TREE is then equivalent to ML-VDISJ-PATH in undirected graphs with fixed p, whose complexity is a long-standing open problem in this case [START_REF] Kobayashi | On Shortest Disjoint Paths in Planar Graphs[END_REF].

Our results are summarized in four tables. Each line of each table corresponds to a specific case of ML-CAP-STEINER-TREE and refers to the theorem where the case is settled. The first table contains results that are valid for the three types of graphs, while the next three tables contain results that are specific to digraphs, undirected graphs, and DAGs, respectively. In these tables, we denote by ρ the best possible approximation ratio for STEINER-TREE, and by ρ the best possible approximation ratio for ML-VDISJ-PATH with a fixed number of source-sink pairs.

The three trees drawn in Figure 1 provide another picture of the possible cases for the three types of graphs (digraphs, DAGs and undirected graphs). The numbers assigned to the leaves of these trees refer to the corresponding rows in the tables. The values of the three parameters appear on the branches and each branching node corresponds to a partition of the possible cases: the value on a branch excludes the values on the branches to the left. For instance, in undirected graphs, the capacities can be either uniform equal to 1, or at least K -1, or uniform of value at least 2 and at most K -2, or, finally, any capacities not yet considered.

Moreover, if a leaf corresponds to a branch where the values of some parameters are unspecified, then this means that the associated result holds even in the most general case (if it is a positive, i.e., tractability result) or in the most specific case (if it is a negative, i.e., hardness result) with regard to the unspecified values. For instance, the NP-hardness result associated with Leaf 7 holds even if K is fixed and if all lengths are 0 (since neither the value of K nor the lengths appear on this branch), and the result associated with Leaf 11 holds for any lengths and any capacities (since only the assumption on K being fixed appears on this branch).

Therefore, for digraphs, the branch "any capacity" includes the case of uniform capacities between 2 and K -2 for K fixed (or not). Concerning the last line of Table 3, if the capacity is uniform and K is fixed, then there exists some constant κ such that all capacities are equal to K -κ: hence, in the tree dealing with undirected graphs in Figure 1, the branch "any capacity", which leads to Case 8 of Table 3, excludes the case where K is fixed. We describe in Section 3 the structure of optimal solutions to an ML-CAP-STEINER-TREE instance. Section 4 is devoted to relations between ML-CAP-STEINER-TREE and ML-VDISJ-PATH. We prove in Section 5 some NP-hardness results for the general case, while special cases where the number K of terminals is fixed, or where all capacities are almost equal to K, are studied in Sections 6 and 7.

Structural properties of optimal solutions

We can assume, without loss of generality, that there is a bijection between the set of 1-degree vertices (leaves) in V \ {r} and T . Indeed, if t ∈ T is not a leaf, we can add a new terminal vertex t and an edge [t, t ] (or an arc (t, t )) with capacity 1 and length 0, and replace t by t in T . Moreover, if there is a leaf v / ∈ T ∪ {r} in G, then v can be removed from G since the removal of v from a solution S to an ML-CAP-STEINER-TREE instance gives a solution S which is at least as good as S.

A solution S (if any) to an ML-CAP-STEINER-TREE instance is a tree rooted at r, and defines K paths from r to the K terminals. The vertices with degree at least 3 in S\{r} are called junction vertices.

To each junction vertex v, we associate the set T v ⊆ T of terminals in the subtree S(v) rooted at v. Moreover, for an arc e = (u, v) in S, |T v | is the number of terminals to which r is e-linked in S. If there is no directed path linking two vertices v and w in S, then T v ∩ T w = ∅, otherwise S would contain a cycle.

Given a tree S spanning a set T of terminals, its skeleton is the tree obtained from S by iteratively contracting vertices v / ∈ T ∪ {r} with exactly one incoming arc (u, v) and exactly one outgoing arc (v, w) (i.e., the path (u, v, w) is replaced by an arc (u, w)). This means that there is an arc (u, v) in the skeleton of S if and only if there is a path from u to v in S, each internal vertex of this path being of degree 2 in S. When all capacities are 1, the skeleton of a feasible solution is a star, since the root is the only possible vertex with degree ≥ 2 in this skeleton. We now prove some properties which will be useful later.

Property 3.1 The skeleton of an inclusion-wise minimal tree S rooted at r and spanning K terminals (all of degree 1) contains at most 2K + 1 -d r vertices, where d r is the degree of root r in S.

Proof: Let n J be the number of junction vertices in the skeleton R of S. Clearly, R contains n R = K + 1 + n J vertices and n R -1 edges. Since the sum of the degrees of all vertices in R is 2(n R -1) = 2K + 2n J , we have 2K + 2n

J ≥ K + d r + 3n J , which implies n J ≤ K -d r and n R ≤ 2K + 1 -d r .
Property 3.2 Given an inclusion-wise minimal tree S rooted at r and spanning K terminals (all of degree 1), the path with minimum number of vertices from root r to a terminal in the skeleton of S contains at most O(log(K)) vertices.

Proof: Let R be the skeleton of S, n R its number of vertices, and l min the minimum number of vertices on a path from r to a terminal in R.

• If r has degree 1 in S, then R contains one vertex at levels 1 and 2, and at least 2 i-2 vertices at levels i = 3, . . . , l min . Hence, n R ≥ 2 + l min -2 i=1 2 i = 2 l min -1 , which implies l min ≤ log 2 (n R ) + 1.

• If r has degree at least 2 in S, then R contains at least 2 i-1 vertices at levels i = 1, . . . , l min . Hence, n R ≥ l min -1 i=0

2 i = 2 l min -1, which implies l min ≤ log 2 (n R + 1).
In both cases, it follows from Property 3.1 that l min = O(log(K)).

Notice that, if S is a complete binary tree, then l min = Ω(log(K)): therefore, up to a constant factor, the bound in the previous property cannot be improved.

Given a graph G with a root r and K terminals, a potential skeleton in G is defined as a tree P , rooted at r, spanning the K terminals, and such that the only vertices without outgoing arc are the K terminals, while any other vertex, except possibly r, has degree at least 3 in P (and hence in G). While the skeleton of a solution to an ML-CAP-STEINER-TREE instance is a potential skeleton, the reverse is not necessarily true, as illustrated in Figure 2. If we select the left arc incident to r in the first potential skeleton of the figure, then there are no three vertex-disjoint paths from the left neighbor of r to the terminals in G.

A potential skeleton which is the skeleton of four solutions to

ML-CAP-STEINER-TREE

A potential skeleton which is not the skeleton of a solution to Property 3.3 Given a graph G with n vertices, K terminals, and a root vertex r, it is possible to enumerate in O(n K-1 K O(K) ) time all potential skeletons of inclusionwise minimal trees rooted at r and spanning the K terminals in G.

Proof: As shown in the proof of Property 3.1, the skeleton of such a tree contains at most K -1 junction vertices. There are O(n K-1 ) ways of choosing at most K -1 junction vertices, and, for each such choice, it follows from Cayley's formula that there are at most (2K) 2K-2 different labelled trees containing only r, the K terminals, and the chosen junction vertices. We can orient the edges of every labelled tree from the root r towards the other vertices, which takes O(K) time per tree, and reject the labelled rooted trees that do not satisfy the definition of a potential skeleton. The whole procedure therefore takes O(n K-1 K O(K) ) time.

Links with vertex-disjoint paths problems

We detail in this section several links between ML-CAP-STEINER-TREE and some vertex-disjoint paths problems. Other links between Steiner problems in capacitated networks and vertex-disjoint paths have already been shown in [START_REF] Ma | On the Inapproximability of Disjoint Paths and Minimum Steiner Forest with Bandwidth Constraints[END_REF]. We begin with a simple complexity result in the case of unit capacities. In this case, an optimal solution to ML-CAP-STEINER-TREE necessarily consists of K vertex-disjoint paths with minimum total length, each one linking r to a terminal, and we obtain the following theorem. Proof: Assume the input graph G is directed, and let us add to G a new vertex s and an arc (t k , s) of length 0 and capacity 1 for each terminal t 1 , . . . , t k . Solving ML-CAP-STEINER-TREE then amounts to finding K internally vertex-disjoint paths from r to s, with minimum total length. It is well-known that this can be done in polynomial time, but we briefly recall how. We consider the graph H obtained from G by replacing each vertex v / ∈ {r, s, t 1 , . . . , t k } by an arc (v , v ) of length 0, and each arc (v 1 , v 2 ) (resp. (r, v), (v, t i ), i = 1, ..., k) by an arc (v 1 , v 2 ) (resp. (r, v ), (v , t i ), i = 1, ..., k) having the same length as the original one. All capacities are set equal to 1. It is then sufficient to determine a minimum-cost flow of k units from r to s in H by using any min-cost flow algorithm [START_REF] Gondran | Graphs and Algorithms[END_REF]. Recall that, if the graph G is undirected, we can transform it into a directed one by replacing each edge by two opposite arcs. In this case, only one of two opposite arcs associated to an edge carries a positive flow in the solution.

The following problem is a generalization of ML-VDISJ-PATH.

Minimum-Length Labelled Vertex-Disjoint Paths Problem (ML-LAB-VDISJ-PATH) Input. A graph G = (V, E); an integer k ≥ 1; a nonnegative length function on E; a label λ(e) ∈ {1, . . . , k} on every e ∈ E; p disjoint vertex pairs (s i , s i ), each one being associated with a set L i ⊆ {1, . . . , k} of labels. Objective: find p mutually vertex-disjoint paths µ 1 , . . . , µ p of minimum total length so that µ i links s i to s i and all labels on µ i belong to L i (i = 1, . . . , p).

When (e) = 0 for all e ∈ E, ML-VDISJ-PATH (resp. ML-LAB-VDISJ-PATH) turns into a decision problem, denoted by VDISJ-PATH (resp. LAB-VDISJ-PATH). Notice that ML-VDISJ-PATH is the special case of ML-LAB-VDISJ-PATH where L i = {1, . . . , k} for i = 1, . . . , p. We now show several links between ML-CAP-STEINER-TREE and some variants of ML-VDISJ-PATH and ML-LAB-VDISJ-PATH. Proof: Assume first that the input graph G = (V, E) of the ML-VDISJ-PATH instance is undirected. Let G = (V , E ) be defined as follows: V is obtained by adding to V a vertex r and K = p(p + 1)/2 terminals t i j , 1 ≤ j ≤ i ≤ p; E is obtained from E by adding an edge of capacity i and length 0 between r and every s i , i = 1, . . . , p, as well as edges of capacity 1 and length 0 between s i and every t i j , 1 ≤ j ≤ i ≤ p. The edges of E keep their original length, while their capacity is fixed to p. We prove that solving ML-VDISJ-PATH in G is equivalent to solving ML-CAP-STEINER-TREE in G . The construction of G from G is illustrated in Figure 3 for p = 3, with the pair (c(e), (e)) on every e ∈ E .

Given a solution S to ML-VDISJ-PATH in G, one can get a solution S to ML-CAP-STEINER-TREE in G of same total length by orienting all paths from s i to s i , i = 1, . . . , p, and then adding the p arcs (r, s i ), as well as the p(p + 1)/2 arcs incident to the terminals. Now, assume there is a solution S for ML-CAP-STEINER-TREE in G . Since there are p(p + 1)/2 terminals while the sum of the capacities of the edges incident to r is precisely this amount, we know that r is (r, s i )-linked to exactly i terminals in S ,

( 1 , 0 ) (2,0) ( 3 , 0 ) r ( 1 ,0 ) ( 1 ,0 ) (1 ,0) (1 ,0 ) (1,0) ( 1 ,0 ) G=(V,E) s 1 s 2 s 3 s 1 s 2 s 3 ' ' ' t 2 2 t 3 1 t 3 2 t 3 3 t 2 1 t 1 1 (3,l(e)) e Figure 3: From ML-VDISJ-PATH in G = (V, E) with p = 3 to ML-CAP-STEINER-TREE in G = (V , E ) with K = 6. i = 1, . . . , p.
In particular, r is (r, s p )-linked to p terminals, and these are necessarily t p 1 , . . . , t pp , otherwise S would contain a cycle. Using the same argument, with i decreasing from p to 1, we get that r is (r, s i )-linked to t i 1 , . . . , t i i . Notice that all paths from r to t i j , j = 1, ..., i, use the same sub-path from s i to s i . Hence, by removing from S all arcs incident to r and to the terminals, we get a solution S to ML-VDISJ-PATH with same total length. The proof for digraphs is obtained by replacing "edge" by "arc" in the construction of G . Proof: The proof is similar to the previous one. The main difference is the definition of G = (V , E ). In the undirected case, V is obtained by adding to V two vertices r and v and K terminals t 1 , . . . , t K ; E is obtained from E by adding the edges

[r, v], [r, s 2 ], [v, s 1 ], [v, t 1 ], [s 1 , t 2 ], [s 2 , t i ] for i = 3, . . . , c + 2,
and [r, t i ] for i = c + 3, . . . , K. The edges of E keep their original length while those in E \ E have length 0. All capacities are set equal to c. We then prove that ML-VDISJ-PATH on G is equivalent to ML-CAP-STEINER-TREE in G in a similar way as in the previous theorem. The only path that goes from r to t 1 contains rv, and hence the remaining capacity on this edge is c -1: this implies that the paths from r to the c terminals adjacent to s 2 must contain rs 2 , and the rest of the proof is unchanged. The proof for digraphs is obtained by adding arcs instead of edges to obtain G . Theorem 4.4 ML-VDISJ-PATH with p ≥ 2 source-sink pairs is polynomially reducible to ML-CAP-STEINER-TREE with p 2 terminals and uniform capacity p.

Proof: Again, the proof is similar to the one of Theorem 4.2. In this case, G = (V , E ) is constructed as follows. V is obtained by adding to V a vertex r, p -1 vertices v 1 , . . . , v p-1 and p 2 terminals t i j with 1 ≤ i, j ≤ p; E is obtained from E by adding the edges [r, s p ], [r, v i ] and [v i , s i ] for i = 1, . . . , p -1, as well as edges between s i and every t i j with 1 ≤ j ≤ i ≤ p and edges between v i and every t i j with 1 ≤ i < j ≤ p. The edges of E keep their original length while those in E \ E have length 0. All capacities are set equal to p. We then prove that ML-VDISJ-PATH on G is equivalent to ML-CAP-STEINER-TREE in G in a similar way as in Theorem 4.2. Notice that, in this case, given any solution S to ML-CAP-STEINER-TREE in G , r is necessarily (r, v i )-linked to terminals t i j (j = 1, . . . , p) for all i = 1, . . . , p -1, and r is (r, s p )-linked to terminals t p j (j = 1, . . . , p).

Remark 4.1 The results stated in Theorems 4.2, 4.3 and 4.4 are also valid for ML-VDISJ-PATH and ML-CAP-STEINER-TREE with strictly positive lengths, since the arcs or edges added to G in order to obtain G can have arbitrary lengths. Indeed, the total length of a solution S to ML-VDISJ-PATH will then differ from the total length of the corresponding solution S to ML-CAP-STEINER-TREE by a value equal to the total length of the added arcs or edges.

We next show that, when the number K of terminals is fixed, ML-CAP-STEINER-TREE is polynomially reducible to ML-LAB-VDISJ-PATH. Theorem 4.5 When K ≥ 1 is fixed, ML-CAP-STEINER-TREE can be reduced in polynomial time to ML-LAB-VDISJ-PATH with a fixed number of source-sink pairs.

Proof:

We first consider the undirected case. Let I be an instance of ML-CAP-STEINER-TREE in a graph G containing K terminals. It follows from Property 3.3 that the set of potential skeletons of optimal solutions to I can be enumerated in O(n K-1 ) time (since K is a constant), where n is the number of vertices in G.

To every such potential skeleton S, we associate a graph G = (V , E ) constructed as follows, in order to deal with vertex-disjoint paths (and not internally vertexdisjoint paths). For each arc (u, v) of S, we create a copy u v of u and a copy v u of v; hence, every vertex v of S is replaced in G by d v copies of v, where d v is the degree of v in S. All vertices of G that do not appear in S are also put in V (with only one copy of each). For each edge [u, v] of G we put an edge of same length in G between each copy of u and each copy of v. This construction is illustrated in Figure 4.

We then create a source-sink pair (u v , v u ) in G for all arcs (u, v) in S. From Property 3.1, S contains at most 2K vertices, and there are therefore at most 2K -1 such pairs. For each v ∈ V , let K v denote the number of terminals in the subtree S(v) of S rooted at v, and let L uv be the set of labels associated with the sourcesink pair (u v , v u ). We set L uv = {K v , . . . , K}. In the example of Figure 4, we have L rb = {3}, L be = {2, 3}, and

L bt 1 = L et 2 = L et 3 = {1, 2, 3}.
The label λ(e) associated with an edge e in G is the capacity of the corresponding edge in G.

An optimal solution to ML-LAB-VDISJ-PATH in G (if any) corresponds to a minimum-length solution to ML-CAP-STEINER-TREE in G having S as skeleton. Since we enumerate all potential skeletons, the best solution to ML-CAP-STEINER-TREE obtained during this enumeration is an optimal solution for I. The proof is similar for digraphs, by replacing edge by arc. The given graph G A potential skeleton

The associated graph G' with a solution in bold lines to ML-LAB-VDISJ-PATH

The associated solution to Proof: The proof is similar to the proof of Theorem 4.5. However, since the capacities are all equal to a constant c, we do not have to use labels. Consider any potential skeleton S: if r has at least one successor v such that the number of terminals in the subtree S(v) of S rooted at v is strictly larger than c, then S can be rejected since it cannot correspond to the skeleton of a tree satisfying the capacity constraints. Otherwise, an optimal (resp. a feasible) solution to ML-VDISJ-PATH is a minimum-length (resp. a feasible) solution to ML-CAP-STEINER-TREE having S as skeleton.

The relations proved in this section are summarized in Figure 5, where a trivial polynomial reduction corresponds to a generalization of a special case. We recall that VDISJ-PATH is NP-complete in digraphs, even with p = 2 souce-sink pairs [START_REF] Fortune | The directed subgraph homeomorphism problem[END_REF], while it is polynomial-time solvable in undirected graph [START_REF] Robertson | Graphs minors XIII: The disjoint paths problem[END_REF] and DAGs [START_REF] Fortune | The directed subgraph homeomorphism problem[END_REF] when p is fixed.

We close this section by mentioning that the reductions given in Theorems 4.2 and 4.4 are FPT-reductions [START_REF] Downey | Parameterized Complexity[END_REF] with parameters p and K = O(p 2 ).

NP-hardness of the general case

In this section, we prove some NP-hardness and NP-completeness results. We first show that CAP-STEINER-TREE in digraphs is NP-complete even if K ≥ 3 is fixed, the minimum capacity c min is any value in {1, . . . , K -2}, while the maximum capacity c max is at least 2. For undirected graphs, we have the following result:

VDISJ-PATH ML-LAB-VDISJ

Theorem 5.3 CAP-STEINER-TREE is NP-complete in undirected graphs, even if K ≥ 3 is fixed and if the minimum capacity c min and the maximum capacity c max are two fixed constants, with c min ∈ {1, . . . , K -2} and c min < c max .

Proof: We give a polynomial-time reduction from SAT. Assume first that K = 3 and all edge capacities are equal to 1 or 2. Let X = {x 1 , ..., x ξ } be the set of variables and let C = {C 1 , ..., C ν } be the set of clauses in an arbitrary instance I of SAT. For each variable x i , we denote by o i (resp. ōi ) the number of occurrences of x i (resp. xi ) in the clauses. We can assume, without loss of generality, that o i ≥ ōi for every i (by exchanging x i and xi everywhere in the clauses, if necessary). The following instance I of CAP-STEINER-TREE is associated to I.

For each variable x i , we construct a variable gadget as follows: we add two vertices v i 0 and v i 2o i +1 , and two vertex-disjoint paths between them. The first one, µ i , corresponding to literal also have capacity 1. The variable gadgets are linked together as follows: for each i ∈ {1, . . . , ξ -1}, there is an edge v i 2o i +1 v i+1 0 of capacity 1. For each clause C j , we construct a clause gadget as follows: we add two vertices u j 1 , u j 2 , and, for each literal x i (or xi ) contained in C j , we add edges u j

x i , is v i 0 , v i 1 , . . . , v i 2o i +1 ,
1 v i 2 -1 (or u j 1 vi 2 -1
) and v i 2 u j 2 (or vi 2 u j 2 ) of capacity 2, if this literal occurs -1 times in clauses C 1 , . . . , C j-1 . The clause gadgets are linked together as follows: for each j ∈ {1, . . . , ν -1}, there is an edge u j 2 u j+1 1 of capacity 2. We complete the construction of I by adding a root r and 3 terminals t 1 , t 2 , t 3 , as well as 3 edges v ξ 2o ξ +1 t 1 , u ν 2 t 2 and u ν 2 t 3 of arbitrary capacity (1 is fine, but any value fits), an edge rv 1 0 of capacity 1, and an edge ru 1 1 of capacity 2. The construction of I is illustrated in Figure 6 for

I with X = {x 1 , x 2 , x 3 } and C = {x 1 x2 , x 1 x 2 x 3 , x1 x 2 x3 }.
Solid lines have capacity 2 while dotted edges have capacity 1. Let S be a feasible solution to I (if any). To avoid cycles, the paths from r to t 2 and t 3 must use the same sub-path π 2 from r to u ν 2 , and thus all edges of π 2 must have capacity 2. So, π 2 starts with the edge ru 1 1 . Then, the only possibility is to use the edge u 1 1 v i 1 (or u 1 1 vi 1 ) for some i, and then the edges

v 0 v 1 3 v 1 1 v 2 1 v 3 1 v 4 1 v 5 1 v 0 2 v 1 2 v 2 2 v 3 2 v 4 2 v 5 2 v 3 3 v 2 3 v 0 3 1 1 1 2 2 1 3 1 2 2 3 2 v v v v v v u 1 u 2 u 2 2 u 1 2 u 1 3 r u 3 2 t 1 t 2 t 3 1
v i 1 v i 2 and v i 2 u 1 2 (or vi 1 vi
2 and vi 2 u 1 2 ). The next step is to use the edge u 1 2 u 2 1 . Using similar arguments with increasing values of j, we get that π 2 necessarily contains all edges u j 2 u j+1 1 with 1 ≤ j < ν, and ends at u ν 2 (which is adjacent to t 2 and t 3 ). Since π 2 starts with the edge ru 1 1 , the path π 1 from r to t 1 starts with the edge rv 1 0 . Moreover, to avoid cycles, π 1 and π 2 are internally vertex-disjoint. Since u j 1 and u j 2 belong to π 2 for all j, we conclude that, for each i, either π 1 contains µ i and then π 2 may contain only edges of μi , or π 1 contains μi and then π 2 may contain only edges of µ i . This means that, for each j, there is a subpath of three edges of π 2 , from u j 1 to u j 2 , containing one edge of µ i (resp. μi ) for i such that x i (resp. xi ) is one of the literals contained in clause C j , and there is no k for which the subpath from u k 1 to u k 2 contains one edge of μi (resp. µ i ). We can therefore define a satisfying truth assignment τ : X → {true, f alse} as follows: for each i,

if µ i is a subpath of π 1 , then τ (x i ) = f alse, else τ (x i ) = true.
Conversely, if there is a satisfying truth assignment τ for I, we construct a feasible solution for I as follows. The path π 1 from r to t 1 begins with the edge rv 1 0 and, for each i, π 1 has µ i as a subpath if τ (x i ) = f alse, and it has μi as a subpath if τ (x i ) = true. The path π 2 from r to u ν 2 begins with the edge ru 1 1 and can be constructed sequentially by using edges not contained in π 1 (this is always possible, since τ is a satisfying truth assignment for I). The solution to I is then obtained by adding edges v ξ 2o ξ +1 t 1 , u ν 2 t 2 and u ν 2 t 3 to π 1 ∪ π 2 . The solution to I corresponding to the truth assignment τ (x 1 , x 2 , x 3 ) = (true, true, f alse) for I is represented in Figure 6 with bold lines.

In order to generalize this reduction to any K ≥ 3, any c min ∈ {1, . . . , K -2}, and any c max > c min , we attach c min + 1 terminals to u ν 2 (instead of 2) and K -c min -2 terminals to r (instead of 0): the edges with capacity 1 and 2 become edges with capacity c min and c min + 1, respectively. Moreover, since the edges incident to the terminals can have any capacity, we can set the capacity of one of them to c max .

Notice that the previous result is not valid for DAGs since the graphs constructed in the above proof possibly contain circuits. We now prove a complexity result for LAB-VDISJ-PATH, i.e. ML-LAB-VDISJ-PATH with lengths 0.

Corollary 5.4 LAB-VDISJ-PATH with p source-sink pairs is NP-complete in undirected graphs, and hence in digraphs, for any fixed p ≥ 2, even if L i contains all labels for every i < p and L p contains all labels but one.

Proof: For p = 2, this follows from the proof of Theorem 5.3. Indeed, consider the two source-sink pairs (s

1 , s 1 ) = (v 1 0 , v ξ 2o ξ +1 ) and (s 2 , s 2 ) = (u 1 1 , u ν 2 )
, identify the label of each edge with its capacity, and set L 1 = {1, 2} and L 2 = {2}. We have shown that there is a feasible solution to the instance I of SAT if and only if there are two vertex-disjoints paths P 1 and P 2 linking s 1 to s 1 and s 2 to s 2 , and such that P 1 uses edges of label 1 or 2, while P 2 uses only edges with label 2. For larger values of p, we simply add dummy source-sink pairs. Note that this is in contrast with VDISJ-PATH, which is polynomial-time solvable in undirected graphs [START_REF] Robertson | Graphs minors XIII: The disjoint paths problem[END_REF] and in DAGs [START_REF] Fortune | The directed subgraph homeomorphism problem[END_REF] when p is fixed. A similar problem has been studied in [START_REF] Wu | On the maximum disjoint paths problem on edge-colored graphs[END_REF]. More precisely, TWOCOL-VDISJ-PATH is defined as follows: given an undirected graph in which every edge has color 1 or 2, and two sourcesink pairs (s 1 , s 1 ) and (s 2 , s 2 ), determine whether G contains two vertex-disjoint paths, the first one from s 1 to s 1 using only edges of color 1, and the second one from s 2 to s 2 using only edges of color 2. TWOCOL-VDISJ-PATH is the special case of ML-LAB-VDISJ-PATH where there are p = 2 source-sink pairs, all lengths are 0, and L i = {i} for each i ∈ {1, 2}. It is proved in [START_REF] Wu | On the maximum disjoint paths problem on edge-colored graphs[END_REF] that this problem is NP-complete. The reduction given in the proof of Theorem 5.3 yields an alternative proof of the NP-completeness of TWOCOL-VDISJ-PATH: indeed, as in the previous corollary, we can fix (s 1 , s 1 ) = (v 1 0 , v ξ 2o ξ +1 ) and (s 2 , s 2 ) = (u 1 1 , u ν 2 ), and identify the colors of the edges with their capacities. Also, for every variable gadget, we add a path consisting of two edges of capacity (color) 1 between the endpoints of the edges of capacity 2 so that P 1 (the path that goes through edges of capacity 1 and 2) can avoid edges with color 2.

The next result deals with DAGs and undirected graphs with uniform capacity.

Theorem 5.5 CAP-STEINER-TREE is NP-complete in DAGs and undirected graphs, even in the case of uniform capacity c, for any c ≥ 2 (not depending on K).

Proof: Let 3-SAT 3 be the satisfiability problem in which every clause contains at most 3 variables, every variable appears in at most 3 clauses, and every litteral (a variable or its complement) appears in at most 2 clauses. 3-SAT 3 is known to be NPcomplete [START_REF] Tovey | A simplified NP-complete satisfiability problem[END_REF]. We show how to polynomially reduce 3-SAT 3 to CAP-STEINER-TREE with uniform capacity c ≥ 2.

Let I = (X, C) be an instance of 3-SAT 3 with X = {x 1 , ..., x ξ } as set of variables and C = {C 1 , ..., C ν } as set of clauses. To obtain an instance I of CAP-STEINER-TREE with uniform capacity c, we construct the following graph G = (V, E): for every variable x i ∈ X, we create three vertices v i , vi , s i and c terminals T V i,1 , . . . , T V i,c ; for every clause C j ∈ C we create a terminal T C j ; finally we add a vertex r. For the directed case, we consider the following arcs: for every i = 1, ..., ξ, we create the arcs (r, v i ), (r, vi ), (v i , s i ), (v i , s i ), (s i , T V i,1 ), . . . , (s i , T V i,c ); for every j = 1, ..., ν we create the arcs (v i , T C j ) (resp. (v i , T C j )) if x i (resp. xi ) is in C j . All the arcs have capacity c. The resulting graph G can clearly be obtained in polynomial time and is a DAG. For the undirected case, we consider the same graph, but we replace each arc by an edge. The construction is illustrated in Figure 7 for c = 2 and the 3-SAT 3 instance where X = {x 1 , x 2 , x 3 , x 4 } and C = {x 1 x2 x 3 , x2 x3 x 4 }, the arcs being oriented from r down to the terminals in the directed case. Assume there is a truth assignment τ : X → {true, f alse} for I. We construct a feasible solution S to I as follows. If τ (x i ) = f alse (resp. τ (x i ) = true) then we include (v i , s i ) (resp. (v i , s i )) in S. For each clause C j , we choose one of the true litterals in C j , say x i (resp. xi ), and add the arc (v i , T C j ) (resp. (v i , T C j )) to S. Finally, for all i = 1, ..., ξ, we add the arcs (r, v i ), (r, vi ), (s i , T V i,1 ), . . . , (s i , T V i,c ) to S. Clearly, S is a tree rooted at r and spanning all the terminals; in fact, S is a spanning tree. For every i = 1, . . . , ξ with τ (x i ) = f alse (resp. τ (x i ) = true), r is (r, v i )-linked (resp. (r, vi )-linked) to T V i,1 , . . . , T V i,c , and is (r, vi )-linked (resp. (r, v i )-linked) to at most two terminals T C j associated with clauses containing xi (resp. x i ), since there are at most two such clauses. Since c ≥ 2, all capacity constraints are satisfied. The solution S associated with the truth assignment τ (x 1 , x 2 , x 3 , x 4 ) = (true, f alse, f alse, true) is represented in Figure 7 with bold lines. Now, let S be a feasible solution to I . Consider first the directed case. For all j = 1, ..., ν, there is at least one index i such that either (v i , T C j ) ∈ S and we then set τ (x i ) = true or (v i , T C j ) ∈ S and we then set τ (x i ) = f alse. If a variable did not get any value, we arbitrarily choose one, say true. This gives a truth assignment satisfying each clause C j . Let us verify that we have not assigned simultaneously values true and f alse to some variable. Notice first that, since S has no cycle, r is either (r, v i )-linked or (r, vi )-linked to the c terminals T V i,1 , . . . , T V i,c . Since all capacities equal c, this means that either v i or vi has no T C j (j = 1, . . . , ν) as successor, which means that we do not assign both values true and f alse to a variable x i .

r TV 1,1 TV 1,2 TV 2,1 TV 2,2 TV 3,1 TV 3,2 TV 4,1 TV 4,2 s 1 TC 1 s 2 s 3 TC 2 s 4 v 1 v 1 v 2 v 2 v 3 v 3 v 4 v 4
Consider now the undirected case. If there is an index i such that (s i , v i ) ∈ S, then (v i , s i ) ∈ S since, in this case, r must be (v i , s i )-linked to T V i,1 , . . . , T V i,c in S. Hence, (r, v i ) / ∈ S (otherwise, there would be a cycle in S) and we can replace (s i , v i ) by (r, v i ). Similarly, if (s i , vi ) ∈ S for some index i, we replace this arc by (r, vi ). Assume now that (v i , T C j ) ∈ S and (r, v i ) / ∈ S for some i ∈ {1, . . . , ξ} and j ∈ {1, . . . , ν}. Then, we have (T C h , v i ) ∈ S for some index h = j and we replace (T C h , v i ) by (r, v i ). We make a similar exchange if (v i , T C j ) ∈ S and (r, vi ) / ∈ S. After having performed all these replacements, we get a new spanning tree S , since each vertex (except the root) still has exactly one incoming arc. Moreover, S has the same structure as the tree S analyzed in the directed case. We can therefore obtain a satisfying truth assignment using the same rules as above.

Remember (see Section 1) that EDGE-COST-FLOW consists in determining a minimum-length feasible flow of K units from s to t in a given graph, where the length of a flow is the total length of the arcs/edges carrying a positive flow. EDGE-COST-FLOW is very close to ML-CAP-STEINER-TREE. Indeed, given an instance of ML-CAP-STEINER-TREE in a graph G with K terminals, we can construct a graph G obtained from G by adding a vertex r and linking every terminal to this new vertex. Solving EDGE-COST-FLOW in G with s = r and t = r is then equivalent to solving ML-CAP-STEINER-TREE in G, except that a feasible solution is not required to be a tree. The proof of Theorem 5.5 provides the following corollary: Corollary 5.6 EDGE-COST-FLOW is NP-hard in DAGs and undirected graphs, even if all lengths are 1 and all capacities are 1 or 2.

Proof: Consider first the directed acyclic case. Given an instance I = (X, C) of 3-SAT 3 , let us construct a graph G = (V, E), as in the proof of Theorem 5.5, setting c = 2. We then add a vertex r and link T V i,1 , T V i,2 (i = 1, . . . , ξ) and T C j (j = 1, . . . , ν) to r . For all arcs e incident to r, as well as those linking s i to T V i,1 and T V i,2 , we set (e) = 1, while (e) is set to 4ξ + 1 for all other arcs e. All arcs have capacity 2, except those incident to r which have capacity 1. We then solve an EDGE-COST-FLOW instance, looking for a flow of K = 2ξ + ν units from r to r . Let I be this instance. We prove that I is satisfiable if and only if the total length of an optimal solution to I is at most L = (4ξ + 1)(3ξ + 2ν) + 4ξ.

If there is a satisfying truth assignment for I, we construct a solution S to I as in the proof of Theorem 5.5, except that we add an arc from every terminal to r . It is not difficult to check that the total length of such a solution is at most L.

Consider now a solution S to I of total length at most L. Since the 2ξ + ν arcs incident to r have capacity 1, they all carry a positive flow. Hence, for every j = 1, . . . , ν, there is at least one index i such that (v i , T C j ) or (v i , T C j ) carries a positive flow in S. Moreover, for every i = 1, . . . , ξ, at least one of the arcs (v i , s i ) and (v i , s i ) carries a positive flow in S. Therefore, the total length of S is at least (4ξ + 1)(3ξ + 2ν) = L -4ξ, which means that no other arc e with (e) = 4ξ + 1 can belong to S. In particular, for every j = 1, . . . , ν, there is exactly one arc in S with a positive flow linking a vertex in {v 1 , v2 , v 2 , v2 , . . . , v ξ , vξ } to T C j , and, for every i = 1, ..., ξ, exactly one of the arcs (v i , s i ) and (v i , s i ) carries a positive flow flow in S. If (v i , s i ) (resp. (v i , s i )) carries a positive flow in S, then there is no flow on the arcs linking v i (resp. vi ) to a T C j since (r, v i ) (resp. (r, vi )) has capacity 2 while 2 units of flow are used to reach T V i,1 and T V i,2 . Hence the structure of S is the same as in the proof of Theorem 5.5, and we can set x i = f alse if (v i , s i ) carries a positive flow in S, and x i = true otherwise, to obtain a satisfying truth assignment for I.

To obtain a graph with uniform length 1, we replace each arc e by a path with (e) arcs of length 1.

The proof is similar for the undirected case.

We close this section by considering a final uniform case for ML-CAP-STEINER-TREE.

Theorem 5.7 ML-CAP-STEINER-TREE is NP-hard in any graph, even if all capacities are equal to K -κ for any positive constant κ and if all lengths are 1.

Proof: It is well-known that STEINER-TREE is NP-hard even in the case of unit lengths [START_REF] Garey | Computers and intractability, a guide to the theory of NP-completeness[END_REF]. Given any positive number κ, we show how to polynomially reduce STEINER-TREE with unit lengths to ML-CAP-STEINER-TREE with uniform capacity K -κ and unit lengths. Let I be an instance of STEINER-TREE in a graph G = (V , E ) with K terminals and (e) = 1 for all e ∈ E. We construct a graph G = (V, E) from G by adding κ terminals and linking them to r with edges/arcs of length 1. We then set all capacities to K to obtain an instance I of ML-CAP-STEINER-TREE with K = K + κ terminals, (e) = 1 and c(e) = K -κ for all e ∈ E. Clearly, solving I is equivalent to solving I, and I can be built from I in polynomial time.

ML-CAP-STEINER-TREE with a fixed number of terminals

In this section, we assume that the number K of terminals is fixed. The first theorem deals with undirected graphs having uniform capacity, and complements Theorems 5.3 and 5.5.

Theorem 6.1 In undirected graphs with a fixed number K of terminals and uniform capacity, CAP-STEINER-TREE is solvable in polynomial time, and ML-CAP-STEINER-TREE is polynomially equivalent to ML-VDISJ-PATH with a fixed number of source-sink pairs.

Proof: The first part of the theorem is a direct consequence of Theorem 4.6, since VDISJ-PATH is polynomial-time solvable -and even FPT-in undirected graphs when the number of source-sink pairs is fixed [START_REF] Robertson | Graphs minors XIII: The disjoint paths problem[END_REF]. The second part comes from Theorems 4.4 and 4.6.

On the one hand, recall that, for a fixed number p of source-sink pairs, the complexity of ML-VDISJ-PATH in undirected graphs is open for a long time [START_REF] Kobayashi | On Shortest Disjoint Paths in Planar Graphs[END_REF] (and so determining the one of ML-CAP-STEINER-TREE in this case is as hard as settling this open problem); however, there exists a probabilistic polynomial-time algorithm to solve the case with two source-sink pairs [START_REF] Björklund | Shortest Two Disjoint Paths in Polynomial Time[END_REF], although no deterministic one is known yet. On the other hand, Corollary 5.4 shows that ML-LAB-VDISJ-PATH with lengths 0 is already NP-complete in undirected graphs when p ≥ 2 is fixed. The next theorem shows that ML-LAB-VDISJ-PATH is tractable in DAGs if p is fixed, which will come in handy for proving that ML-CAP-STEINER-TREE is solvable in polynomial time in DAGs if K is fixed. Theorem 6.2 In DAGs, ML-LAB-VDISJ-PATH is solvable in polynomial time for any fixed number of source-sink pairs.

Proof:

We solve ML-LAB-VDISJ-PATH by using a dynamic programming algorithm. More precisely, consider a DAG G = (V, E) with a label λ(e) on each arc e ∈ E, and with p vertex-disjoint pairs (s i , s i ) and their associated label sets L i . We first order the vertices of G using a topological ordering, and denote by num(v) the position of each vertex v in such an ordering (i.e., num(u) < num(v) for all (u, v) ∈ E).

Let P be the set of p-tuples (v 1 , . . . , v p ) of vertices of G, and let f : P → N be the function such that f (v 1 , . . . , v p ) is the minimum total length of a set of p vertex-disjoint paths in G such that the ith one goes from s i to v i and uses only arcs with labels in L i . If num(v i ) ≤ num(s i ) for all i = 1, . . . , p, then f (v 1 , . . . , v p ) = 0 if v i = s i for all i, and f (v 1 , . . . , v p ) = +∞ otherwise. Consider now a p-tuple (v 1 , . . . , v p ) such that num(v i ) > num(s i ) for at least one index i, and let h be the index such that num(v h ) = max i:num(v i )>num(s i ) {num(v i )}. If v h = v i for some i = h, then f (v 1 , . . . , v p ) = +∞. Otherwise, let F be the set of vertices v such that num(v) ≥ num(s h ) and there exists an arc (v, v h ) whose label is in

L h . If F = ∅ then f (v 1 , . . . , v p ) = +∞; otherwise, we have f (v 1 , . . . , v h-1 , v h , v h+1 , . . . , v p ) = min v∈F { (v, v h ) + f (v 1 , . . . , v h-1 , v, v h+1 , . . . , v p )}.
The dynamic programming algorithm works as follows. For val from 2 to n, we enumerate all p-tuples v 1 , . . . , v p with max i:num(v i )>num(s i ) {num(v i )} = val and, for each of them, we compute the corresponding value of f . The number of enumerated p-tuples is thus in O(n p+1 ) and the value of each one can be computed in O(n), which yields an O(n p+2 )-time algorithm. The optimal value to the ML-LAB-VDISJ-PATH instance is then equal to f (s 1 , . . . , s p ).

Theorem 6.3 ML-CAP-STEINER-TREE is solvable in polynomial time in DAGs if K is fixed.
Proof: This is a direct consequence of Theorems 4.5 and 6.2.

Notice that ML-LAB-VDISJ-PATH in DAGs cannot be FPT in p (unless FPT=W [START_REF] Ahuja | Networks flows: Theory, Algorithm, and Applications[END_REF]), since VDISJ-PATH (i.e., the special case where all arcs have zero length and L i = {1, . . . , k} for each i) is W [START_REF] Ahuja | Networks flows: Theory, Algorithm, and Applications[END_REF]-hard with respect to p in DAGs [START_REF] Slivkins | Parameterized Tractability of Edge-Disjoint Paths on Directed Acyclic Graphs[END_REF]. Moreover, ML-CAP-STEINER-TREE cannot be FPT in K (unless FPT=W [START_REF] Ahuja | Networks flows: Theory, Algorithm, and Applications[END_REF]), since Theorem 4.4 shows that ML-VDISJ-PATH can be FPT-reduced to ML-CAP-STEINER-TREE (with respective parameters p and K = p 2 ).

ML-CAP-STEINER-TREE with large capacities

In this section, we study the case where all capacities are almost equal to the number of terminals. We first consider the case where the minimum capacity c min is at least equal to K -κ, where κ ≥ 0 is an arbitrary constant. In what follows, we denote by ρ the best possible approximation ratio for STEINER-TREE (ρ ≤ 1.39 in undirected graphs [START_REF] Byrka | Approximation algorithms for directed Steiner problems[END_REF]), and by ρ the best possible approximation ratio for ML-VDISJ-PATH with a fixed number of source-sink pairs. As mentioned in the previous section, ρ = 1 in DAGs, and determining whether ρ = 1 or not in undirected graphs is a long-standing open problem.

Without loss of generality, we assume in this section that (e) ∈ N * for all e ∈ E. If this is not the case, we modify the lengths as follows: for all e ∈ E, we multiply (e) by D|E| if (e) > 0, where D is the lowest common multiple of the denominators of the lengths (e), and we set (e) = 1 if e has length zero.

7.1 ML-CAP-STEINER-TREE with c min ≥ K-κ for any constant κ ≥ 0

The first result obtained in this section complements Theorem 5.7 and generalizes the first part of Theorem 6.1. Notice that, from Theorem 5.1, CAP-STEINER-TREE is NP-complete in digraphs with uniform capacity c = K -κ for any constant κ ≥ 2.

Theorem 7.1 In DAGs and undirected graphs having uniform capacity c = K -κ, CAP-STEINER-TREE is solvable in polynomial time and ML-CAP-STEINER-TREE can be approximated within a ratio of ρ + ρ, for any constant κ ≥ 0.

Proof: We first state and prove some useful properties. Let I be an instance of CAP-STEINER-TREE.

Claim 7.1 There is a feasible solution S for I if and only if there is a tree S R (called reduced tree) rooted at r, spanning a subset T ⊆ T of terminals, and such that, for every edge e incident to r in S R , r is ē-linked to at least κ terminals in S R .

Proof: A feasible solution for I is clearly such a tree. So, assume that such a tree S R exists. We iteratively complete S R to obtain a Steiner tree S spanning also the terminals in T \ T as follows. For every terminal t / ∈ T , we consider any path µ from r to t in G, and we add to S R the subpath of µ from v to t, where v is the vertex in S R ∩ µ the closest to t on µ. From the hypothesis, given any edge e of G (including those not in S R ), we know that r is ē-linked to at least κ terminals in S R . Hence, S does not violate the capacity constraints and is therefore a feasible solution to I. Claim 7.2 If S R is a minimal, i.e. inclusion-wise minimal, reduced tree, then each of its subtrees rooted at a vertex distinct from r contains at most κ terminals.

Proof: Let S R be a minimal reduced tree, and assume it contains a vertex v = r such that S R (v) contains at least κ + 1 terminals. We can assume without loss of generality that v is a child of r. Since all terminals are leaves, we can remove one of the terminals of S R (v) from S R to obtain a smaller reduced tree, a contradiction. Claim 7.3 A minimal reduced tree contains at most 2κ terminals.

Proof: Assume a minimal reduced tree S R contains at least 2κ + 1 terminals, and consider any child v of r in S R . It follows from the previous claim that r is (r, v)linked to at least κ + 1 terminals in S R . All terminals being leaves, we can therefore delete any terminal from S R to obtain a smaller reduced tree, a contradiction.

We can now prove Theorem 7.1. We first consider CAP-STEINER-TREE. According to Claim 7.3 and Property 3.1, the undirected skeleton of a minimal reduced tree can contain up to 4κ vertices. We therefore enumerate all labelled trees (including potential skeletons of reduced trees) on at most 4κ vertices. We then orient each of them from the root to the leaves, and for each such rooted tree we try to replace the arcs by vertex-disjoint paths in a similar way as in Theorem 4.6. If such a replacement is possible, we test whether the extended skeleton is a reduced tree: in such a case, we stop the enumeration since we know from Claim 7.1 that the CAP-STEINER-TREE instance I has a feasible solution. If no potential skeleton can be extended to a reduced tree, then I has no solution: indeed, if such a solution S exists, it contains a minimal reduced tree, whose skeleton is necessarily considered in our enumeration and then extended to a reduced tree, which leads to a contradiction.

There are O(K 2κ ) ways of choosing at most 2κ terminals among K. For each such choice of at most 2κ terminals, it then follows from Property 3.3 that the set of potential skeletons of minimal reduced trees spanning these terminals can be enumerated in O(n 2κ-1 ) time (since κ is a constant). Finally, at most 4κ -1 arcs must be replaced by vertex-disjoint paths in every potential skeleton (recall that this can be done in polynomial time in DAGs and undirected graphs, since κ is a constant). Hence, the whole process takes a polynomial time.

Consider now a ML-CAP-STEINER-TREE instance I . We proceed as above, but instead of choosing arbitrary vertex-disjoint paths, we solve the associated ML-VDISJ-PATH instance with a ρ -approximation algorithm, and, instead of stopping the enumeration when a reduced tree is found, we enumerate all of them and store the best one, denoted by S 1 . Notice that the total length of S 1 is at most ρ times larger than the total length of an optimal solution to I since such an optimal solution contains a reduced tree. We then use a ρ-approximation algorithm to determine a minimum-length Steiner tree S 2 spanning all the terminals not already spanned by S 1 . Clearly, the total length of S 2 is at most ρ times larger than the total length of an optimal solution to I . We finally build a solution S to I by removing from S 1 ∪ S 2 all arcs of S 2 entering a vertex with in-degree 2 in S 1 ∪ S 2 . This yields a (ρ + ρ)-approximation algorithm to ML-CAP-STEINER-TREE (with ρ = 1 for DAGs).

It follows from Theorem 5.3 that CAP-STEINER-TREE with non-uniform capacities is NP-complete in undirected graphs when the minimum capacity c min equals K -κ, for any constant κ ≥ 2. We show however that Theorem 7.1 can be extended to DAGs with non-uniform capacities.

Theorem 7.2 In DAGs with c min ≥ K -κ, CAP-STEINER-TREE is solvable in polynomial time and ML-CAP-STEINER-TREE can be approximated within a ratio of 1+ρ, for any constant κ ≥ 0.

Proof: As was the case for the previous theorem, we start with some claims. In particular, we extend the definition of a reduced tree to take into account the nonnecessarily uniform capacities. Let I be an instance of CAP-STEINER-TREE in a DAG with c min ≥ K -κ for some constant κ ≥ 0. If K < κ, then the result follows from Theorem 6.3. So, assume K ≥ κ. Claim 7.4 There is a feasible solution S to I if and only if there is a tree S R (called a reduced tree) rooted at r, spanning at least κ terminals, and such that, for each arc a with capacity c(a) (not only those incident to r), r is ā-linked to at least K -c(a) terminals in S R . Proof: A solution for I is clearly such a tree. Now, assume the existence of a reduced tree S R that spans a subset T of at least κ terminals. We complete S R to obtain a Steiner tree S spanning also the terminals in T \ T , as in Claim 7.1. From the hypothesis, for each arc a of S R , r is ā-linked to at least K -c(a) terminals in S R , and, for each arc b of G not in S R , r is b-linked to at least |T | ≥ κ ≥ K -c(a) terminals of S R . Hence, S does not violate the capacity constraints and is thus a feasible solution to I. Claim 7.5 In any minimal, i.e. inclusion-wise minimal, reduced tree S R , no vertex has out-degree greater than κ + 1. Proof: Assume that a minimal reduced tree S R contains a vertex v with at least κ + 2 outgoing arcs and let v be a child of v in S R . Let S R denote the subtree obtained from S R by removing all vertices of S R (v ). Since every subtree S R (w) of S R rooted at a child w of v contains at least one terminal (otherwise S R is not minimal), we know that S R (v) (and thus also S R ) spans at least κ+1 > κ terminals. Hence, for every arc a of S R not on the path from r to v in S R and not in S R (v), we know that r is ā-linked to at least κ + 1 > K -c(a) terminals in S R . For every child w of v in S R , we know that, for any arc a in S R (w) ∪ {(v, w)}, r is ā-linked to the at least κ ≥ K -c(a) terminals in the subtree of S R (v) obtained by removing all the vertices of S R (w). Finally, for any arc a on the path from r to v in S R , we know that r is ā-linked to at least K -c(a) terminals in S R , since this was the case in S R . Hence, we have proved that S R satisfies the definition of a reduced tree, and is included in S R while being smaller, a contradiction. Claim 7.6 Any directed path in the skeleton of a minimal reduced tree S R contains at most κ + 1 arcs.

Proof: Assume that the skeleton of a minimal reduced tree S R contains a directed path with at least κ + 2 arcs. Without loss of generality, we can choose such a path µ from r to a terminal t ∈ T , since each leaf is a terminal (otherwise S R is not minimal). We denote by v the predecessor of t in µ. Since each internal vertex of µ has degree at least 3 in the skeleton of S R (and hence in S R ), and since S R is minimal, we know that S R spans at least κ + 2 terminals. We now remove the path from v to t in S R and thus obtain a subtree S R spanning at least κ + 1 terminals. Using arguments similar to those in the proof of Claim 7.5, it is easy to check that S R satisfies the definition of a reduced tree, which means that S R was not minimal, a contradiction.

We can now prove Theorem 7.2. It follows from Claims 7.5 and 7.6 that the skeleton of a minimal reduced tree has maximum out-degree κ + 1 and maximum height κ + 1. Hence, the undirected skeleton of a minimal reduced tree contains at most Λ = (κ + 1) κ+1 terminals (which are its leaves), and it follows from Property 3.1 that such a skeleton has at most 2Λ vertices.

We therefore enumerate all trees with at most 2Λ vertices, keeping only those that span at least κ and at most Λ terminals, in order to ensure that any potential skeleton of a minimum reduced tree is enumerated. Each such enumerated tree is oriented from r to the leaves, and we then try to replace its arcs by vertex-disjoint paths but, unlike in Theorem 7.1, when replacing an arc (u, v) of a tree by a path, we impose that each arc of the path from u to v has a label (capacity) ≥ K -x, where x is the number of terminals which are not descendant of v in the tree. In other words, instead of solving a VDISJ-PATH instance, we solve a LAB-VDISJ-PATH instance. If all arcs can be replaced by labelled vertex-disjoint paths, we test whether the extended skeleton is a reduced tree: in such a case, we stop the enumeration, since we know from Claim 7.4 that I has a feasible solution. Otherwise, we conclude that I has no solution.

Let us show that the whole process takes a polynomial time. Λ being a constant, this means that, from Cayley's formula and from the number of ways for choosing at most 2Λ vertices among n, there is a polynomial number of labelled trees to enumerate. Besides, since the number of arcs that must be replaced by vertexdisjoint paths is at most 2Λ -1 in each tree, this means, from Theorem 6.2, that the associated LAB-VDISJ-PATH instance can be solved in polynomial time.

Consider now a ML-CAP-STEINER-TREE instance I . We proceed in a similar way as in Theorem 7.1. More precisely, instead of choosing arbitrary vertex-disjoint paths, we solve an ML-LAB-VDISJ-PATH instance with a fixed number of vertex pairs, which takes a polynomial time in DAGs according to Theorem 6.2. However, instead of stopping the enumeration when a reduced tree is found, we enumerate all of them and store the best one, that we denote by S 1 . The total length of S 1 is a lower bound on the total length of an optimal solution to I , since such an optimal solution contains a reduced tree. We then use a ρ-approximation algorithm to determine a minimum-length Steiner tree S 2 spanning all the terminals not already spanned by S 1 . The total length of S 2 is at most ρ times larger than the total length of an optimal solution to I . We finally build a solution S to I by removing from S 1 ∪ S 2 all arcs of S 2 entering a vertex with in-degree 2 in S 1 ∪ S 2 . This yields a (1 + ρ)-approximation algorithm for ML-CAP-STEINER-TREE in DAGs.

ML-CAP-STEINER-TREE with c min ≥ K -1

The results given in this section generalize the main results known about the complexity and approximation of STEINER-TREE.

If c min ≥ K, then any Steiner tree is a feasible solution to CAP-STEINER-TREE, and thus ML-CAP-STEINER-TREE is equivalent to STEINER-TREE, which can be solved in polynomial time when K is fixed [START_REF] Dreyfus | The Steiner problem in graphs[END_REF][START_REF] Feldman | The Directed Steiner Network problem is tractable for a constant number of terminals[END_REF][START_REF] Watel | An FPT algorithm in polynomial space for the Directed Steiner Tree problem with Limited number of Diffusing nodes[END_REF]. So consider the case where c min = K-1.

In what follows, we denote by E K the subset of arcs/edges with capacity at least K. Let I be an ML-CAP-STEINER-TREE instance and let S be an optimal solution to I. Let w be the closest vertex to r in S having out-degree at least 2 (with possibly r = w). All arcs on the path linking r to w are in E K , while those in S(w) can have any capacity since r is e-linked to at most K -1 terminals for all e in S(w). Moreover, S(w) spans all terminals and, since we can assume that all vertices without outgoing arcs in S are terminals, we know that S contains at most K -1 vertices of degree at least 3 (see the proof of Property 3.1).

Assume we can find in G a vertex w and two terminals t i and t j such that there are three internally vertex-disjoint paths: µ rw from r to w (with possibly r = w) with all its arcs in E K , µ wt i from w to t i , and µ wt j from w to t j . We can then build a feasible solution to I by extending µ rw ∪ µ wt i ∪ µ wt j arbitrarily to obtain a Steiner tree spanning all terminals. Indeed, any arc in µ rw ∪ µ wt i ∪ µ wt j has a residual capacity ≥ K -2, and there are K -2 other terminals to span in order to get a Steiner tree. Conversely, if there is a feasible solution to I, then there is such a triple (w, t i , t j ). Claim 7.7 Let S be an optimal solution to an instance I of ML-CAP-STEINER-TREE in a graph G = (V, E) with c min = K -1 and (e) > 0 for all e ∈ E. Let w be the vertex with out-degree at least 2 the closest to r in S, and let µ rw be the path from r to w in S. Then all shortest paths from r to w in G = (V, E K ) intersect S(w) only at w, and µ rw is one of them.

Proof: First notice that S = µ rw ∪ S(w) and all arcs of µ rw belong to E K . Let µ rw be any shortest path from r to w in G , and let W be the set of vertices that belong to both µ rw and S(w). If W = {w} then S = µ rw ∪ S(w) is a feasible solution to I, which means that (µ rw ) = (µ rw ), otherwise S would not be optimal.

So assume W = {w} and let S be the tree obtained from S by replacing µ rw by µ rw , and by removing all arcs (u, v) / ∈ µ rw with v ∈ W , to ensure that each vertex (except r) still has in-degree 1. Notice that (S ) < (S), since µ rw ≤ µ rw and at least one arc (of length > 0) is removed from S(w) to obtain S . Then, we remove all arcs (u, v) such that S (v) contains no terminal (since they are useless in a solution to I). This way, we obtain a new tree S rooted at r, spanning all terminals, and such that (S ) < (S) and S (v) ∩ T = ∅ ∀v ∈ S . This is illustrated on Figure 8.

Let w be a vertex in W \ {w}, and let t be any terminal in S(w ). In S , there is a path from r to t, while there is no path from w to t. So w , which is the closest vertex to w on µ rw verifying t ∈ S (w ), has outdegree at least 2 in S . Let ŵ be the vertex with outdegree at least 2 which is the closest to r in S ( ŵ belongs to µ rw \ {w}, from the previous paragraph), and let µ r ŵ be the path from r to ŵ in S . Note that the only vertices v in S with S (v) ∩ T = T are those on µ r ŵ, and that all arcs on µ r ŵ have capacity at least K since they also belong to µ rw . Moreover, since S (v) ∩ T = ∅ for every child v of ŵ in S , all arcs in S ( ŵ) only need to have capacity K -1. Hence, S is a feasible solution to I with (S ) < (S), a contradiction.

We now consider ML-CAP-STEINER-TREE with c min ≥ K -1 and show that, when K is fixed, it is solvable in polynomial time.

Theorem 7.3 If K is fixed and c min ≥ K -1, ML-CAP-STEINER-TREE can be solved by an algorithm whose running time is polynomial, and whose only non FPT factor with respect to K is O(n O(log(K)) ). In particular, ML-CAP-STEINER-TREE is solvable in polynomial time if K = 2.

Proof: The case c min ≥ K has already been settled at the beginning of this section. So, assume c min = K -1. Given an instance I of ML-CAP-STEINER-TREE, we solve I as follows. We consider all vertices w such that w is either the root r or a vertex of degree at least 3 in G. For each such vertex w:

• We determine a shortest path µ rw from r to w in G = (V, E K ), and we denote by G w the subgraph of G obtained by removing all vertices of µ rw , except w; • We consider all pairs (t i , t j ) of distinct terminals and all subsets W of at most 2 log 2 (K) -2 vertices v = w of degree at least 3 in G w .

So, let (w, t i , t j , W ) be such a quadruple. We first determine two internally vertexdisjoint paths µ wt i and µ wt j linking w to t i and to t j in G w , and such that µ wt i ∪ µ wt j contains all vertices of W and has minimum total length. As in the proof of Theorem 4.1, this can be done in polynomial time: we add a sink s and two arcs (t i , s) and (t j , s), and we determine two internally vertex-disjoint paths of minimum total length from w to s by using a min-cost flow algorithm; in addition, we impose a flow equal to 1 on each arc (v , v ) corresponding to a vertex v of W in the graph H

The total number of possible quadruples is O(K 2 n O(log(K)) ). For each of them, we have to compute a shortest path, a minimum-cost flow, and an optimal Steiner tree spanning K -2 terminals. The latter problem can be solved in time FPT with respect to the number of terminals [START_REF] Dreyfus | The Steiner problem in graphs[END_REF][START_REF] Feldman | The Directed Steiner Network problem is tractable for a constant number of terminals[END_REF][START_REF] Watel | An FPT algorithm in polynomial space for the Directed Steiner Tree problem with Limited number of Diffusing nodes[END_REF], and the other two problems can be solved in polynomial time [START_REF] Ahuja | Networks flows: Theory, Algorithm, and Applications[END_REF].

Together with Theorem 6.1, the previous theorem shows, in particular, that Theorems 5.1 and 5.3 are best possible. It also implies, together with Theorem 4.1, that ML-CAP-STEINER-TREE is polynomial-time solvable if K = 3 and all capacities are equal. When K is part of the input (i.e., not fixed), we have the following result, which complements Theorem 5.7.

Theorem 7.4 If c min ≥ K -1, CAP-STEINER-TREE is solvable in polynomial time and ML-CAP-STEINER-TREE can be approximated within a ratio of 1 + ρ.

Proof: We use the same ideas as those used in the proof of the previous theorem. More precisely, for solving an instance I of CAP-STEINER-TREE, we enumerate all triples (w, t i , t j ), where w is either the root r or a vertex of degree at least 3 in G, and t i , t j both belong to T . For each such triple, we determine a shortest path µ rw from r to w in G = (V, E K ), remove all vertices of µ rw , except w, to create G w , and determine two internally vertex-disjoint paths µ wt i and µ wt j from w to t i and to t j in G w . This can be done in polynomial time using path and flow techniques similar to those used in the previous proof (without lengths on the arcs). If we succeed in finding the three paths µ rw , µ wt i , µ wt j for a triple (w, t i , t j ), then we greedily complete their union into a Steiner tree rooted at r and spanning all terminals, which gives a solution to I. Otherwise, I does not have any feasible solution. All this can be done in polynomial time, since there are O(nK 2 ) triples (w, t i , t j ) to enumerate.

For an instance I of ML-CAP-STEINER-TREE, we again enumerate all triples (w, t i , t j ), and determine for each such triple a shortest path µ rw from r to w in G , as well as two internally vertex-disjoint paths of shortest total length, µ wt i and µ wt j from w to t i and to t j in G w (as in the proof of Theorem 7.3). If we succeed in finding the three paths µ rw , µ wt i , µ wt j for a triple (w, t i , t j ), we then use a ρ-approximation algorithm to determine a directed tree S wt i t j of minimum total length, rooted at r, and spanning all terminals in T \ {t i , t j }. Let R wt i t j be the set of arcs (u, v) in S wt i t j with v not belonging to µ rw ∪ µ wt i ∪ µ wt j ; we build a solution to I by taking all arcs of µ rw ∪ µ wt i ∪ µ wt j ∪ R wt i t j . Among all built solutions, we keep the best one, which we denote by S best . Now, let S * be an optimal solution to I , and let w be the vertex in S * the closest to r with out-degree at least 2. Let v 1 and v 2 be two distinct children of w in S * , and let t i be a terminal in S * (v 1 ), and t j a terminal in S * (v 2 ). The triple (w, t i , t j ) is considered in our enumeration, and we clearly have (µ rw ) + (µ wt i ) + (µ wt j ) ≤ (S * ) and (R wt i t j ) ≤ (S wt i t j ) ≤ ρ (S * ). Hence, (S best ) ≤ (1 + ρ) (S * ).

Again, the whole process takes a polynomial time. Indeed, there are O(nK 2 ) enumerated triples, and, for each of them, we have to determine a shortest path, a minimum-cost flow, and a ρ-approximate solution to an instance of STEINER-TREE. All these problems can be solved in polynomial time.

Concluding remarks

We have studied the complexity of ML-CAP-STEINER-TREE in digraphs, DAGs and undirected graphs, and we have dealt with any possible case with respect to all the parameters that we considered (minimum and maximum capacities, lengths, and number of terminals). Moreover, whenever ML-CAP-STEINER-TREE was intractable while CAP-STEINER-TREE, the case with lengths 0, was not, we have provided approximation results for ML-CAP-STEINER-TREE nearly as good as the best ones for STEINER-TREE.

While we have also obtained some results about the parameterized complexity of ML-CAP-STEINER-TREE, several questions remain open in this area:

• The results associated with leaves 11 and 13 in Figure 1 are best possible, since the FPT-reduction from VDISJ-PATH parameterized by p described in Theorem 4.4 shows in particular that CAP-STEINER-TREE is W[1]-hard with respect to either K or κ in this case, even with uniform capacities (note that, in this reduction, we have K = O(p 2 ) and κ = O(p 2 )).

• However, the result associated with leaf 9 in Figure 1 may not be the best possible one (i.e., this case might actually be FPT with respect to κ), since in undirected graphs VDISJ-PATH is FPT with respect to p (so Theorem 4.4 does not provide any useful information in this case).

• Finally, we think that the main open problem is related to the result provided in Theorem 7.3 (and associated to leaf 5 in Figure 1). We have proved that ML-CAP-STEINER-TREE is polynomial-time solvable in this case, hence generalizing the same result already known for STEINER-TREE, but it may actually be FPT with respect to K: in particular, notice that this is indeed the case for STEINER-TREE.

Figure 1 :

 1 Figure 1: Results for ML-CAP-STEINER-TREE (CAP-STEINER-TREE if all lengths are 0) in digraphs, DAGs and undirected graphs.

Figure 2 :

 2 Figure 2: Potential skeletons in a graph G.

Theorem 4 . 1

 41 ML-CAP-STEINER-TREE is polynomial-time solvable if c(e) = 1 ∀e ∈ E.

Theorem 4 . 2

 42 ML-VDISJ-PATH with p source-sink pairs is polynomially reducible to ML-CAP-STEINER-TREE with p(p + 1)/2 terminals.

Theorem 4 . 3

 43 Given two integers K and c with K ≥ 4 and 2 ≤ c ≤ K -2, ML-VDISJ-PATH with p = 2 source-sink pairs is polynomially reducible to ML-CAP-STEINER-TREE with K terminals and uniform capacity c.

Figure 4 :

 4 Figure 4: From ML-CAP-STEINER-TREE in G = (V, E) to ML-LAB-VDISJ-PATH in G = (V , E ). (The length of [b, e] is equal to 3, and all other lengths are equal to 1.)

Figure 5 :

 5 Figure 5: Polynomial-time reductions between capacitated Steiner tree and vertexdisjoint paths problems.

1 1Figure 6 :

 16 Figure 6: From SAT to CAP-STEINER-TREE.

Figure 7 :

 7 Figure 7: From 3-SAT 3 to CAP-STEINER-TREE.

Figure 8 :

 8 Figure 8: Illustration of the proof of Claim 7.7.

Table 1 :

 1

General results for ML-CAP-STEINER-TREE in digraphs, DAGs, and undirected graphs.

  NP-complete even if all lengths are 0 (CAP-STEINER-TREE), and even if the minimum capacity c min and the maximum capacity cmax ≥ c min are any fixed constants, with c min ∈ {1, . . . , K -2} and cmax ≥ 2

		Condition	Complexity	Theorem
	6	K ≥ 3 (fixed or not)		Theorem 5.1

Table 2 :

 2 Results for ML-CAP-STEINER-TREE in digraphs.

		Condition	Complexity	Theorem
	7	Non uniform capacities and	NP-complete even if all lengths are 0	Theorem 5.3
		K ≥ 3 (fixed or not)	(CAP-STEINER-TREE), and even if the minimum capacity c min and the maxi-
			mum capacity cmax > c min are any val-
			ues, with c min ∈ {1, . . . , K -2}
	8	Uniform capacity (non unit and	NP-complete even if all lengths are 0	Theorem 5.5
		not depending on K)	(CAP-STEINER-TREE), and even if the uni-form capacity is any value ≥ 2 not de-
			pending on K
	9	Uniform capacity equal to K -	Polynomial if all lengths are 0	Theorems 6.1
		κ, for any constant κ ≥ 0	approximable otherwise (CAP-STEINER-TREE), and (ρ + ρ )-	and 7.1
	10 Uniform capacity and fixed
		K ≥ 3

Equivalent to ML-VDISJ-PATH with fixed p, and hence open Theorem 6.1

Table 3 :

 3 Results for ML-CAP-STEINER-TREE in undirected graphs.

	Condition	Complexity	Theorem
	11 Fixed K	Polynomial	Theorem 6.3
	12 Non unit capacities not depend-
	ing on K
		Polynomial if all lengths are 0	Theorem 7.2
		(CAP-STEINER-TREE), and (1 + ρ)-
		approximable otherwise

NP-complete even if all lengths are 0 (CAP-STEINER-TREE), and even if the capacity is uniform and takes any value ≥ 2 not depending on K Theorem 5.

[START_REF] Bousba | Finding minimum cost directed trees with demands and capacities[END_REF]

13 Capacities larger than K -κ, for any constant κ ≥ 0

Table 4 :

 4

Results for ML-CAP-STEINER-TREE in DAGs.

  The second path, μi , corresponding to literal xi , isv i 0 , vi 1 , . . . , vi 2ō i , v i 2o i +1, where, for each j ∈ {1, . . . , ōi }, the edge vi 2j-1 vi 2j has capacity 2, and, for each j ∈ {1, . . . , ōi -1}, the edge vi

	2j	vi 2j+1 has capacity 1. The edges v i 0	vi 1 and vi 2ō i v i 2o i +1

where, for each j ∈ {1, . . . , o i }, the edge v i 2j-1 v i 2j has capacity 2, and, for each j ∈ {0, . . . , o i }, the edge v i 2j v i 2j+1 has capacity 1.

Acknowledgments

This work was done with the support of the Gaspard Monge Program for Optimization and operations research (PGMO) http://www.fondation-hadamard.fr/fr/pgmo.

obtained from G w (as in the proof of Theorem 4.1), to ensure that the paths contain W .

Assume we are able to find the two internally vertex-disjoint paths µ wt i and µ wt j in G w . We then consider the graph G w obtained from G w by assigning a length 0 to all arcs on µ wt i ∪ µ wt j , and we determine a directed tree S wt i t j of minimum total length in G w , rooted at w, and spanning all terminals in T \ {t i , t j }. Let R wt i t j denote the set of arcs (u, v) in S wt i t j with v not belonging to µ wt i ∪ µ wt j . We finally build a solution to I by taking all arcs of µ rw ∪ µ wt i ∪ µ wt j ∪ R wt i t j .

Among all built solutions, we keep the best one, which we denote by S best . We now prove that S best is an optimal solution to I. Let S * be an optimal solution to I, and let w be the vertex in S * the closest to r with out-degree at least 2. Let v 1 and v 2 be two children of w in the skeleton of S * , and let t i (resp. t j ) be a terminal in S * (v 1 ) (resp. S * (v 2 )) closest to v 1 (resp. v 2 ) in terms of the number of vertices on the path linking them in the skeleton of S * (v 1 ) (resp. S * (v 2 )). We denote by µ * rw , µ * wt i and µ * wt j the paths in S * linking r to w, w to t i , and w to t j , respectively. Finally, let W be the set of vertices v = w on µ * wt i ∪ µ * wt j having degree at least 3 in S * , and let R * denote the set of arcs in S * that do not belong to µ * rw ∪ µ * wt i ∪ µ * wt j . We first prove that the proposed algorithm considers the quadruple (w, t i , t j , W ). Since w has out-degree at least 2, it is either the root r or a vertex of degree at least 3 in G. It follows from Claim 7.7 that G w contains all vertices of W . Hence, we only have to prove that |W | ≤ 2 log 2 (K) -2. Let n 1 (resp. n 2 ) be the number of vertices in the skeleton of S * (v 1 ) (resp. S * (v 2 )). If n 1 = 1, the path from v 1 to t i in the skeleton of S * is reduced to 1 = log 2 (n 1 + 1) vertex v 1 = t i ; otherwise, v 1 has out-degree at least 2 in S * , and we know from the proof of Property 3.2 that the path from v 1 to t i in the skeleton of S * has at most log 2 (n 1 + 1) vertices. Similarly, the path from v 2 to t j in the skeleton of S * has at most log 2 (n 2 + 1) vertices. Hence W contains at most log 2 (n 1 + 1) + log 2 (n 2 + 1) -2 vertices. Since w has out-degree at least 2, it follows from Property 3.1 that the skeleton of S * (w) contains at most 2K-1 vertices, which implies n 1 +n 2 ≤ 2K-2. The sum log 2 (n 1 +1)+log 2 (n 2 +1)-2 is therefore maximized for n 1 = n 2 = K -1, which implies that W contains at most 2 log 2 (K) -2 vertices.

We now prove that (S best ) ≤ (S * ). Let µ rw ∪ µ wt i ∪ µ wt j ∪ R wt i t j be the solution returned by the proposed algorithm for the quadruple (w, t i , t j , W ). It follows from Claim 7.7 that (µ rw ) = (µ * rw ), and that G w contains all vertices of S * (w). Since µ * wt i and µ * wt j are two internally vertex-disjoint paths linking w to t i and to t j in G w , we have (µ wt i ) + (µ wt j ) ≤ (µ * wt i ) + (µ * wt j ). Consider now the set R * of arcs (u, v) in R * with v not belonging to µ wt i ∪ µ wt j , and let S be the tree obtained from S * (w) by replacing µ * wt i and µ * wt j by µ wt i and µ wt j , and by removing the arcs in R * \ R * . Note that S is a tree rooted at w, spanning all terminals in T ⊃ T \ {t i , t j }, and with total length at most equal to (R * ) in G w (since all arcs in µ wt i ∪ µ wt j have length 0 in G w ). Hence, (R wt i t j ) ≤ (S wt i t j ) ≤ (S) ≤ (R * ) in G w , which implies (R wt i t j ) ≤ (R * ) in G. In summary, (S best )= (µ rw ) + (µ wt i ) + (µ wt j ) + (R wt i t j ) ≤ (µ * rw ) + (µ * wt i ) + (µ * wt j ) + (R * ) = (S * ).


G V Brown
email: brown86@llnl.gov

S Bernitt

J Rudolph

R Steinbrügge

A Graf

M Leutenegger

S W Epp

S Eberle

K Kubiček

V Mäckel

M C Simon

E Träbert

E W Magee

C Beilmann

N Hell

A Müller

S M Kahn

D Koutroumpa

A Rasmussen

Z Harmon

F S Porter

R L Kelley

C A Kilbourne

J Ullrich

J Crespo-López-Urritia

P Beiersdorfer

Laboratory X-ray Studies for Unraveling High-Resolution Celestial Spectra

Keywords:

published or not. The documents may come

L'archive ouverte

Neon-like Fe XVII is one of the most studied highly charged ions. X-ray emission from Fe XVII, which falls in the ∼ 10-18 Å wavelength band, has been observed in a variety of X-ray sources, including the corona of the Sun, other stellar coronae, clusters of galaxies, and X-ray binaries. Although Fe XVII has a strong spectral signature consisting of several distinct X-ray lines, a model of the spectrum has not been produced at the level of accuracy necessary to consistently model the high resolution spectra provided by modern X-ray observatories. To address this problem, many experimental and theoretical studies have been completed (Brown et al. 1998, Beiersdorfer et al. 2002, Gu 2003, Loch et al. 2006, Chen et al. 2008), specifically, this line emission was a main focus of the laboratory astrophysics program. Early on, calculations of the relative electron impact excitation cross sections of the 3d to 2p resonance and intercombination lines, located at 15.01 and 15.26 Å, respectively, were found to disagree with experiment (Brown et al. 1998). More detailed measurements of the absolute cross sections showed that the problems lie predominately with the strong resonance line (Brown et al. 2006). A variety of explanations have been put forth to explain the discrepancies (Brown & Beiersdorfer 2012), most related to the physics of the collision between the impact electron and the ion. Gu (2009) suggested that the problems, however, may lie in the calculation of the atomic structure. To determine if the problems with the models lie in the atomic structure or collisions, we used the FLASH-EBIT electron beam ion trap coupled to the Linac Coher-ent Light Source Free Electron X-ray Laser (LCLS-FEL) to measure the relative oscillator strength of the resonance and intercombination lines in Fe XVII (Bernitt et al. 2012). We found (see figure 1) that no atomic model can reproduce the results, and that the discrepancies between theoretical and experimental excitation cross sections are most likely rooted in the theoretical treatment of the atomic structure.

2.61 ± 0.23 AtomDB v2.01 Fig. 1. Theoretical values in red are used in typical scattering calculaltions. Squares and diamonds are results from calculations where the wavefunctions were optimized for mixing among electronic levels. The more mixing that is allowed, the closer the theoretical ratio is to the experiment. The AtomDB relative oscillator strength has to be reduced by ∼36% to agree wtih experiment. 2. Calibrating X-ray velocimeters using LLNL's EBIT-I X-ray features created by K-shell absorption in L-shell ions of silicon have been detected in the Chandra spectra of Cygnus X-1. The features have been measured during the so-called dipping phase of the orbital period, i.e., the phase when clumps of material of various densities and temperatures move in the line of sight between the X-ray observatory and the accreting black hole. By measuring the Doppler shift of the absorption features and properly identifying the features with their source ion, the velocity and ionization structure of the clumps can be determined. Because of relatively large uncertainties in the theoretical rest energies, however, it has not been possible to determine the proper velocity structure. To provide accurate rest wavelengths, we have used the EBIT Calorimeter Spectrometer (ECS) [START_REF] Porter | AIP Conf. Series[END_REF] designed and built at the NASA/Goddard Space Flight Center, and LLNL's EBIT to measure the rest energies of the Kα features produced by Si VIII-XIII (Hell et al. 2013). Figure 2 shows a comparison between the laboratory-measured spectrum and the spectra measured during different dipping stages of Cygnus X-1 at The laboratory spectra were measured using the NASA/GSFC ECS coupled to LLNL's EBIT-I electron beam ion trap (Hell et al. 2013).

superior conjunction, i.e., at phase φ ≈ 0. The velocity structure determined by the Doppler shifts based on the laboratory-measured rest wavelengths show that all the ionization states have the same velocity, supporting the idea of an onion-like ion structure for the clumps (Hell et al. 2013).

  Fig.1. Theoretical values in red are used in typical scattering calculaltions. Squares and diamonds are results from calculations where the wavefunctions were optimized for mixing among electronic levels. The more mixing that is allowed, the closer the theoretical ratio is to the experiment. The AtomDB relative oscillator strength has to be reduced by ∼36% to agree wtih experiment. Figure and references from Bernitt et al. 2012.

Fig. 2 .

 2 Fig. 2. Comparison of measurements to absorption spectra of highly charged Si ions measured by Chandra for Cygnus X1 during different dipping stages at superior conjunction, i.e., at phase φ ≈ 0.The laboratory spectra were measured using the NASA/GSFC ECS coupled to LLNL's EBIT-I electron beam ion trap(Hell et al. 2013).

Acknowledgements

This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 and is supported by NASA grants to LLNL and NASA/GSFC.