Approximating the 2-Splittable Capacitated Network Design Problem ? Ehab Morsy ∗ , Hiroshi Nagamochi Department of Applied Mathematics and Physics Graduate School of Informatics Kyoto University Yoshida Honmachi, Sakyo, Kyoto 606-8501, Japan

Abstract We consider the 2-splittable capacitated network design problem (2SCND) in a graph G = (V, E) with edge weight w(e) ≥ 0, e ∈ E. We are given a vertex s ∈ V designated as a sink, an edge capacity λ > 0, and a source set S ⊆ V with demand q(v) ≥ 0, v ∈ S. For any edge e ∈ E, we are allowed to install an integer number h(e) of copies of e. The 2SCND asks to send demand q(v) from each source v ∈ S along at most two paths to the sink s. A set of such paths can pass through a single copy of an edge in G as long as the total demand along the paths does not exceed the edge P capacity λ. The objective is to find a set P of paths of G that minimizes the installing cost e∈E h(e)w(e). In this paper, we propose a (3/2 + ρST )approximation algorithm to the 2SCND, where ρST is any approximation ratio achievable for the Steiner tree problem. Key words: Approximation algorithm, Graph algorithm, Routing problem, Network optimization.

1

Introduction

We study a problem of finding routings from a set of sources to a single sink in a network with an edge installing cost. This problem is a fundamental and economically significant one that arises in hierarchical design of telecommunication networks [2] and ? This research was partially supported by the Scientific Grant-in-Aid from Ministry of Education, Culture, Sports, Science and Technology of Japan. ∗ Corresponding author. Email addresses: [email protected] (Ehab Morsy), [email protected] (Hiroshi Nagamochi).

transportation networks [12,13]. In telecommunication networks this corresponds to installing transmission facilities such as fiber-optic cables, which represent the edges of the network. In other applications, optical cables may be replaced by pipes, trucks, and so on. Consider the capacitated network design problem (CND), which can be stated as follows. We are given an undirected graph G such that each edge e ∈ E(G) is weighted by nonnegative real w(e), a subset S ⊆ V (G) of sources, and a vertex s ∈ V (G) designated as a sink. Each source v ∈ S has a nonnegative demand q(v), all of which must be routed to s through a single path. A cable with fixed capacity λ is available for installing on the edges of the graph, where installing i copies of the cable on edge e costs iw(e) and provides iλ capacity. The CND asks to find a minimum cost installation of cables that provides sufficient capacity to route all of the demand simultaneously to s. The problem requires choosing a path from each source to the sink and finding the number of cables to be installed on each edge such that all the demand is routed without exceeding edge capacities. Demands of different sources may share the capacity on the installed cables and the capacity installed on an edge has to be at least as much as the total demand routed through this edge. For the CND problem, Mansour and Peleg [8] gave an O(log n)-approximation algorithm for a graph with n vertices. Salman et al. [12] designed a 7-approximation algorithm for the CND based on a construction from [6]. Afterwards Hassin et al. [5] gave a (2 + ρST )-approximation algorithm, where ρST is any approximation ratio achievable for the Steiner tree problem. By using of a slight intricate version of this algorithm, they improved the approximation ratio to (1 + ρST ) when every source has unit demand. When all non-sink vertices are sources, the approximation ratio of Hassin et al. [5] becomes 3 for general demands and 2 for unit demands, since the Steiner tree problem in this case is a minimum spanning tree problem. In this paper, we study a relaxation of the CND, in which the demand of each source is routed to the sink along at most two paths. That is, we have a single cable type with a fixed capacity λ > 0 for all edges, and we are interested in constructing a set P of paths used to route demands of all sources to a single sink s. However, the demand of each source is allowed to be routed to s along at most two paths of P. The cost of installing a copy of an edge e is represented by the weight of e. A subset of paths of P can pass through a single copy of an edge e as long as the total demand of these paths does not exceed the edge capacity λ; any integer number of separated copies of e are allowed to be installed. The cost of a set P of paths is defined by the minimum cost of installing copies of edges such that the demand of each source can be routed to the sink under the edge capacity constraint, i.e., cost(P) =

X

dqe /λew(e),

e∈E(G)

where qe is the total flow through e. The goal is to find a set P of paths that mini2

mizes cost(P). We call this problem, the 2-splittable capacitated Network Design problem (2SCND). The 2SCND can be formally defined as follows, where R+ denotes the set of nonnegative reals. 2-Splittable Capacitated Network Design Problem (2SCND): Input: A connected graph G, an edge weight function w : E(G) → R+ , a sink s ∈ V (G), a set S ⊆ V (G) of sources, an edge capacity λ > 0, and a demand function q : S → R+ . Feasible solution: A set P = {(Piv , qiv ) | i = 1, 2, q1v + q2v = q(v), v ∈ S} of paths and demand assignment in G, that is, qiv is the amount of demand of v going through Piv , i = 1, 2. Goal: Find a feasible solution P that minimizes cost(P). Similar flow routing problem have been studied before [7]. The single-source unspittable flow problem asks to route demands of a specified set of sinks simultaneously from a single source in a directed graph with edge capacities and costs at the minimum possible cost without violating edge capacity. The demand of each sink must be routed along a single path. Kolliopoulos [7] has studied a relation of the problem, in which the demand of each sink is allowed to be routed along at most two paths. The rest of this paper is organized as follows. Section 2 introduces terminologies on graphs and two lower bounds on the optimal value of the 2SCND. In Section 3, we describe some results in demand assignment based on which we propose our algorithm. Section 4 gives a framework of our approximation algorithm for the 2SCND, analyzing its approximation ratio. Section 5 makes some concluding remarks.

2

Preliminaries

This section introduces some notations and definitions. Let G be a simple undirected graph. We denote by V (G) and E(G) the sets of vertices and edges in G, respectively. An edge-weighted graph is a pair (G, w) of a graph G and a nonnegative weight function w : E(G) → R+ . The length of a shortest path between two vertices u and v in (G, w) is denoted by d(G,w) (u, v). Given a vertex weight function q : V (G) → R+ in G, we P denote by q(Z) the sum v∈Z q(v) of weights of all vertices in a subset Z ⊆ V (G). Let T be a tree. A subtree of T is a connected subgraph of T . For a subset X ⊆ V (T ) of vertices, let T hXi denote the minimal subtree of T that contains X (note that T hXi is uniquely determined). Now let T be a rooted tree. We denote by L(T ) the set of leaves in T . For a vertex v in T , let Ch(v) and D(v) denote the sets of children and descendants of v, respectively, where D(v) includes v. A subtree Tv rooted at a vertex v is the subtree induced by D(v), i.e., Tv = T hD(v)i. For an edge e = (u, v) in a rooted tree T , where u ∈ Ch(v), the subtree induced by {v} ∪ D(u) is denoted by Te , and is called a branch of Tv . For a rooted tree Tv , the depth of a vertex u in Tv is the length (the number of edges) of the path from v to u. 3

For a set Z, a set {Z1 , Z2 , ..., Z` } of pairwise disjoint subsets of Z is called a partition of Z if ∪`i=1 Zi = Z. The following lower bound has been proved and used to derive approximation algorithms to the CND in [5]. Lemma 1 For an instance I = (G = (V, E), w, S, q, s, λ) of the 2SCND, let opt(I) be the weight of an optimal solution to I, and T ∗ be the minimum weight of a tree that spans S ∪ {s} in G. Then ¾

½

1X q(t)d(G,w) (s, t) ≤ opt(I), max w(T ), λ t∈S ∗

where w(T ∗ ) is the sum of weights of edges in T ∗ .

2

Given an instance I = (G = (V, E), w, S, q, s, λ) of the 2SCND, our algorithm firstly produces a tree T of G that spans all vertices in S ∪ {s}, finds a partition S of S, and assigns a vertex tZ ∈ Z for each subset Z ∈ S such that when all demands in each subset Z ∈ S are routed to tZ simultaneously, the total flow on each edge of T is at most λ, where we call such a vertex tZ the hub vertex of Z. Afterward, for each Z ∈ S, we install a copy of each edge in a shortest path SP (s, tZ ) between s and tZ in G, and construct path Pt , t ∈ Z, by adding SP (s, tZ ) to the path between t and tZ in T . The running time of this algorithm is dominated by the approximation algorithm for the Steiner tree problem to compute tree T .

3

Demand Assignment

The purpose of this section is to describe how to find a demand assignment of the source set S of a tree. That is, for each source v ∈ S, we determine a set of at most two hub vertices in S and assign an amount of demand q(v) of v to each vertex in the set such that when demands of all sources are routed to their hub vertices, edge capacity does not violate. We begin by presenting some results for special cases of demand assignment. Definition 2 For a vertex v in a rooted tree, a source set Zv ⊆ V (Tv ) − {v}, a demand function q : Zv → R+ , and a positive number λ, a binary rooted tree Tv is said to be a balance-tree if q(Zv ) > λ holds and the total demand in each of its branches is less than (2/3)λ. We are given a binary rooted tree Tx with a source set Zx = L(Tx ), an edge capacity λ > 0, a demand function q : Zx → R+ such that q(t) < (2/3)λ or λ < q(t) < (4/3)λ for all t ∈ Zx , and a vertex weight function d : Zx → R+ . Moreover, for each u ∈ Ch(x), if q(V (Tu ) ∩ Zx ) ≥ (2/3)λ, then there is v ∈ Zx with λ < q(v) < (4/3)λ or Tu contains a balance-tree and satisfies q(V (Tu ) ∩ Zx ) < (4/3)λ. We choose a set of hub vertices 4

and assign demands of all sources to these vertices such that, when demands of all sources are routed to theirs hub vertices simultaneously, the total flow on each edge of Tx is bounded from above by λ. For brevity, we use (Tx , Zx , q, d, λ) to refer to this tree throughout this subsection. Definition of Demand Assignment Lemma 3 Given a tree (Tx , Zx , q, d, λ) with (4/3)λ ≤ q(Zx ) < 2λ, there are two hub vertices t1 , t2 ∈ Zx and a demand assignment A(v) = {(qiv , ti ) | i = 1, 2, q1v + q2v = q(v)} for all v ∈ Zx such that (i) For each i = 1, 2, the total demand assigned to ti is at least (2/3)λ, and d(ti ) ≤ d(t) for all t ∈ Zx with demand assigned to ti , and (ii) When demands of all sources are routed to their hub vertices, the total amount of these flow on each edge of Tx is at most λ. Proof. To proof this lemma, we distinguish the following two cases. Case 1. Zx contains a source y with q(y) > λ. If d(y) ≤ d(t) for all t ∈ Zx , then assign all demands of Zx to y, and let t1 := t2 := y. Otherwise, let t0 be such that d(t0 ) ≤ d(t) for all t ∈ Zx . Define an amount q 0 (y) of q(y) such that (2/3)λ ≤ q(Zx )−q 0 (y), q 0 (y) ≤ λ, and assign demands in q(Zx ) − q 0 (y) and q 0 (y) to t1 := t0 and t2 := y, respectively. Case 2. q(t) < (2/3)λ for all t ∈ Zx . Let Bx1 and Bx2 denote the two branches of Tx , and let Zxi = V (Bxi ) ∩ Zx , i = 1, 2, where q(Zx1 ) ≥ q(Zx2 ). Then q(Zx1 ) ≥ Zx /2 ≥ (2/3)λ. By the assumptions on Tx , Bx1 contains a balance-tree Tv , q(Zx1 ) < (4/3)λ, and q(Zx2 ) < (2/3)λ. Let Bv1 and Bv2 denote the two branches of Tv , and let B denote the tree obtained from Bx1 by deleting vertices in D(v) − {v} (see Fig. ??). Let Zv = V (Tv ) ∩ Zx , Zvi = V (Bvi ) ∩ Zx , i = 1, 2, and Z = V (B) ∩ Zx . Note that q(Z) = q(Zx1 ) − q(Zv ) < (4/3)λ − λ = (1/3)λ. Also, q(Zv1 ), q(Zv2 ) > (1/3)λ, by the definition of the balance-tree. Now, assume without loss of generality that t1 ∈ Zv1 and t2 ∈ Zx2 are the sources of the smallest distance d in Zx and Zx2 ∪ Z, respectively. Let tm denote the source of the largest demand in Zv2 . Assign all demands of Zv1 and Zx2 ∪ Z to t1 and t2 , respectively. Then, we assign demands of sources of Zv2 − {tm } one by one to the hub vertex (t1 or t2 ) with lighter demand yet assigned to it as long as the demand assigned to each vertex is at most λ. Finally, divide the demand of tm into two parts, assign them to t1 and t2 such that the total demand assigned to each of t1 and t2 is at least (2/3)λ and at most λ. In both cases, let A be the demand assignment of sources in Zx to t1 and t2 . 2 Lemma 4 Given a tree (Tx , Zx , q, d, λ) with q(Zx ) ≥ (8/3)λ, there are three hub vertices t1 , t2 , t3 ∈ Zx and a demand assignment A = {(qiv , tj ) | i = 1, 2, j = 1, 2, 3, q1v + q2v = q(v)} for all v ∈ Zx such that (i) For each j = 1, 2, 3, the total demand assigned to tj is at least (2/3)λ, and d(tj ) ≤ 5

d(t) for all t with demand assigned to tj , and (ii) When demands of all sources are routed to their hub vertices, the total amount of these flow on each edge of Tx is at most λ. Proof. Let Bx1 and Bx2 denote the the two branches of Tx , and let Zxi = V (Bxi ) ∩ Zx , i = 1, 2. Then by q(Zx ) ≥ (8/3)λ and the assumptions on Tx , Bxi contains a source y with λ < q(y) < (4/3)λ or a balance-tree, and q(Zxi ) < (4/3)λ holds, i = 1, 2. We distinguish the following three cases. Case 1. Zx contains two sources y1 , y2 with q(y1 ), q(y2 ) > λ, where d(y1 ) ≤ d(y2 ). Assume that y1 ∈ Zx1 and y2 ∈ Zx2 without loss of generality. If d(y1 ) ≤ d(t) for all t ∈ Zx , then define an amount q 0 (y2 ) of q(y2 ) such that (2/3)λ ≤ q 0 (y2 ) ≤ λ and (4/3)λ ≤ q(Zx ) − q 0 (y2 ) ≤ 2λ, and assign q 0 (y2 ) and q(Zx ) − q 0 (y2 ) to t1 = y2 and t2 = t3 = y1 , respectively. Otherwise, let t0 be such that d(t0 ) < d(t) for all t ∈ Zx , define an amount q 0 (y1 ) and q 0 (y2 ) of q(y1 ) and q(y2 ), respectively, such that (2/3)λ ≤ q(Zx ) − q 0 (y1 ) − q 0 (y2 ), q 0 (y1 ), q 0 (y2 ) ≤ λ, and assign all demands in (Zx ) − q 0 (y1 ) − q 0 (y2 ), q 0 (y1 ), and q 0 (y2 ) to t1 = t0 , t2 = y1 , and t3 = y2 , respectively. Case 2. Zx contains only one source y with q(y) > λ; y ∈ Zx2 is assumed without loss of generality. Then define an amount q 0 (y) of q(y) such that (2/3)λ ≤ q 0 (y) ≤ λ and (4/3)λ ≤ q(Zx ) − q 0 (y) ≤ 2λ, and assign q 0 (y) to y. Apply Lemma 3 to (Tx , Zx , q 0 , d, λ), where q 0 (v) = q(v) for all v ∈ Zx − {y} and q 0 (y) = q(y) − q 0 (y). Note that, from the proof of Lemma 3, q(y) − q 0 (y) will assign to one vertex. Case 3. q(v) < (2/3)λ for all v ∈ Zx . Let Tv denote the balance-trees of Bx2 . Let Zv = V (Tv )∩Zx and denote the two branches of Tv by Bv1 and Bv2 . Let Zvi = V (Bvi )∩Zx , i = 1, 2. Note that, q(Zvi ) > (1/3)λ, i = 1, 2, by the definition of the balance-tree. Assume that t1 ∈ Zv is the source of the minimum weight d in Zv ; t1 ∈ Zv1 is assumed without loss of generality. Then we assign demands of all sources in Zv1 to t1 and assign demands of sources of Zv2 one by one to t1 as long as the total demand assigned to t1 is at most λ. Let tm be the source of the largest demand among all sources in Zv2 which is not assigned to t1 . Define an amount of demand q 0 (tm ) of tm so that the sum of q 0 (tm ) and the total demand assigned to t1 is ate least (2/3)λ and at most λ, and the remaining demand of Zx is at least (4/3)λ and at most 2λ. Then we apply Lemma 3 to (Tx0 , Zx , q 0 , d, λ), where q 0 (v) = q(v) for all v ∈ Zx − {tm } and q 0 (tm ) = q(tm ) − q 0 (tm ), and Tx0 is the subtree of Tx on the remaining demand. 2 Lemma 5 Given a tree (Tx , Zx , q, d, λ) with Zx 6= ∅, there are two hub vertices t1 = x and t2 , and a demand assignment A(v) = {(ti , qiv ) | i = 1, 2, q1v + q2v } for all v ∈ Zx such that (i) the total demand assigned to t2 is at least (2/3)λ, and d(t2 ) ≤ d(t) for all t with demand assigned to t2 , and (ii) when demands of all sources in Zx are routed to their hub vertices, the total amount of these flow on each edge of Tx is at most λ. 6

Proof. First, for each branch B of Tx with q(V (B) ∩ Zx ) ≤ λ, we assign demands of all sources in V (B) ∩ Zx to x. Clearly, when q(V (B) ∩ Zx ) is routed to x, the flow on each edge in E(B) is at most λ. For each branch B of Tx with q(V (B) ∩ Zx ) > λ, we discuss the following two cases. Case 1. B contains a source t2 ∈ Zx with q(t2 ) > λ. We define a part q 0 (t2 ) of q(t2 ) with q 0 (t2 ) = λ and assign q 0 (t2 ) and q(Zx ) − q 0 (t2 ) to t2 and x, respectively. Case 2. q(v) < (2/3)λ for all v ∈ Zx . Then B contains a balance-tree and satisfies q(V (B) ∩ Zx ) < (4/3)λ. Denote the balance-tree of B by Tv and its branches by Bv1 and Bv2 . Let Z = V (B) ∩ Zx and Zvi = V (Bvi ) ∩ Zx , i = 1, 2. Note that q(Zvi ) > (1/3)λ, i = 1, 2, by the definition of the balance-tree. Let t2 denote the sources of the smallest distance d in Zv1 ∪ Zv2 ; t2 ∈ Zv1 is assumed without loss of generality. Assign demands of all sources in Zv1 to t2 and assign demands of sources from Zv2 one by one to t2 as long as the total demand assigned to T2 is less than (2/3)λ. If the current demand assigned to t2 is at most λ, then assign demands of the remaining sources in Zx to x. Otherwise, let t0 ∈ Zv2 be the last source assigned its demand to t2 , define a part q 0 (t0 ) of q(t0 ) such that the demand assigned to t2 minus q 0 (t0 ) is λ, and reassign q 0 (t0 ) and the remaining demand in q(Zx ) to x. Let A be the demand assignment of sources in Zx to x and t2 . 2 Theorem 6 Given a tree T rooted at s, an edge capacity λ > 0, a source set S ⊆ V (T ), a demand function q : S → R+ such that q(t) < (2/3)λ or λ < q(t) < (4/3)λ, t ∈ S, and a vertex weight function d : S → R+ , there is a set H of hub vertices and a demand assignment A = {(tiv , qiv ) | i = 1, 2, tiv ∈ H, v ∈ S}, where q1v + q2v = q(v) for all v such that: (i) (ii) (iii) (iv)

The demand of each source in S is assigned to at most two vertices in H. For each v ∈ H − {s}, the total demand assigned to v is at least (2/3)λ. For each v ∈ H − {s}, d(v) ≤ d(t) for all t with demand assigned to v. When demands of all sources are routed to their hub vertices simultaneously, the total amount of these flow on each edge of T is bounded from above by λ.

Furthermore, such demand assignment can be computed in polynomial time.

2

We can assume without loss of generality that in a given tree T , (i) all terminals are leaves, i.e., M = L(T ), by introducing a new edge of weight zero for each non-leaf terminal, and (ii) |Ch(v)| = 2 holds for every non-leaf v ∈ V (T ), i.e., T is a binary tree rooted at s, by replicating internal vertices of degree more than 3, so that copies of the same vertex are connected with zero-weight edges. Algorithm TreePartition Input: A binary tree Tb rooted at s, a capacity λ of each edge, a set S = L(Tb ) of sources, a demand function q : S → R+ such that q(t) < (2/3)λ or λ < q(t) < (4/3)λ, t ∈ S, and a vertex weight function d : S → R+ . 7

Output: A pair (A, H) that satisfies the conditions in Theorem 6. Initialize T := Tb ; Q := H := ∅. 1 while there exists a vertex v ∈ V (T ) − {s} − Q such that q(V (Tv ) ∩ S) ≥ (2/3)λ do 2 Choose such v with the maximum depth from s; 3 Let Zv := DT (v) ∩ S; Tv := T hZv i; 4 begin /* Distinguish the next four cases. */ 5 Case-1 q(Zv ) ≤ λ: Let tZv = argmin{d(t) | t ∈ Zv }; 6 Assign demands of all sources in Zv to tZv ; 7 H := H ∪ {tZv }; S := S − Zv ; 8 Case-2 λ < q(Zv ) < (4/3)λ: Let Q := Q ∪ {v}; 9 Case-3 (4/3)λ ≤ q(Zv ) < 2λ: 10 Apply Lemma 3 to (Tv , Zv , q, d, λ) to get two hub vertices tX and tY and demand assignment of all sources in Zv to tX and tY that satisfy the the lemma; 11 H := H ∪ {tX , tY }; S := S − Zv ; 12 Case-4 2λ ≤ q(Zv ) < (8/3)λ: 13 Apply Lemma 4 to (Tv , Zv , q, d, λ) to get three hub vertices t1 , t2 , and t3 and a demand assignment of all sources in Zv to t1 , t2 , and t3 that satisfy the lemma; 14 H := H ∪ {t1 , t2 , t3 }; S := S − Zv ; 15 end; /* Cases-1,2,3,4 */ 16 Let T := T hS ∪ {s}i 17 endwhile; 18 if S 6= ∅ 19 Regard T as a tree Ts rooted at s and apply Lemma 5 to (Ts , S, q, d, λ) to get a hub vertex t and demand assignment of all sources in S to t and s that satisfy the lemma; 20 H := H ∪ {t, s} 21 endif.

Now we prove that the demand assignment output from algorithm DemandAssignment satisfies the desired conditions. For each hub vertex t defined in an iteration of the while loop, the total demand assigned to t equals q(Zt ) = λ (see lines 10-16). On the other hand, after the last iteration of the while loop has been performed, the total demand of the current set S is less than λ. Hence, it remains to show that, when demands of all sources are sent to their hub vertices, the total flow on each direction of each edge e ∈ E(T ) is at most λ. Lemma 7 Let (H, Z) be a pair obtained from a binary tree Tb by algorithm DemandAssignment. Then for each edge e = (x, y) ∈ E(Tb ), where y ∈ ChTb(x), the total flow go through e toward x (resp., y) is less than (2/3)λ (resp., λ). 8

Proof. Note that throughout processing of any subtree Tv (for a vertex v chosen in line 3), the algorithm does not assign any source in V (Tb ) − V (Tbv ) (resp., V (Tbv ) ) to a hub vertex in V (Tbv ) (resp., V (Tb ) − V (Tbv )). This implies that when y ∈ / DTb(v) − {v}, b b b none of the sources in V (T ) − V (Ty ) (resp., V (Ty )) is assigned to a hub vertex in V (Tby ) (resp., V (Tb ) − V (Tby )). Then it is sufficient to prove the lemma for the subtree T = Tb hS ∪ {s}i for the current S, where the vertex v chosen in line 3 be such that y ∈ DT (v) − {v}. Consider the first moment when a vertex in V (Ty ) is assigned to the hub vertex of a demand of a source in V (T ) − V (Ty ) during the execution of DemandAssignment. Let v be the vertex such that the tree Tv with y ∈ DT (v)−{v} is being processed by the algorithm. The algorithm first chooses a vertex t ∈ V (Tv ) in line 10, where t ∈ V (Tu ) is assumed without loss of generality, and then assigns demands of all sources in V (Tu ) to t. This implies that y ∈ V (Tu ) and t ∈ V (Ty ). Moreover, once any demand of sources in V (T ) − V (Ty ) is assigned to a hub vertex in Ty in an iteration of the algorithm, none of the vertices of Ty will become a hub vertex in the subsequent iterations since all sources in V (Tu ) (and hence in V (Ty )) will be removed from the source set in the next iterations (see line 26). Therefore, all demands of sources in V (T ) − V (Ty ) assigned to a hub vertex in V (Ty ) are assigned to t. On the other hand, the total demand assigned to t (which equals λ) is the sum of the demands of sources in V (T ) − V (Ty ) which are assigned to t and demands of all sources in V (Ty ). Since t ∈ V (Ty ) (q(V (Ty ) ∩ S) 6= 0), the total demand of sources in V (T ) − V (Ty ) which are assigned to t is less than λ. Consider the first moment when a vertex in V (T ) − V (Ty ) is assigned to the hub vertex of a demand of a source in V (Ty ) during the execution of DemandAssignment. Let v be the vertex such that the tree Tv with y ∈ DT (v) − {v} is being processed by the algorithm. Note that, for Ch(v) = {u, u˜}, we have q(V (Tu ) ∩ S), q(V (Tu˜ ) ∩ S) < (2/3)λ since otherwise q(V (Tu )∩S) ≥ (2/3)λ or q(V (Tu˜ )∩S) ≥ (2/3)λ would violate the choice of v. Thus, the total demand of sources in V (Ty ) is less than (2/3)λ since y ∈ DT (u) or y ∈ DT (˜ u). Hence, the total demand of sources V (Ty ) which are assigned to a hub vertex in V (Ty ) is less than (2/3)λ. 2

4

Approximation Algorithm to 2SCND

This section describes a framework of our approximation algorithm for the 2SCND and then analyzes its approximation ratio. The algorithm relies on the results we provided in Section 3. The basic idea of the algorithm is to first produce a tree T of minimum cost including all vertices in S ∪ {s}. For each source t ∈ S with q(t) > λ/2, we install a copy of each edge in a shortest path SP (s, t) between s and t in (G, w), and let Pt := SP (s, t). We then find a partition S of the remaining sources in S, and assign a hub vertex tZ for each subset Z ∈ S, such that when the total demand of each subset is routed to its hub 9

vertex simultaneously, the amount of these flow on each edge of T is at most λ. Finally, for each set Z ∈ S, we install a copy of each edge in a shortest path SP (s, tZ ) between s and tZ in (G, w), and construct a path Pt from the path between t and tZ in T by adding SP (s, tZ ) for all t ∈ Z. For each edge e ∈ E(T ), find the number of copies that are installed on e so that the demand q(v) of each source v ∈ S can be sent simultaneously to s.

Algorithm Approx2SCND Input: An instance I = (G = (V, E), w, S, q, s, λ) of the 2SCND. Output: A solution P to I. Step 1. Compute a Steiner tree T that spans S ∪ {s} in G. Regard T as a tree rooted at s, and define d : S → R+ by setting d(t) := d(G,w) (s, t),

t ∈ S.

Step 2. For each v ∈ S 0 = {v ∈ S | (2/3)λ ≤ q(v) ≤ λ}, install a copy on each edge on the shortest path SP (v, s) between v and s in G, and let P v = SP (v, s). For each v ∈ S 00 = {v ∈ S | q(v) ≥ (4/3)λ}, install dq(v)/λe copies on each edge on the shortest path SP (v, s) between v and s in G, and let P v = SP (v, s). Step 3. Apply Lemma 6 to (T, S, q, S − S 0 − S 00 , d, λ) to obtain a set H of hub vertices and a demand assignment A(v) = {(qiv , tiv ) | i = 1, 2, tiv ∈ H, q1v + q2v = q(v)} for all v ∈ S − S 0 − S 00 that satisfy conditions (i)-(iv) of the lemma. Step 4. For each v ∈ S with A(v) = {s}, let Pv be the path between v and s in T . For each v ∈ S with A(v) = {t1 , t2 }, Choose shortest paths SP (s, t1 ) and SP (s, t2 ) between s and t1 and t2 in (G, w), respectively. Let Pv1 (resp., Pv2 ) be the path obtained from the path between v and t1 (resp., t2 ) in T by adding SP (s, t1 ) (resp., SP (s, t2 )). Step 5. Output P = {Pv | v ∈ S}. 2 We now turn to proving that the solution output from algorithm Approx2SCND is within a factor of (3/2 + ρST ) of the optimal solution. Theorem 8 For an instance I = (G = (V, E), w, S, q, s, λ) of the 2SCND, algorithm Approx2SCND delivers a (3/2 + ρST )-approximate solution P, where ρST is the performance ratio for approximating Steiner tree problem. Proof. Let opt(I) denote the weight of an optimal solution. By the construction, the cost of P is bounded by cost(P) ≤ w(T ) +

X

d(t).

t∈H−{s}

10

For a minimum Steiner tree T ∗ that spans S ∪ {s}, we have w(T ) ≤ ρST w(T ∗ ) and w(T ∗ ) ≤ opt(I) by Lemma 1. Hence w(T ) ≤ ρST · opt(I) holds. To prove the theorem, P it suffices to show that t∈H−{s} d(t) ≤ opt(I). Consider a source v ∈ S with demand q(v) = q1 (v) + q2 (v), where q1 (v) and q2 (v) are sent to s along Pv1 and Pv2 , respectively (May be Pv1 = Pv2 ). Hence, by Lemma 1, we have X

d(t)/λ ≤

t∈H−{s}

X

q(v)d(v)/λ ≤ opt(I),

v∈S

which completes the proof. 2

5

Concluding remarks

In this paper, we have studied the 2-splittable capacitated network design problem (2SCND), a problem of finding a routing from a set of sources to a single sink in a network with an edge installing cost. The 2SCND is a special case of the capacitated network design problem (CND), in which the demand of each source can be routed to the sink along at most two paths. We have designed a (3/2 + ρST )-approximation algorithm for the 2SCND, where ρST is any approximation ratio achievable for the Steiner tree problem.

References [1] B. Awerbuch, Y. Azar, Buy-at-bulk network design, In IEEE Symposium on Foundations of Computer Science (FOCS), (1997) 542-547. [2] F. Grandoni, G. F. Italiano, Improved approximation for single-sink buy-at-bulk, In Proceedings of International Symposium on Algorithms and Computation (ISAAC), (2006) 111-120. [3] J. Gu, X.-D. Hu, M.-H. Zhang, Routing algorithm for multicast under multi-tree model in optical networks, Theoretical Computer Science 314 (2004) 293-301. [4] S. Guha, A. Meyerson, K. Munagala, A constant factor approximation for the single sink edge installation problem, In ACM symposium on the Theory of Computing (STOC), (2001) 383-388. [5] R. Hassin, R. Ravi, F. S. Salman, Approximation algorithms for a capacitated network design problem, Algorithmica, 38 (2004) 417-431. [6] S. Khuller, B. Raghavachari, N. N. Young, Balancing minimum spanning and shortest path trees, Algorithmica, 14 (1993) 305-322.

11

[7] S. G. Kolliopoulos, Minimum-cost single source 2-splittable flow, Information Processing Letters, 94 (2005) 15-18. [8] Y. Mansour, D. Peleg, An approximation algorithm for minimum-cost network design, Tech. Report Cs94-22, The Weizman Institute of Science, Rehovot, (1994); also presented at the DIMACS Workshop on Robust Communication Network, (1998). [9] E. Morsy, H. Nagamochi, Approximating capacitated tree-routings in networks, LNCS 4484 (2007) 342-353. [10] R. Ravi, A. Sinha, Approximation algorithms for problems combining facility location and network, Operations Research, 54(1) (2006) 73–81. [11] G. Robins, A. Z. Zelikovsky, Improved Steiner tree approximation in graphs, In Proceedings of the 11th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2000), (2000) 770-779. [12] F. S. Salman, J. Cheriyan, R. Ravi, S. Subramanian, Approximating the single-sink linkinstallation problem in network design, SIAM J. Optim., 11 (2000) 595-610. [13] H.-Z. Zheng, D.-H. Chu, D.-C. Zhan, Effective algorithm CFL based on Steiner tree and UFL problem, IJCSNS 6(9A), (2006) 24-27.

12

Approximating the 2-Splittable Capacitated Network ...

send demand q(v) from each source v ∈ S along at most two paths to the ...... [2]F. Grandoni, G. F. Italiano, Improved approximation for single-sink buy-at-bulk, In.

176KB Sizes 2 Downloads 120 Views

Recommend Documents

Approximating the Kullback Leibler Divergence ... - Semantic Scholar
tering of models, and optimization by minimizing or maximizing the. KL divergence between distributions. For two gaussians ˆf and g the KL divergence has a ...

Approximating the Kullback Leibler Divergence ...
less than 0.1 ms per pair of GMMs. The Dgaussian, Dunscented, and DMC(2dn) took around 1 ms per pair. ... for graphical models,” Machine Learning, vol.

Approximating the Size of a Radio Network in Beeping ...
of the 51th IEEE Conference on Decision and Control, CDC 2012, December 10-13, 2012, Maui, HI, USA,. Proceedings of 51st Annual Conference on Decision and Control (CDC), pages 5234–5239. IEEE, 2012. 9. A. Cornejo and F. Kuhn. Deploying wireless net

Weighted Flowtime on Capacitated Machines - The University of ...
without resource augmentation, no online algorithm can achieve a bounded ... clouds which share resources and machines among multiple users and jobs [1,2,4,32]. ... is the best known algorithm for unit weights on multiple machines in both ...

Approximating the Best–Fit Tree Under Lp Norms
Department of Computer and Information Science, University of Pennsylvania,. Philadelphia, PA ... We also consider a variant, Lrelative, of the best-fit objective.

Approximation Schemes for Capacitated ... - Research at Google
set of types of links having different capacities and costs that can be used to .... all Steiner vertices in M have degree at least 3 and are contained in the small-.

Approximating Discrete Probability Distributions ... - Semantic Scholar
Computer Engineering. University of Illinois ... Enterprise Systems Engineering. University of Illinois ... For Bayesian networks, graphical models are often used to represent ... This work will consider the specific setting where there are random ..

Weighted Flowtime on Capacitated Machines - Research at Google
clouds which share resources and machines among ... farms and clouds often have excess capacity provi- ...... com/solutions/cloud-computing/index.html〉.

Approximating the Stationary Distribution of an Infinite ...
Sep 14, 2007 - central issue. In a series of papers with ... Our approach invokes a theorem from Heyman and Whitt (1989). ... The limit theorem. For Markov ...

Approximating the Stationary Distribution of an Infinite ...
Sep 14, 2007 - ... use of this work. Publisher contact information may be obtained at ... advantage of advances in technology. For more ..... A completely formal proof that the construction in the previous paragraph establishes. (2.4) requires ...

A Piece-wise Linear Model For Approximating LMP ...
Aug 23, 2011 - Piece-wise Linear Approximation Model. ○ Numeric Study ... Level (CLL)!. ○ With CLLs as breakpoints, even linear model may work!

Approximating Game-Theoretic Optimal Strategies for ...
sizes, and is not practical for most real domains. ... The application domain used is the game ..... (ie. only one of the available choices), then a perfect mapping.

Approximating Game-Theoretic Optimal Strategies for ...
The application domain used is the game of poker, specifically ... A poker-playing program that is a major improvement ...... ior. Princeton University Press, 1944.

Appendix 1: Results of experiments Approximating ...
... signal settings evaluated in a microscopic model, 10 minutes of simulation, 30000 cars initially, 20 new cars each second. Batch size: 100. Cross-validation:.

Fastfood — Approximating Kernel Expansions in Loglinear Time
via a suitably chosen scaling matrix S. That is, large values in Sii correspond to high complexity basis functions whereas small Sii relate to simple functions with ...

Approximating Traffic Simulation using Neural Networks and its ...
Networks and its Application in Traffic Optimization ... networks. Finally, Section 5 concludes the paper. 2 Existing approaches to traffic signal control ..... [15] OpenStreetMap service, http://openstreetmap.org, last accessed: 1.12.2016.

Fastfood — Approximating Kernel Expansions in Loglinear Time
in establishing a sufficiently high degree of decorrela- .... C(v) n . (12). Moreover, the same holds for V = 1 σ. √ d. SHGΠHB. Proof φ (x) φ (x ) is the average of ...

Approximating the Cost-of-Living Index for a Storable ...
This paper estimates a cost of living index (COLI) using a dynamic structural model for a storable product category with ... of the average structural index. ∗University of Toronto, Institute for Management and Innovation and School of Management.

EU Innovation Network - Core profile within the network - European ...
1. EU Innovation Network Membership. Pre-Adoption of mandate Sept. 2016 ... The EU Innovation offices Network focuses on ... The services of the Innovation.

The network takeover.pdf
Albert-László Barabási. Reductionism, as a paradigm, is expired, and complexity, as a field, is tired. Data-based mathematical. models of complex systems are ...

The 3rd Tokyo Network Workshop
Sep 27, 2015 - The workshop this year focuses more on networks of firms, although the previous ... "Insights from applying social network models to spatially ...

The 3rd Tokyo Network Workshop
Sep 27, 2015 - The workshop this year focuses more on networks of firms, although the previous ... "Insights from applying social network models to spatially ...

The Network Society
A network society is a society whose social structure is made of networks powered .... three major features of networks that benefited from the new technological.