Abstract

Let 𝐺=(𝑉,𝐸) be an undirected graph with a weight function and a cost function on edges. The constrained minimum spanning tree problem is to find a minimum cost spanning tree T in G such that the total weight in T is at most a given bound B. In this paper, we present two polynomial time approximation schemes (PTASs) for the constrained minimum spanning tree problem.

1. Introduction

Motivated by the applications of quality of service (QoS) routing and multicasting, several multiple criteria problems have been studied (see [16] and references therein). Marathe et al. [5] studied a class of bicriteria network design problems that are defined as follows. Given an undirected graph 𝐺=(𝑉,𝐸) and two independent minimization criteria with a bound on the first criterion, a generic bicriteria network design problem involves the minimization of the second criterion but satisfies the bound on the first criterion among all possible subgraphs from 𝐺 [5]. They considered three different criteria that have total edge cost, diameter, and maximum degree of a graph. The total edge cost of a graph is the sum of the costs of all edges in the subgraph. The diameter of a graph is the maximum distance between any pair of nodes in the subgraph. The degree of a node is the number of nodes adjacent to this node, and the maximum degree of a graph is maximum over the degrees of all nodes in the subgraph. Let 𝐺=(𝑉,𝐸) be an undirected graph and a positive integer 𝐵. Two different nonnegative functions, weight and cost, associate on edges in 𝐸, respectively. The constrained minimum spanning tree (CMST) problem [710] is to find a minimum total cost spanning tree 𝑇 in 𝐺 such that the total weight in 𝑇 is at most 𝐵. Aggarwal et al. [7] showed that the CMST problem is weakly NP-hard. Then Hong et al. [9] gave a pseudopolynomial time algorithm to solve the CMST problem. Moreover, some approximation algorithms have been proposed to solve the CMST problem [5, 8, 10].

Given two positive real numbers 𝛼 and 𝛽, an (𝛼,𝛽)-approximation algorithm for the CMST problem is defined as a polynomial-time algorithm that produces a solution with the total weight at most 𝛼 times the bound 𝐵 and the total cost at most 𝛽 times the total cost of optimal solution for the CMST problem. The approximation ratio is denoted by (𝛼,𝛽). An (𝛼,𝛽)-approximation algorithm for the CMST problem is called the polynomial time approximation scheme (PTAS) that produces a spanning tree with an approximation ratio of (1,1+𝜀), for any constant 𝜀>0. For any constant 𝜀>0, Marathe et al. [5] gave a (1+𝜀,1+1/𝜀)-approximation algorithm for the CMST problem. Ravi and Goemans [10] presented a (2,1)-approximation algorithm to solve the CMST problem in 𝑂(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|) time and improved the ratio to (1+𝜀,1), where the time complexity is 𝑂(|𝑉|𝑂(1/𝜀)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)) for any constant 𝜀>0. These algorithms are based on the Lagrangian relaxation. Hassin and Levin [8] employed Ravi and Goemans' [10] algorithm with the matroid intersection strategy [1113] to design a (1,1+5𝜀)-approximation algorithm in 𝑂((1/𝜀2)(1/𝜀)|𝑉|3) time for the CMST problem. For other related bicriteria problems, Hassin [14] gave a fully polynomial time approximation scheme (FPTAS) for the restricted shortest path problem. The purpose of this problem is to find a minimum cost shortest path 𝑃 from a source to a destination subject to the constraint that the total weight in 𝑃 is at most 𝐵. Then, Lorenz and Raz [15] gave an improved FPTAS whose time complexity is 𝑂(|𝑉||𝐸|loglog|𝑉|+(|𝑉||𝐸|)/𝜀) for the restricted shortest path problem. Further, Xue et al. [16] also designed an FPTAS with improved time complexity to 𝑂(|𝑉||𝐸|logloglog|𝑉|+(|𝑉||𝐸|)/𝜖) for the restricted shortest path problem. If the graph is directed acyclic, and Ergun et al. [17] provided an improved FPTAS for the restricted shortest path problem with running time 𝑂((|𝑉||𝐸|)/𝜀). Chen and Xue [18, 19] used a similar method to design PTASs for the 𝑘-pair delay constrained minimum cost routing problem and the weight constrained Steiner tree problem in series-parallel graphs. These algorithms are based on the rounding and scaling strategy that is offered by Hassin [14]. In this paper, we present two polynomial time approximation schemes to find (1,1+𝜀)-approximation ratio for the CMST problem. Applying the second PTAS to Hassin and Levin's algorithm [8], the approximation ratio can be improved to (1,1+4𝜀) for the CMST problem.

The rest of this paper is organized as follows. In Section 2, we first describe a (1,(1+𝜀)2)-approximation algorithm for the CMST problem and then improve the approximation ratio to (1,1+𝜀). Finally, we make a conclusion in Section 3.

2. PTASs for the Constrained Minimum Spanning Tree Problem

In this section, we first clarify a (1,(1+𝜀)2)-approximation algorithm for the CMST problem. Hassin and Levin [8] first used this algorithm to obtain a (1,2(1+𝜀)) ratio for the CMST problem. Then they applied the Lagrangian relaxation and matroid intersection methods to improve the ratio to (1,1+5𝜀) in 𝑂((1/𝜀2)(1/𝜀)|𝑉|3)) time. However, they did not describe the details of this algorithm. Then, we improve this approximation ratio into (1,1+𝜀). Note that applying our algorithm, the approximation ratio of Hassin and Levin's algorithm [8] can be improved to (1,1+4𝜀) ratio with the same time complexity. For convenience, we use 𝐶(𝐻) (resp., 𝑊(𝐻)) to denote the sum of the costs (resp., weights) of all edges in any subgraph 𝐻 of 𝐺. Let 𝑇OPT be the optimal solution of the CMST problem. For any constant 𝜀>0 and an integer 𝐵, Ravi and Goemans' [10] algorithm, denoted by 𝒜𝑅(𝜀,𝐵), produces a spanning tree 𝑇 of the 𝑊(𝑇) at most (1+𝜀)𝐵 and of the 𝐶(𝑇) at most 𝐶(𝑇OPT). Our algorithm first finds a cost of the lower bound, denoted by LB, and a cost of the upper bound, denoted by UB, for the CMST problem. Then, iteratively shrink this range between LB and UB until UB(1+𝜀)LB. A trivial lower bound LB can be set to 1, and an upper bound UB can be set to |𝑉|𝐶max, in which 𝐶max is the maximum edge cost in 𝐺. However, the range between the trivial lower bound and upper bound is too large (i.e., not polynomial in input size). We reduce the range by Lorenz and Raz's method [15] such that UB |𝑉| LB. First, let 𝑐1,𝑐2,,𝑐𝑘 be all the distinct costs of edges in 𝐺. 𝐺𝑗=(𝑉,𝐸𝑗) denotes the subgraph of 𝐺(𝑉,𝐸), where 𝐸𝑗 is the set of edges with costs not greater than 𝑐𝑗. It is clear that 𝐺𝑘=𝐺 and 𝐺𝑗𝐺𝑗+1 for 1𝑗𝑘1. For 1𝑗𝑘, we can use Prim's algorithm [20] to find a minimum weight spanning tree 𝑇𝑗 in 𝐺𝑗. Let 𝐽 be the smallest index 𝑗 such that 𝑊(𝑇𝑗) is no more than 𝐵. Then, finding the value 𝑐𝐽 of a graph 𝐺 can be done in 𝑂(|𝑉|2log|𝑉|)time by binary search and Prim's algorithm [20]. Therefore, we have 𝑐𝐽𝐶(𝑇OPT)|𝑉|𝑐𝐽. Hence, we can let the initial UB be |𝑉|𝑐𝐽 and LB be 𝑐𝐽. If UB(1+𝜀)LB, then 𝐶(𝑇𝐽)UB(1+𝜀)LB(1+𝜀)𝐶(𝑇OPT). Otherwise, we first swap the cost (resp., weight) to the weight (resp., cost) for each edge in 𝐺 and find a value 𝑀 between LB and UB. Then, apply algorithm 𝒜𝑅(𝜀,𝑀) to find a spanning tree 𝑇 in 𝐺. If the total weight of 𝑇 is no more than 𝐵, let UB=(1+𝜀)𝑀; otherwise, let LB=𝑀. Hence, the range between LB and UB is shrunk. Then, we repeatedly run the algorithm 𝒜𝑅(𝜀,𝑀) until UB(1+𝜀)LB. The next lemma shows that we can obtain either a lower bound 𝑀 or an upper bound (1+𝜀)𝑀 for the CMST problem after running 𝒜𝑅(𝜀,𝑀).

Lemma 2.1. Given an instance of the CMST problem with a constant 𝜀>0 and an integer 𝒞, one swaps the cost (resp., weight) to the weight (resp., cost) for each edge and then applies algorithm 𝒜𝑅(𝜀,𝒞) to find a spanning tree 𝑇. If 𝑊(𝑇)𝐵, then there is an upper bound (1+𝜀)𝒞. Otherwise, one can obtain a lower bound 𝒞.

Proof. For convenience, we use 𝑇𝒞 to denote the minimum weight spanning tree of 𝐺 with total cost at most 𝒞. After running the algorithm 𝒜𝑅(𝜀,𝒞), we have a spanning tree 𝑇 with 𝑊(𝑇)𝑊(𝑇𝒞) and 𝒞(𝑇)(1+𝜀)𝒞 since the costs and weights of all edges are exchanged. Hence, if 𝑊(𝑇)𝐵, then 𝒞(𝑇OPT)𝒞(𝑇)(1+𝜀)𝒞. Otherwise, 𝑊(𝑇𝒞)𝑊(𝑇)>𝐵. Then we assume 𝒞(𝑇OPT)<𝐶 for contradiction. Hence, we have 𝑊(𝑇𝒞)𝑊(𝑇OPT). However, 𝑊(𝑇OPT)𝐵, and we have 𝑊(𝑇𝒞)𝐵. Hence, 𝒞 must be less than or equal to 𝐶(𝑇OPT).

For clarification, we describe the (1,(1+𝜀)2)-approximation algorithm for the CMST problem as follows.

Algorithm PTAS-CMST
Input: A graph 𝐺=(𝑉,𝐸) with a weight function and a cost function on edges, an integer bound 𝐵, and two real numbers 𝜀>0 and 𝜌>0.
Output: A spanning tree 𝑇APX of 𝐺 subject to 𝑊(𝑇APX)𝐵. (1)For each edge in E, swap cost to weight and weight to cost, respectively. end for(2)Let an initial upper bound UB=|𝑉|𝑐𝐽 and an initial lower bound LB=𝑐𝐽. (3)If  UB(1+𝜀)LB,  then let 𝑇APX=𝑇𝐽 and return.Else(3.1)Let 𝐿=LB and 𝑈=UB/(1+𝜌).(3.2)Repeat the following steps until the condition (1) 𝑈(1+𝜀)𝐿 or (2) 𝑈𝐿+1 holds. (3.2.1) Let a middle value 𝑀=𝑈𝐿. (3.2.2) Use algorithm 𝒜𝑅(𝜌,𝑀) to find a spanning tree 𝑇. (3.2.3)/* if 𝑊(𝑇)>𝐵, then we have a lower bound 𝑀; else we have an upper bound (1+𝜌)𝑀 and 𝐶(𝑇) is less than or equal to this upper bound.  */ If  𝑊(𝑇)𝐵,  then let 𝑈=𝑀 and 𝑇APX=𝑇;  else let 𝐿=𝑀.

The approximation ratio of Algorithm PTAS-CMST is shown in the next lemma.

Lemma 2.2. Algorithm PTAS-CMST returns a spanning tree 𝑇APX with 𝐶(𝑇APX)(1+𝜀)(1+𝜌)𝐶(𝑇OPT).

Proof. Let the upper bound 𝑈𝑖, the middle value 𝑀𝑖, and the lower bound 𝐿𝑖 be parameters at the beginning of the 𝑖th iteration of step (3.2) for Algorithm PTAS-CMST. Let 𝑇𝑖 denote a spanning tree after running the 𝑖-th iteration of step (3.2.2). It is clear that 𝐿𝑖𝑀𝑖𝑈𝑖. Hence, 𝑈𝑖+1𝑈𝑖 and 𝐿𝑖+1𝐿𝑖. Moreover, we have 𝐿𝑖+1=𝑈𝑖𝐿𝑖 and 𝑈𝑖+1=𝑈𝑖 when 𝑊(𝑇𝑖)>𝐵. Then, we also have 𝑈𝑖+1=𝑈𝑖𝐿𝑖 and 𝐿𝑖+1=𝐿𝑖 when 𝑊(𝑇𝑖)𝐵. Further, 𝑈𝑖+1/𝐿𝑖+1=𝑈𝑖/𝑈𝑖𝐿𝑖, or 𝑈𝑖+1/𝐿𝑖+1=𝑈𝑖𝐿𝑖/𝐿𝑖. Therefore, we have 𝑈𝑖+1/𝐿𝑖+1=𝑈𝑖/𝐿𝑖. Note that it successively narrows down the range between the lower bound 𝐿 and the upper bound 𝑈 after each iteration of step (3.2). After running the 𝑖th iteration of step (3.2.3), we obtain either a lower bound 𝑀𝑖 or an upper bound (1+𝜌)𝑀𝑖 by Lemma 2.1. Let 𝑘 be the number of iterations of step (3.2). After performing this algorithm, we have either 𝑈𝑘+1(1+𝜀)𝐿𝑘+1 or 𝑈𝑘+1𝐿𝑘+1+1. For the former case, we have 𝐶𝑇APX(1+𝜌)𝑈𝑘+1(1+𝜀)(1+𝜌)𝐿𝑘+1𝑇(1+𝜀)(1+𝜌)𝐶OPT.(2.1)For the latter case, we have 𝐶𝑇APX(1+𝜌)𝑈𝑘+1𝐿(1+𝜌)𝑘+1𝐶𝑇+1(1+𝜌)OPT.+1(2.2)Let 𝜌 be 𝜀, and hence Algorithm PTAS-CMST achieves an approximation ratio of (1,(1+𝜀)2) for the CMST problem.

Therefore, we have the following theorem.

Theorem 2.3. The CMST problem admits a PTAS. For any constant 𝜀>0, a (1,(1+𝜀)2)-approximation algorithm for the CMST problem can be found in polynomial time.

Proof. By Lemma 2.2, Algorithm PTAS-CMST returns a (1,(1+𝜀)2)-approximation solution for the CMST problem. Next, we analyze the time complexity of Algorithm PTAS-CMST as follows. Let 𝑘 be the number of iterations of step (3.2). We also let 𝐿1 and 𝑈1 be the initial lower bound and upper bound, respectively. Since 𝑈𝑖+1/𝐿𝑖+1=𝑈𝑖/𝐿𝑖, we have 𝑈1𝐿1,𝑈2𝐿2=𝑈1𝐿11/2,𝑈3𝐿3=𝑈2𝐿21/2=𝑈1𝐿1(1/2)2,𝑈𝑘𝐿𝑘=𝑈𝑘1𝐿𝑘11/2𝑈==1𝐿1((1/2)𝑘1).(2.3)Because (𝑈𝑘/𝐿𝑘)>(1+𝜀) and 𝑈1/𝐿1(|𝑉|/1+𝜌)+1, we have 𝑘log1/2log(|𝑉|+1+𝜌)/(1+𝜌)(1+𝜀)+1. Hence, 𝑘 is 𝑂(loglog|𝑉|loglog(1+𝜀)). Then, step (3.2.2) can be done in 𝑂(|𝑉|𝑜(1/𝜌)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)) time by Ravi's algorithm [10]. Hence, Algorithm PTAS-CMST is a polynomial time approximation scheme for the CMST problem.

Now, we improve the approximation ratio to (1,1+𝜀) for the CMST problem. This algorithm is the modification of the one designed in [17] for the restricted shortest path problem.

Algorithm Modify-PTAS-CMST
Input: A graph 𝐺=(𝑉,𝐸) with a weight function and a cost function on edges, an integer bound 𝐵, and two real numbers 𝜀>0 and 0<𝛾<1.
Output: A spanning tree 𝑇APX of 𝐺 subject to 𝑊(𝑇APX)𝐵. (1)For each edge in 𝐸, swap cost to weight and weight to cost, respectively. end for(2)Let an initial upper bound UB=|𝑉|𝑐𝐽 and an initial lower bound LB=𝑐𝐽. (3)IfUB(1+𝜀)LB,then let 𝑇APX=𝑇𝐽 and return. Else(3.1)Let 𝐿=LB and 𝑈=UB. (3.2) Repeat the following steps until the condition (1) 𝑈(1+𝜀)𝐿 or (2) 𝑈𝐿+1 holds. (3.2.1) Let a real number 𝜌=(𝑈/𝐿)𝛾1 and a middle value 𝑀=𝑈𝐿/(1+𝜌). (3.2.2) Use algorithm A𝑅(𝜌,𝑀) to find a spanning tree 𝑇.(3.2.3)/* if 𝑊(𝑇)>𝐵, then we have a lower bound 𝑀; else we have an upper bound (1+𝜌)𝑀 and 𝐶(𝑇) is less than or equal to this upper bound.  */If  𝑊(𝑇)𝐵,  then let 𝑈=(1+𝜌)𝑀 and 𝑇APX=𝑇;  else let 𝐿=𝑀.

The approximation ratio of Algorithm Modify-PTAS-CMST is shown in the next lemma.

Lemma 2.4. The spanning tree 𝑇APX is a (1, 1+𝜀)-approximation solution for the CMST problem.

Proof. Let the upper bound 𝑈𝑖, the middle value 𝑀𝑖, the lower bound 𝐿𝑖, and the real number 𝜌𝑖 be parameters at the beginning of the 𝑖th iteration of step (3.2) for Algorithm Modify-PTAS-CMST. Let 𝑇𝑖 denote a spanning tree after running the 𝑖-th iteration of step (3.2.2). If 𝑊(𝑇𝑖)𝐵, we have 𝑈𝑖+1=(1+𝜌𝑖)𝑀𝑖=(𝑈𝑖1+𝛾𝐿𝑖1𝛾)1/2 and 𝐿𝑖+1=𝐿𝑖. Otherwise, if 𝑊(𝑇𝑖)>𝐵, we have 𝐿𝑖+1=𝑀𝑖=(𝑈𝑖1𝛾𝐿𝑖1+𝛾)1/2 and 𝑈𝑖+1=𝑈𝑖. Hence, (𝑈𝑖+1/𝐿𝑖+1)=(𝑈𝑖/𝐿𝑖)((𝛾+1)/2). Note that it successively narrows down the range between the lower bound 𝐿 and the upper bound 𝑈 after each iteration of step (3.2) since 0<𝛾<1. Let 𝑘 be the number of iterations of step (3.2). After performing this algorithm, we have either 𝑈𝑘+1(1+𝜀)𝐿𝑘+1 or 𝑈𝑘+1𝐿𝑘+1+1. For the former case, we have 𝐶𝑇APX𝑈𝑘+1(1+𝜀)𝐿𝑘+1𝑇(1+𝜀)𝐶OPT.(2.4)For the latter case, we have 𝐶𝑇APX𝑈𝑘+1𝐶𝑇OPT+1.(2.5)

Therefore, we have the following theorem.

Theorem 2.5. The CMST problem admits a PTAS. For any constant 𝜀>0, a (1,1+𝜀)-approximation algorithm for the CMST problem can be found in polynomial time.

Proof. Clearly, Algorithm Modify-PTAS-CMST returns a (1,1+𝜀)-approximation solution for the CMST problem by Lemma 2.4. Next, we analyze the time complexity of Algorithm Modify-PTAS-CMST as follows. Let 𝑘 be the number of iterations of step (3.2). We also let 𝐿1 and 𝑈1 be the initial lower bound and upper bound, respectively. Then, we have 𝑈1𝐿1,𝑈2𝐿2=𝑈1𝐿1(𝛾+1)/2,𝑈3𝐿3=𝑈2𝐿2(𝛾+1)/2=𝑈1𝐿1(((𝛾+1)/2)2),𝑈𝑘𝐿𝑘=𝑈𝑘1𝐿𝑘1(𝛾+1)/2𝑈==1𝐿1(((𝛾+1)/2)𝑘1)(2.6)since 𝑈𝑖+1/𝐿𝑖+1=(𝑈𝑖/𝐿𝑖)(𝛾+1/2).
Initially, 𝑈1/𝐿1=|𝑉|. After running Algorithm Modify-PTAS-CMST, we have (𝑈𝑘+1/𝐿𝑘+1)(1+𝜀). Step (3.2.2) can be done in 𝑂(|𝑉|𝑜(1/𝜌)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)) time by Ravi's algorithm [10]. Let 𝐼 be the smallest index 𝑗 such that |𝑉|𝑜(1/𝜌𝑗)>|𝑉|, for 1𝑗𝑘. For all 1𝑗𝐼1, the time is 𝐼1𝑗=1𝑂(|𝑉|𝑜(1/𝜌𝑗)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)). It is clear that (𝑈𝐼/𝐿𝐼)<21/𝛾 and (𝑈𝐼1/𝐿𝐼1)21/𝛾. Hence, we have log(𝛾+1)/2(1/(𝛾log2|𝑉|))+1𝐼1>log(𝛾+1)/2(1/(𝛾log2|𝑉|)) since (𝑈𝐼/𝐿𝐼)=(𝑈1/𝐿1)(((𝛾+1)/2)𝐼1). If 𝐼11, the complexity is at most 𝑂(|𝑉|(1log((𝛾+1)/2)𝛾log(𝛾+1/2)(log2|𝑉|))(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)), for all 1𝑗𝐼1. Then, for all 𝐼𝑗𝑘, the time complexity is 𝑘𝑗=𝐼𝑂(|𝑉|𝑜(1/𝜌𝑗)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)). Since (𝑈𝑘/𝐿𝑘)>(1+𝜀) with (𝑈𝑘/𝐿𝑘)=(𝑈1/𝐿1)(((𝛾+1)/2)(k1)), we have 𝑘<log(𝛾+1)/2(log(1+𝜀)/log|𝑉|)+1. Moreover, (1/𝜌𝐼)(1/(𝜌𝐼+1))(1/𝜌𝑘). Hence we have the time complexity at most 𝑂(|𝑉|𝑜(1/𝜌𝑘)(1+log(𝛾+1)/2log(1+𝜀)+log(𝛾+1)/2𝛾)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|))for all 𝐼𝑗𝑘. Because 𝛾 is a constant, the total time complexity is at most 𝑂((|𝑉|loglog|𝑉|+|𝑉|1/((1+𝜀)𝛾1)loglog(1+𝜀))(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)), where 1/𝜌𝑘1/((1+𝜀)𝛾1), 0<𝛾<1.

Let 𝜀=1 and 𝛾1. Use Algorithm Modify-PTAS-CMST to find a feasible solution for the CMST problem with ratio (1,2). The total time complexity of this algorithm is at most 𝑂((|𝑉|1/(2𝛾1)+|𝑉|loglog|𝑉|)(|𝐸|log2|𝑉|+|𝑉|log3|𝑉|)). Then, we can apply Hassin and Levin's [8] algorithm (i.e., the Lagrangian relaxation and matroid intersection), and the approximation ratio can be improved to (1,1+4𝜀) with the same time complexity of Hassin and Levin's algorithm (i.e., 𝑂((1/𝜀2)(1/𝜀)|𝑉|3)).

3. Conclusion

In this paper, we presented two polynomial time approximation schemes for the CMST problem. Using the second PTAS with the Lagrangian relaxation and matroid intersection, the approximation ratio of Hassin and Levin's algorithm [8] can be improved to the ratio of (1,1+4𝜀). A open problem left in the paper could involve studying whether there exists a fully polynomial time approximation scheme for the CMST problem.

Acknowledgment

This work was supported in part by the National Science Council of the Republic of China under Contract NSC99-2221-E-133-003.