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 [1–6] 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 [7–10] 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 , for any constant . For any constant , Marathe et al. [5] gave a -approximation algorithm for the CMST problem. Ravi and Goemans [10] presented a -approximation algorithm to solve the CMST problem in time and improved the ratio to , where the time complexity is for any constant . These algorithms are based on the Lagrangian relaxation. Hassin and Levin [8] employed Ravi and Goemans' [10] algorithm with the matroid intersection strategy [11–13] to design a -approximation algorithm in 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 for the restricted shortest path problem. Further, Xue et al. [16] also designed an FPTAS with improved time complexity to 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 -approximation ratio for the CMST problem. Applying the second PTAS to Hassin and Levin's algorithm [8], the approximation ratio can be improved to for the CMST problem.
The rest of this paper is organized as follows. In Section 2, we first describe a -approximation algorithm for the CMST problem and then improve the approximation ratio to . Finally, we make a conclusion in Section 3.
2. PTASs for the Constrained Minimum Spanning Tree Problem
In this section, we first clarify a -approximation algorithm for the CMST problem. Hassin and Levin [8] first used this algorithm to obtain a ratio for the CMST problem. Then they applied the Lagrangian relaxation and matroid intersection methods to improve the ratio to in ) time. However, they did not describe the details of this algorithm. Then, we improve this approximation ratio into . Note that applying our algorithm, the approximation ratio of Hassin and Levin's algorithm [8] can be improved to 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 be the optimal solution of the CMST problem. For any constant and an integer , Ravi and Goemans' [10] algorithm, denoted by , produces a spanning tree of the at most and of the at most (). Our algorithm first finds a cost of the lower bound, denoted by , and a cost of the upper bound, denoted by , for the CMST problem. Then, iteratively shrink this range between and until . A trivial lower bound can be set to 1, and an upper bound can be set to , in which 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 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 for . For , 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 time by binary search and Prim's algorithm [20]. Therefore, we have . Hence, we can let the initial be and be . If , then . Otherwise, we first swap the cost (resp., weight) to the weight (resp., cost) for each edge in and find a value between and . Then, apply algorithm to find a spanning tree in . If the total weight of is no more than , let ; otherwise, let . Hence, the range between and is shrunk. Then, we repeatedly run the algorithm until . The next lemma shows that we can obtain either a lower bound or an upper bound for the CMST problem after running .
Lemma 2.1. Given an instance of the CMST problem with a constant 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 . 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 since the costs and weights of all edges are exchanged. Hence, if , then . Otherwise, . Then we assume for contradiction. Hence, we have . However, , and we have . Hence, must be less than or equal to .
For clarification, we describe the -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 and .
Output: A spanning tree of subject to . (1)For each edge in E, swap cost to weight and weight to cost, respectively. end for(2)Let an initial upper bound and an initial lower bound . (3)If , then let and return.Else(3.1)Let and .(3.2)Repeat the following steps until the condition (1) or (2) 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 and is less than or equal to this upper bound. */ If , then let and ; 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 with .
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, and . Moreover, we have and when . Then, we also have and when . Further, , or . Therefore, we have . 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 by Lemma 2.1. Let be the number of iterations of step (3.2). After performing this algorithm, we have either or . For the former case, we have For the latter case, we have Let be , and hence Algorithm PTAS-CMST achieves an approximation ratio of for the CMST problem.
Therefore, we have the following theorem.
Theorem 2.3. The CMST problem admits a PTAS. For any constant , a -approximation algorithm for the CMST problem can be found in polynomial time.
Proof. By Lemma 2.2, Algorithm PTAS-CMST returns a -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 and be the initial lower bound and upper bound, respectively. Since , we have Because and , we have . Hence, is . Then, step (3.2.2) can be done in 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 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 and .
Output: A spanning tree of subject to . (1)For each edge in , swap cost to weight and weight to cost, respectively. end for(2)Let an initial upper bound and an initial lower bound . (3)Ifthen let and return. Else(3.1)Let and . (3.2) Repeat the following steps until the condition (1) or (2) holds. (3.2.1) Let a real number and 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 and is less than or equal to this upper bound. */If , then let and ; else let .
The approximation ratio of Algorithm Modify-PTAS-CMST is shown in the next lemma.
Lemma 2.4. The spanning tree is a (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 and . Otherwise, if , we have and . Hence, . Note that it successively narrows down the range between the lower bound and the upper bound after each iteration of step (3.2) since . Let be the number of iterations of step (3.2). After performing this algorithm, we have either or . For the former case, we have For the latter case, we have
Therefore, we have the following theorem.
Theorem 2.5. The CMST problem admits a PTAS. For any constant , a -approximation algorithm for the CMST problem can be found in polynomial time.
Proof. Clearly, Algorithm Modify-PTAS-CMST returns a -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 and be the initial lower bound and upper bound, respectively. Then, we have
since .
Initially, . After running Algorithm Modify-PTAS-CMST, we have . Step (3.2.2) can be done in time by Ravi's algorithm [10]. Let be the smallest index such that , for . For all , the time is . It is clear that and . Hence, we have since . If , the complexity is at most , for all . Then, for all , the time complexity is . Since with , we have . Moreover, . Hence we have the time complexity at most for all . Because is a constant, the total time complexity is at most , where , .
Let and . 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 . 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 with the same time complexity of Hassin and Levin's algorithm (i.e., ).
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 . 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.