# Polynomial Time Approximation Schemes for the Constrained Minimum

Authors: Yen Hung Chen
Journal: Journal of Applied Mathematics
 (2012)

---

## Abstract

LetG=(V,E) 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.


---

## Body

## 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 G=(V,E) 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 G [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 G=(V,E) be an undirected graph and a positive integer B. Two different nonnegative functions, weight and cost, associate on edges in E, respectively. The constrained minimum spanning tree (CMST) problem [7–10] is to find a minimum total cost spanning tree T in G such that the total weight in T is at most B. 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 B 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 O(|E|log2|V|+|V|log3|V|) time and improved the ratio to (1+ε,1), where the time complexity is O(|V|O(1/ε)(|E|log2|V|+|V|log3|V|)) 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 [11–13] to design a (1,1+5ε)-approximation algorithm in O((1/ε2)(1/ε)|V|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 P from a source to a destination subject to the constraint that the total weight in P is at most B. Then, Lorenz and Raz [15] gave an improved FPTAS whose time complexity is O(|V||E|loglog|V|+(|V||E|)/ε) for the restricted shortest path problem. Further, Xue et al. [16] also designed an FPTAS with improved time complexity to O(|V||E|logloglog|V|+(|V||E|)/ϵ) 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 O((|V||E|)/ε). Chen and Xue [18, 19] used a similar method to design PTASs for the k-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 Section2, 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 O((1/ε2)(1/ε)|V|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 C(H) (resp., W(H)) to denote the sum of the costs (resp., weights) of all edges in any subgraph H of G. Let TOPT be the optimal solution of the CMST problem. For any constant ε>0 and an integer B, Ravi and Goemans' [10] algorithm, denoted by 𝒜R(ε,B), produces a spanning tree T of the W(T) at most (1+ε)B and of the C(T) at most C(TOPT). 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 |V|*Cmax, in which Cmax is the maximum edge cost in G. 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 ≤|V|* LB. First, let c1,c2,…,ck be all the distinct costs of edges in G. Gj=(V,Ej) denotes the subgraph of G(V,E), where Ej is the set of edges with costs not greater than cj. It is clear that Gk=G and Gj⊆Gj+1 for 1≤j≤k-1. For 1≤j≤k, we can use Prim's algorithm [20] to find a minimum weight spanning tree Tj in Gj. Let J be the smallest index j such that W(Tj) is no more than B. Then, finding the value cJ of a graph G can be done in O(|V|2log|V|)time by binary search and Prim's algorithm [20]. Therefore, we have cJ≤C(TOPT)≤|V|*cJ. Hence, we can let the initial UB be |V|*cJ and LB be cJ. If UB≤(1+ε)LB, then C(TJ)≤UB≤(1+ε)LB≤(1+ε)C(TOPT). Otherwise, we first swap the cost (resp., weight) to the weight (resp., cost) for each edge in G and find a value M between LB and UB. Then, apply algorithm 𝒜R(ε,M) to find a spanning tree T in G. If the total weight of T is no more than B, let UB=(1+ε)M; otherwise, let LB=M. Hence, the range between LB and UB is shrunk. Then, we repeatedly run the algorithm 𝒜R(ε,M) until UB≤(1+ε)LB. The next lemma shows that we can obtain either a lower bound M or an upper bound (1+ε)M for the CMST problem after running 𝒜R(ε,M).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 𝒜R(ε,𝒞) to find a spanning tree T. If W(T)≤B, then there is an upper bound (1+ε)𝒞. Otherwise, one can obtain a lower bound 𝒞.Proof.
For convenience, we useT𝒞 to denote the minimum weight spanning tree of G with total cost at most 𝒞. After running the algorithm 𝒜R(ε,𝒞), we have a spanning tree T with W(T)≤W(T𝒞) and 𝒞(T)≤(1+ε)𝒞 since the costs and weights of all edges are exchanged. Hence, if W(T)≤B, then 𝒞(TOPT)≤𝒞(T)≤(1+ε)𝒞. Otherwise, W(T𝒞)≥W(T)>B. Then we assume 𝒞(TOPT)<C for contradiction. Hence, we have W(T𝒞)≤W(TOPT). However, W(TOPT)≤B, and we have W(T𝒞)≤B. Hence, 𝒞 must be less than or equal to C(TOPT).For clarification, we describe the(1,(1+ε)2)-approximation algorithm for the CMST problem as follows.Algorithm PTAS-CMST
Input: A graph G=(V,E) with a weight function and a cost function on edges, an integer bound B, and two real numbers ε>0 and ρ>0.
Output: A spanning tree TAPX of G subject to W(TAPX)≤B. (1)
For each edge in E, swap cost to weight and weight to cost, respectively. end for(2)
Let an initial upper boundUB=|V|*cJ and an initial lower bound LB=cJ.(3)
If  UB≤(1+ε)LB,  then let TAPX=TJ and return.Else(3.1)
LetL=LB and U=⌈UB/(1+ρ)⌉.(3.2)
Repeat the following steps until the condition (1)U≤(1+ε)L or (2) U≤L+1 holds.
(3.2.1)
Let a middle valueM=U*L.(3.2.2)
Use algorithm𝒜R(ρ,M) to find a spanning tree T.(3.2.3)
/* ifW(T)>B,then we have a lower bound M;else we have an upper bound (1+ρ)M and C(T) is less than or equal to this upper bound.  */If  W(T)≤B,  then let U=M and TAPX=T;  else let L=M.The approximation ratio of Algorithm PTAS-CMST is shown in the next lemma.Lemma 2.2.
Algorithm PTAS-CMST returns a spanning treeTAPX with C(TAPX)≤(1+ε)(1+ρ)C(TOPT).Proof.
Let the upper boundUi, the middle value Mi, and the lower bound Li be parameters at the beginning of the ith iteration of step (3.2) for Algorithm PTAS-CMST. Let Ti denote a spanning tree after running the i-th iteration of step (3.2.2). It is clear that Li≤Mi≤Ui. Hence, Ui+1≤Ui and Li+1≥Li. Moreover, we have Li+1=Ui*Li and Ui+1=Ui when W(Ti)>B. Then, we also have Ui+1=Ui*Li and Li+1=Li when W(Ti)≤B. Further, Ui+1/Li+1=Ui/Ui*Li, or Ui+1/Li+1=Ui*Li/Li. Therefore, we have Ui+1/Li+1=Ui/Li. Note that it successively narrows down the range between the lower bound L and the upper bound U after each iteration of step (3.2). After running the ith iteration of step (3.2.3), we obtain either a lower bound Mi or an upper bound (1+ρ)Mi by Lemma 2.1. Let k be the number of iterations of step (3.2). After performing this algorithm, we have either Uk+1≤(1+ε)Lk+1 or Uk+1≤Lk+1+1. For the former case, we have
(2.1)C(TAPX)≤(1+ρ)Uk+1≤(1+ε)(1+ρ)Lk+1≤(1+ε)(1+ρ)C(TOPT).For the latter case, we have
(2.2)C(TAPX)≤(1+ρ)Uk+1≤(1+ρ)(Lk+1+1)≤(1+ρ)(C(TOPT)+1).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 Lemma2.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 k be the number of iterations of step (3.2). We also let L1 and U1 be the initial lower bound and upper bound, respectively. Since Ui+1/Li+1=Ui/Li, we have
(2.3)U1L1,(U2L2)=(U1L1)1/2,(U3L3)=(U2L2)1/2=(U1L1)(1/2)2,⋮(UkLk)=(Uk-1Lk-1)1/2=⋯=(U1L1)((1/2)k-1).Because (Uk/Lk)>(1+ε) and U1/L1≤(|V|/1+ρ)+1, we have k≤log1/2log(|V|+1+ρ)/(1+ρ)(1+ε)+1. Hence, k is O(loglog|V|-loglog(1+ε)). Then, step (3.2.2) can be done in O(|V|o(1/ρ)*(|E|log2|V|+|V|log3|V|)) 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 G=(V,E) with a weight function and a cost function on edges, an integer bound B, and two real numbers ε>0 and 0<γ<1.
Output: A spanning tree TAPX of G subject to W(TAPX)≤B. (1)
Foreach edge in E, swap cost to weight and weight to cost, respectively. end for(2)
Let an initial upper boundUB=|V|*cJ and an initial lower bound LB=cJ.(3)
IfUB≤(1+ε)LB,then let TAPX=TJ and return.Else(3.1)
LetL=LB and U=UB.(3.2)
Repeat the following steps until the condition (1)U≤(1+ε)L or (2) U≤L+1 holds.
(3.2.1)
Let a real numberρ=(U/L)γ-1 and a middle value M=U*L/(1+ρ).(3.2.2)
Use algorithmAR(ρ,M) to find a spanning tree T.(3.2.3)
/* ifW(T)>B,thenwe have a lower bound M;elsewe have an upper bound (1+ρ)M and C(T) is less than or equal to this upper bound.  */If  W(T)≤B,  then let U=(1+ρ)M and TAPX=T;  else let L=M.The approximation ratio of Algorithm Modify-PTAS-CMST is shown in the next lemma.Lemma 2.4.
The spanning treeTAPX is a (1, 1+ε)-approximation solution for the CMST problem.Proof.
Let the upper boundUi, the middle value Mi, the lower bound Li, and the real number ρi be parameters at the beginning of the ith iteration of step (3.2) for Algorithm Modify-PTAS-CMST. Let Ti denote a spanning tree after running the i-th iteration of step (3.2.2). If W(Ti)≤B, we have Ui+1=(1+ρi)Mi=(Ui1+γ*Li1-γ)1/2 and Li+1=Li. Otherwise, if W(Ti)>B, we have Li+1=Mi=(Ui1-γ*Li1+γ)1/2 and Ui+1=Ui. Hence, (Ui+1/Li+1)=(Ui/Li)((γ+1)/2). Note that it successively narrows down the range between the lower bound L and the upper bound U after each iteration of step (3.2) since 0<γ<1. Let k be the number of iterations of step (3.2). After performing this algorithm, we have either Uk+1≤(1+ε)Lk+1 or Uk+1≤Lk+1+1. For the former case, we have
(2.4)C(TAPX)≤Uk+1≤(1+ε)Lk+1≤(1+ε)C(TOPT).For the latter case, we have
(2.5)C(TAPX)≤Uk+1≤(C(TOPT)+1).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 k be the number of iterations of step (3.2). We also let L1 and U1 be the initial lower bound and upper bound, respectively. Then, we have
(2.6)U1L1,(U2L2)=(U1L1)(γ+1)/2,(U3L3)=(U2L2)(γ+1)/2=(U1L1)(((γ+1)/2)2),⋮(UkLk)=(Uk-1Lk-1)(γ+1)/2=⋯=(U1L1)(((γ+1)/2)k-1)since Ui+1/Li+1=(Ui/Li)(γ+1/2).
Initially,U1/L1=|V|. After running Algorithm Modify-PTAS-CMST, we have (Uk+1/Lk+1)≤(1+ε). Step (3.2.2) can be done in O(|V|o(1/ρ)*(|E|log2|V|+|V|log3|V|)) time by Ravi's algorithm [10]. Let I be the smallest index j such that |V|o(1/ρj)>|V|, for 1≤j≤k. For all 1≤j≤I-1, the time is ∑j=1I-1O(|V|o(1/ρj)(|E|log2|V|+|V|log3|V|)). It is clear that (UI/LI)<21/γ and (UI-1/LI-1)≥21/γ. Hence, we have log(γ+1)/2(1/(γ*log2|V|))+1≥I-1>log(γ+1)/2(1/(γ*log2|V|)) since (UI/LI)=(U1/L1)(((γ+1)/2)I-1). If I-1≥1, the complexity is at most O(|V|(1-log((γ+1)/2)γ-log(γ+1/2)(log2|V|))(|E|log2|V|+|V|log3|V|)), for all 1≤j≤I-1. Then, for all I≤j≤k, the time complexity is ∑j=IkO(|V|o(1/ρj)(|E|log2|V|+|V|log3|V|)). Since (Uk/Lk)>(1+ε) with (Uk/Lk)=(U1/L1)(((γ+1)/2)(k-1)), we have k<log(γ+1)/2(log(1+ε)/log|V|)+1. Moreover, (1/ρI)≤(1/(ρI+1))≤⋯≤(1/ρk). Hence we have the time complexity at most O(|V|o(1/ρk)(1+log(γ+1)/2log(1+ε)+log(γ+1)/2γ)(|E|log2|V|+|V|log3|V|))for all I≤j≤k. Because γ is a constant, the total time complexity is at most O((|V|loglog|V|+|V|1/((1+ε)γ-1)loglog(1+ε))(|E|log2|V|+|V|log3|V|)), where 1/ρk≤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 O((|V|1/(2γ-1)+|V|loglog|V|)(|E|log2|V|+|V|log3|V|)). 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., O((1/ε2)(1/ε)|V|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.



---

*Source: 394721-2012-03-25.xml*