Upload
asaf-levin
View
213
Download
0
Embed Size (px)
Citation preview
Available online at www.sciencedirect.com
Operations Research Letters 32 (2004) 316–319
OperationsResearchLetters
www.elsevier.com/locate/dsw
A better approximation algorithm for the budget prize collectingtree problemAsaf Levin
Faculty of Industrial Engineering and Management, Technion, Haifa 32000, Israel
Received 10 June 2002; received in revised form 6 November 2003; accepted 6 November 2003
Abstract
Given an undirected graph G= (V; E), an edge cost c(e)¿ 0 for each edge e∈E, a vertex prize p(v)¿ 0 for each vertexv∈V , and an edge budget B. The BUDGET PRIZE COLLECTING TREE PROBLEM is to 7nd a subtree T ′=(V ′; E′) that maximizes∑
v∈V ′ p(v), subject to∑
e∈E′ c(e)6B. We present a (4 + �)-approximation algorithm.c© 2003 Elsevier B.V. All rights reserved.
Keywords: Approximation algorithms
1. Introduction
Suppose that we are given an undirected graph G=(V; E), a non-negative edge cost c(e) for each edgee∈E, and a non-negative vertex prize p(v) for eachvertex v∈V . Motivated by applications to local ac-cess network design, Johnson et al. [6] considered thefollowing problems:
• The QUOTA PRIZE COLLECTING TREE PROBLEM (QPCT):given a prize quota Q¿ 0, 7nd a subtreeT ′= (V ′; E′) that minimizes
∑e∈E′ c(e) subject to∑
v∈V ′ p(v)¿Q.• The BUDGET PRIZE COLLECTING TREE PROBLEM
(BPCT): given a budget B¿ 0, 7nd a subtreeT ′ = (V ′; E′) that maximizes
∑v∈V ′ p(v), subject
to∑
e∈E′ c(e)6B.
The k-MST problem is the special case of theQPCT where p(v) = 1 ∀v∈V and Q = k. Arora and
E-mail address: [email protected] (A. Levin).
Karakostas [1] provided a (2+�)-approximation algo-rithm for the k-MST, improving the 3-approximationalgorithm of Garg [2]. As observed in [6], any�-approximation algorithm for the k-MST problemyields a pseudo-polynomial time �-approximationalgorithm for the corresponding QPCT. Moreover,using properties of the Goemans–Williamson primal–dual algorithm [3] applied during Garg’s k-MST ap-proximation algorithm, the pseudo-polynomial timealgorithm can be transformed into a polynomial timealgorithm. This fact was proved in [6] for Garg’salgorithm, however it holds also for the algorithm ofArora and Karakostas. To conclude, the best availableapproximation ratio for the QPCT is (2 + �).With respect to the BPCT, Johnson et al. [6] pro-
vided a (5 + �)-approximation algorithm. They alsonoted that in order to get a better bound for the BPCT,they need an algorithm for the QPCT with a perfor-mance guarantee of 2 or less, in which case the per-formance guarantee for BPCT would drop to 3 + �.In this paper we show a (4 + �)-approximation
algorithm for the BPCT.
0167-6377/$ - see front matter c© 2003 Elsevier B.V. All rights reserved.doi:10.1016/j.orl.2003.11.002
A. Levin /Operations Research Letters 32 (2004) 316–319 317
Denote by OPT , the maximum value of BPCT.For a tree T = (VT ; ET ), a cost function c :E → R+and a prize function p :V → R+, we denote c(T ) =∑
e∈ET c(e) and p(T ) =∑
v∈VT p(v).
2. A (4 + �)-approximation algorithm for BPCT
Algorithm BPCT (see Fig. 1) uses a geomet-ric search among values (1 + �)kmaxv∈V p(v),k = 1; 2; : : : to 7nd an approximate value forOPT . More precisely, we try to 7nd a valueQ̂ such that [1=(1 + �)]OPT6 Q̂6OPT . Sincemaxv∈V p(v)6OPT6
∑v∈V p(v)6nmaxv∈V p(v),
the number of iterations during the binary search isO(log1+� n). In each iteration of the binary search, weapproximate the QPCT problem with quota Q̂. In or-der to approximate QPCT, we use a 214 -approximationalgorithm. We note that we can use any approx-imation algorithm for QPCT with a performanceguarantee of less than 212 . There exists such an al-gorithm using the scheme of [1] and the equivalence
Fig. 1. Algorithm BPCT.
between the QPCT and the k-MST proved by [6].If Q̂6OPT , then the cost of the resulting tree T Q̂
is at most 2 14 B (because we use a 214 -approximation
algorithm). Then, we decompose T Q̂ to at most foursubtrees that cover the vertex set of T Q̂ (this is doneusing Algorithm general tree cover that is presentedin Section 3), each of them costs at most B. We pickthe candidate TQ̂ as the tree that has a maximum prize
among them. Among all the values of Q̂ that returneda feasible solution, we pick the best tree.
Remark 1. Using Hassin’s [5] geometric-mean bi-nary search method, we can 7nd in O(log log1+� n)iterations (instead of O(log1+� n) iterations) avalue Q̂ such that the 214 -approximate solution forQPCT (G; c; p; Q̂) costs at most 2 14 B whereas the ap-proximate solution for QPCT (G; c; p; (1 + �)Q̂) costsmore than 214 B.
In order to analyze the performance of the algo-rithm, it suNces to show that during the iterationin which [1=(1 + �)]OPT6 Q̂6OPT AlgorithmBPCT returns a solution whose prize is at least[1=(4 + �)]OPT .This last claim holds by the following argument:
since p(TQ̂)¿14 p(T
Q̂) and p(T Q̂) = Q̂¿ [1=(1 +�)]OPT , we get p(T ′)¿p(TQ̂)¿ [1=4(1 + �)]OPT .T ′ is feasible by Lemma 5. We conclude by the fol-lowing theorem:
Theorem 2. For every �¿ 0, there is a polynomialtime (4+�)-approximation algorithm for the BPCT.
3. Algorithm general tree cover
In this section we 7rst assume that c(e)6B=2 foreach edge e∈ET , and present Algorithm tree coverfor this case. Afterwards, we show how the assumptionthat c(e)6B=2 for each edge e∈ET can be removedwithout any loss in performance.Algorithm tree cover (see Fig. 2) is a weighted vari-
ant of the rooted tree cover procedure of Goldschmidtet al. [4]. We root T at a vertex root, and assumethat the vertices of T passed to tree cover have beenassigned labels according to a post-order listing. Fora vertex i, denote by Ti the subtree of T rooted at i
318 A. Levin /Operations Research Letters 32 (2004) 316–319
Fig. 2. Algorithm tree cover.
(T changes throughout the algorithm and Ti changesaccordingly). For a vertex i, we denote by �(i) its fa-ther in T , and by ch(i) a list of all the children of i in T .Given a tree T and a subtree T ′ of T , T\T ′ is the treeobtained from T after we remove from T the edge setof T ′ and afterwards we remove any isolated vertex inthe resulting tree. Note that in general T\T ′ need notbe a tree, however in Algorithm tree cover the result-ing forest is indeed a tree. Given a tree T ′ = (V ′; E′)and an edge (i; j) where i∈V ′ and j �∈ V ′, T ′∪{(i; j)}is the tree (V ′ ∪{j}; E′ ∪{(i; j)}). Given a pair of sub-trees T ′ = (V ′; E′) and T ′′ = (V ′′; E′′) of a commontree T such that V ′ ∩ V ′′ �= ∅, T ′ ∪ T ′′ is the subtreeof T (V ′ ∪ V ′′; E′ ∪ E′′). We assume that c(e)6B=2for every edge e∈ET .
We use Algorithm tree cover with a tree T suchthat c(T )6 214 B. We note that Algorithm tree cover7nds a set of trees that cover ET , however we needonly a cover of VT . We generalize Lemma 3.1 of [4]to our weighted case.
Lemma 3. The collection SOL returned by Algo-rithm tree cover satis4es the following properties:
1. Each tree in SOL costs at most B.2. The average cost of a tree in SOL is at least B=2.
Proof. We 7rst argue that Algorithm tree covermain-tains the invariant that c(Ti) + ci;�(i)6B=2 after itvisits vertex i. To see this note when the algorithmvisits i:
• If c(Ti)¡B=2, then assume that the claim does nothold, i.e., we assume that c(Ti) + ci;�(i)¿B=2. Inthis case the algorithm adds T ′ := Ti ∪ {(i; �(i))}to SOL, and removes T ′ from T . Then, afterthe algorithm visits i, c(Ti) = 0, and thereforeci;�(i)¿B=2. This contradicts the assumption thatc(e)6B=2 ∀e∈ET .
• If B=26 c(Ti)6B, then after it visits i, c(Ti) = 0,and the claim holds by the assumption thatc(e)6B=2 ∀e∈ET .
• If c(Ti)¿B, then in the current iteration of Phase1 we do not increase i. Therefore, in the last itera-tion with the current value of i, we have c(Ti)6B,and the claim follows by one of the previouscases.
We assumed that each edge in T costs at most B=2.Therefore, by construction, during Phase 1 the algo-rithm never adds a tree with cost greater than B. Dur-ing Phase 2, by the algorithm’s invariant c(T )6B=2.Therefore, if the algorithm adds T to SOL then itnever adds a tree with cost greater than B. If the al-gorithm adds T ′ ∪ T instead, then by constructionc(T ′ ∪ T )6B. Therefore, during Phase 2 the algo-rithm never adds a tree with cost greater than B.We now show that during Phase 1 it never adds a
tree with cost smaller than B=2. Let q be the small-est index such that q∈ ch(i) and q¿p. By de7ni-tion,
∑j∈ch(i)j6p
(c(Tj) + ci; j) + (c(Tq) + ci;q)¿B. By
the algorithm’s invariant, c(T ′) =∑
j∈ch(i)j6p
(c(Tj) +
A. Levin /Operations Research Letters 32 (2004) 316–319 319
ci; j)¿B − (c(Tq) + ci;q)¿B=2. Therefore, any treethat we add to SOL during Phase 1, costs at least B=2.If during Phase 2 we add T to SOL, then the aver-
age cost of T and T ′ is at least B=2. This holds be-cause in this case c(T ) + c(T ′)¿B. If during Phase2 we replace T ′ by T ′ ∪ T in SOL, then since T ′
was added to SOL during Phase 1, we conclude thatc(T ′ ∪T )¿ c(T ′)¿B=2. Therefore, the average costof a tree in SOL is at least B=2.
Corollary 4. If we apply Algorithm tree cover witha tree T such that c(T )6 214 B, then the resultingcollection SOL includes at most 4 trees, each of themcosts at most B.
Next, we generalize Algorithm tree cover to 7nd acover of VT in the case in which there are edges in Tthat cost more than B=2.
Lemma 5. Consider a tree T such that c(T )6 214 B.We can 4nd in polynomial time a collection {T i =(Vi; Ei)} of at most four trees, such that c(T i)6B ∀i,and VT =
⋃i Vi (even if T contains edges that cost
more than B=2).
Proof. Let S = {e∈ET |c(e)¿B=2}.
• If S = ∅, the claim holds by Corollary 4.• If |S|¿ 3, then the removal of any three edges ofS from T forms four connected components, eachof them costs at most B.
• If |S| = 2, then after we remove S from T we getthree connected components. Among these compo-nents, there is at most one that costs more than B(but at most 54 B). We use Algorithm tree cover tocover this component by a pair of spanning trees.Each of the remaining components can be coveredby a single tree. Together we obtain a collection ofat most four spanning trees that covers VT .
• If |S| = 1, then we remove S from T , and obtaintwo connected components. Among these compo-nents, there is at most one that costs more than B.The other component can be covered by a singletree. The larger component costs less than 134 B
and therefore, Algorithm tree cover (when appliedto this component) returns a collection of at mostthree trees. This gives at most four trees that coverVT .
Algorithm general tree cover is the algorithm de-scribed in the proof of Lemma 5.
4. Concluding remarks
We conclude this paper with the following remarks:
Remark 6. Using an algorithm that is similar to Al-gorithm general tree cover, for every �¿ 0 given atree T = (VT ; ET ) whose cost is at most (2 + �)B, wecan cover VT by a set of three trees, each of them costsat most (1 13 + �)B.
Remark 7. Using the set of trees implied by Remark6 during Algorithm BPCT instead of TS, we obtain abicriteria (3 + �; 113 + �)-approximation algorithm forBPCT i.e., for every instance, the algorithm returns atree whose total cost is at most (1 13 + �)B, and whosetotal prize is at least [1=(3 + �)]OPT .
References
[1] S. Arora, G. Karakostas, A 2 + � approximation algorithmfor the k-MST problem, Proceedings of the ACM–SIAMSymposium on Discrete Algorithms 2000, San Francisco, CA,2000, pp. 754–759.
[2] N. Garg, A 3-approximation for the minimum tree spanning kvertices, Proceedings of the 37th Annual IEEE Symposium onFoundation of Computer Science 1996, Burlington, VT, 1996,pp. 302–309.
[3] M.X. Goemans, D.P. Williamson, A general approximationtechnique for constrained forest problems, SIAM J. Comput.24 (1995) 296–317.
[4] O. Goldschmidt, D.S. Hochbaum, A. Levin, E.V. Olinick, TheSONET edge-partition problem, Networks 41 (2003) 13–23.
[5] R. Hassin, Approximation schemes for the restricted shortestpath problem, Math. Oper. Res. 17 (1992) 36–42.
[6] D.S. Johnson, M. MinkoQ, S. Phillips, The prize collectingSteiner tree problem: theory and practice, Proceedings of theACM–SIAM Symposium on Discrete Algorithms 2000, SanFrancisco, CA, 2000, pp. 760–769.