4
Available online at www.sciencedirect.com Operations Research Letters 32 (2004) 316 – 319 Operations Research Letters www.elsevier.com/locate/dsw A better approximation algorithm for the budget prize collecting tree problem Asaf 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 vertex v V , and an edge budget B. The BUDGET PRIZE COLLECTING TREE PROBLEM is to nd a subtree T =(V ;E ) that maximizes vV p(v), subject to eE c(e) 6 B. 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 edge e E, and a non-negative vertex prize p(v) for each vertex v V . Motivated by applications to local ac- cess network design, Johnson et al. [6] considered the following problems: The QUOTA PRIZE COLLECTING TREE PROBLEM (QPCT): given a prize quota Q¿ 0, nd a subtree T =(V ;E ) that minimizes eE c(e) subject to vV p(v) ¿ Q. The BUDGET PRIZE COLLECTING TREE PROBLEM (BPCT): given a budget B ¿ 0, nd a subtree T =(V ;E ) that maximizes vV p(v), subject to eE c(e) 6 B. The k -MST problem is the special case of the QPCT 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-approximation algorithm of Garg [2]. As observed in [6], any -approximation algorithm for the k -MST problem yields a pseudo-polynomial time -approximation algorithm 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 time algorithm can be transformed into a polynomial time algorithm. This fact was proved in [6] for Garg’s algorithm, however it holds also for the algorithm of Arora and Karakostas. To conclude, the best available approximation ratio for the QPCT is (2 + ). With respect to the BPCT, Johnson et al. [6] pro- vided a (5 + )-approximation algorithm. They also noted 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 better approximation algorithm for the budget prize collecting tree problem

Embed Size (px)

Citation preview

Page 1: A better approximation algorithm for the budget prize collecting tree problem

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

Page 2: A better approximation algorithm for the budget prize collecting tree problem

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

Page 3: A better approximation algorithm for the budget prize collecting tree problem

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) +

Page 4: A better approximation algorithm for the budget prize collecting tree problem

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.