A Constant-Factor Approximation Algorithm for the k-Median Problem

A Constant-Factor Approximation Algorithm for the k-Median Problem

Journal of Computer and System Sciences 65, 129–149 (2002) doi:10.1006/jcss.2002.1882 A Constant-Factor Approximation Algorithm for the k-Median Prob...

165KB Sizes 2 Downloads 99 Views

Journal of Computer and System Sciences 65, 129–149 (2002) doi:10.1006/jcss.2002.1882

A Constant-Factor Approximation Algorithm for the k-Median Problem Moses Charikar 1 and Sudipto Guha 2 Stanford University, Stanford, California 94305 E-mail: [email protected], [email protected]

and Éva Tardos 3 and David B. Shmoys 4 Cornell University, Ithaca, New York 14853 E-mail: [email protected], [email protected] Received March 22, 2001; revised July 23, 2002

We present the first constant-factor approximation algorithm for the metric k-median problem. The k-median problem is one of the most wellstudied clustering problems, i.e., those problems in which the aim is to partition a given set of points into clusters so that the points within a cluster are relatively close with respect to some measure. For the metric k-median problem, we are given n points in a metric space. We select k of these to be cluster centers and then assign each point to its closest selected center. If point j is assigned to a center i, the cost incurred is proportional to the distance between i and j. The goal is to select the k centers that minimize the sum of the assignment costs. We give a 6 23 -approximation algorithm for this problem. This improves upon the best previously known result of O(log k log log k), which was obtained by refining and derandomizing a randomized O(log n log log n)-approximation algorithm of Bartal. © 2002 Elsevier Science (USA)

1

Research supported by the Pierre and Christine Lamond Fellowship, NSF Grant IIS-9811904, and NSF Award CCR-9357849, with matching funds from IBM, Mitsubishi, Schlumberger Foundation, Shell Foundation, and Xerox Corporation. 2 Research supported by an IBM Cooperative Fellowship, NSF Grant IIS-9811904, and NSF Award CCR-9357849, with matching funds from IBM, Mitsubishi, Schlumberger Foundation, Shell Foundation, and Xerox Corporation. 3 Research partially supported by NSF Grant CCR-9700163 and ONR Grants N00014-98-1-0589 and N00014-96-1-0050. 4 Research partially supported by NSF Grants CCR-9912422 and DMS-9505155 and ONR Grant N00014-96-1-00500.



129

0022-0000/02 $35.00 © 2002 Elsevier Science (USA) All rights reserved.

130

CHARIKAR ET AL.

1. INTRODUCTION For the metric k-median problem, we are given n points in a metric space. We select at most k of these to be cluster centers and then assign each input point j to the selected center that is closest to it. If location j is assigned to a center i, we incur a cost proportional to the distance between i and j. The goal is to select the k centers so as to minimize the sum of the assignment costs. We give a 6 23 -approximation algorithm for this problem, that is, a polynomial-time algorithm that finds a feasible solution of objective function value within a factor of 6 23 of the optimum. Lin and Vitter [25] considered the k-median problem with arbitrary assignment costs and gave a polynomial-time algorithm that finds, for any E > 0, a solution for which the objective function value is within a factor of 1+E of the optimum, but is infeasible: it opens as many as (1+1/E)(ln n+1) k cluster centers. Lin and Vitter also provided, evidence that this result is best possible via a reduction from the set cover problem. Consequently, it is quite natural to consider special cases. The problem is solvable in polynomial time on trees [21, 30]. However, for general metric spaces, the problem is NP-hard to solve exactly. Arora et al. [1] give a polynomial-time approximation scheme for the k-median problem with 2-dimensional Euclidean inputs. We study the metric k-median problem; that is, we assume that the input points are located in a metric space, or in other words, assume that the assignment costs are symmetric and satisfy the triangle inequality. Lin and Vitter [24] also gave a polynomial-time algorithm for the metric k-median problem that, for any E > 0, finds a solution of cost no more than 2(1+E) times the optimum, while using at most (1+1/E) k cluster centers. The first nontrivial approximation algorithm that produces a feasible solution (i.e., one that uses at most k centers) is due to Bartal [4, 5]. By combining his result on the approximation of any metric by tree metrics with the fact that the k-median problem can be solved optimally in a tree metric, Bartal gave a randomized O(log n log log n)-approximation algorithm for the k-median problem. This algorithm was subsequently derandomized and refined to yield an O(log k log log k)-approximation algorithm by Charikar et al. [7]. Approximation algorithms have been studied for a variety of clustering problems. The k-center problem is the min-max analogue of the k-median problem: one opens centers at k locations out of n so as to minimize the maximum distance that an unselected location is from its nearest center. Hochbaum and Shmoys [18] and subsequently Dyer and Frieze [13] gave 2-approximation algorithms for the metric case problem (which is best possible unless P=NP) and also gave extensions for weighted variants. Gonzalez [15] considered the variant in which the objective is to minimize maximum distance between a pair of points in the same cluster and independently gave a 2-approximation algorithm (which is also best possible). The k-median problem is closely related to the uncapacitated facility location problem, which is a central problem in the operations research literature (see, e.g., the survey of Cornuéjols et al. [12]). In this problem, each location has a cost fi , the cost of opening a center (or facility) at location i. There is no restriction on the number of facilities that can be opened, but instead the goal is to minimize the total

k-MEDIAN PROBLEM

131

cost: the cost of the selected facilities plus the sum of the assignment cost of each location to its closest open facility, where we assume that the cost of assigning location j to facility i is proportional to the distance between i and j. Shmoys et al. [28] use the techniques of Lin and Vitter [24] to give the first constant-factor approximation approximation algorithm for the metric uncapacitated facility location problem. The quality of approximation has been improved in a sequence of papers [9, 10, 17]. The best result previously known is a (1+2/e)-approximation algorithm due to Chudak and Shmoys [9, 10] (though, as we shall briefly discuss below, subsequent to the proceedings version of this paper, some improvements have been obtained). Guha and Khuller [17] have shown two hardness of approximation results as well: the problem is MAX SNP-hard (which was independently observed by Sviridenko [29]), and even more surprisingly, for any r < 1.463, no r-approximation algorithm exists unless unless NP ı DTIME(n O(log log n)). Subsequently, Sviridenko [29] and Feige [14] indicated that the hardness result may be strengthened to depend only on the assumption that P ] NP. All of these algorithms rely on solving a natural linear programming relaxation of the problem and rounding the optimal fractional solution. Korupolu et al. [23] analyze variants of simple local search algorithms for several clustering problems and show, for example, that for any E > 0, this leads to a (5+E)-approximation algorithm for the uncapacitated facility location problem. Our algorithms are based on the approach of solving a natural linear programming relaxation of the problem and rounding the optimal fractional solution. The linear programming relaxation is analogous to the relaxation used by the approximation algorithms for the facility location problem and has also been studied for the k-median problem on trees [31, 32]. We obtain our result by combining the filtering technique of Lin and Vitter [25] with a more sophisticated method for selecting which centers to open. The filtering technique of Lin and Vitter [25] guarantees that the cost of the solution does not exceed the LP optimum by too much by making sure that in the integer solution, each location pays an assignment cost not too much more than the corresponding part of the cost of the optimal fractional solution. This kind of location-by-location guarantee is not possible for the k-median problem: some locations will necessarily pay a significantly greater assignment cost in the integer solution than in the fractional solution. However, we show how to select the centers so that there is only a small constant increase in the average assignment cost. Our results can be extended in a number of ways. For example, if one relaxes the condition that the costs satisfy the triangle inequality to require only that cik [ d(cij +cjk ) for each i, j, k, then an analogously weaker, but still constant, performance guarantee holds instead. One direct application of this observation is to obtain a constant performance guarantee for the variant of the k-median problem where the objective is to minimize the sum of the squares of the distances from the vertices to their nearest centers. More substantially, Charikar and Guha [6, 16] consider a capacitated version of the k-median problem, in which each center can be assigned at most U locations. Charikar and Guha give a polynomial-time algorithm that finds a solution of cost at most 16 times the true optimal cost, but allows centers to be assigned at most 4U locations.

132

CHARIKAR ET AL.

There has also been a great deal of subsequent work to improve on our results. Jain and Vazirani [20] give an extremely elegant primal-dual 3-approximation algorithm for the uncapacitated facility location problem and show how to use that procedure to obtain a 6-approximation algorithm for the k-median problem. Charikar and Guha [8] refine this result to obtain a 4-approximation algorithm for the k-median problem, in addition to providing a number of new techniques that, combined with the previously known algorithms, yield a 1.728-approximation algorithm for the uncapacitated facility location problem. For the median problem, Mettu and Plaxton [26] give the quite surprising result that one can efficiently compute a single permutation of the locations such that, for every k > 0, the first k locations in this order serve as a k-median solution of cost that is within a constant factor of optimal. Most recently, Arya et al. [2] showed that the natural local search heuristic that interchanges p locations as centers–noncenters is guaranteed to find a solution that is within a factor of 3+(2/p), for any positive integer p. On the other hand, Jain et al. [19] have shown that no performance guarantee better than 1+(2/e) can be obtained in polynomial time, unless NP ı DTIME[n O(log log n)]. 2. THE k-MEDIAN PROBLEM It is more natural to state our algorithm in terms of a slight generalization of the usual k-median problem, which we described in the Introduction. We shall let the input consist of a set of locations N and a bound k, where there is a specified assignment cost cij between each pair of points i, j ¥ N. In addition, we shall also be given a demand dj for each location j ¥ N; this demand can either be viewed as a weight that indicates the importance of the location or as specifying the number of clients present at that location. The usual statement of the k-median problem corresponds to the special case in which dj =1, for each j ¥ N. Note that this generalization also allows the possibility that there are locations with no demand (i.e., where dj =0), but that can still be selected as centers. We shall assume that the assignment costs are non-negative, are symmetric, and satisfy the triangle inequality: that is, cij =cji for each i, j ¥ N, and cij +cjk \ cik for each i, j, k ¥ N. The problem is to select k of the locations as centers and assign each location in N to one of the k selected centers so as to minimize the total weighted assignment cost incurred. The k-median problem can be stated as the following integer program, where the 0-1 variable yi , i ¥ N, indicates if the location i is selected as a center, and the 0-1 variable xij , i, j ¥ N, indicates if location j is assigned to the center at i: minimize C dj cij xij

(1)

i, j ¥ N

subject to C xij =1,

for each j ¥ N,

(2)

for each i, j ¥ N,

(3)

i¥N

xij [ yi ,

k-MEDIAN PROBLEM

C yi [ k,

133

(4)

i¥N

xij ¥ {0, 1},

for each i, j ¥ N,

(5)

yi ¥ {0, 1},

for each i ¥ N.

(6)

The constraints (2) ensure that each location j ¥ N is assigned to some center i ¥ N, the constraints (3) ensure that whenever a location j is assigned to a center i, then a center must have been opened at i, and (4) ensures that at most k centers are open.

2.1. Outline of the Method In this section we will give an outline of the various steps that we will use to prove the performance guarantee. We will indicate how the different steps interact, relegating the details of the individual steps to the subsequent sections. Consider the linear programming relaxation to the integer program (1)–(6), where the 0-1 constraints (5) and (6) are replaced, respectively, with xij \ 0,

for each i, j ¥ N,

(7)

yi \ 0,

for each i ¥ N.

(8)

¯ LP denote its Let (x¯, y¯) denote a feasible solution to the LP relaxation and let C ¯ objective function value. For each location j ¥ N, let Cj denote the cost incurred by this fractional solution for assigning (one client at) location j, i.e., ¯ j = C cij x¯ij C

for each j ¥ N.

(9)

i¥N

¯ j . We will round the fractional solution (x¯, y¯) to a fea¯ LP =; j ¥ N dj C Note that C ¯ LP . The outline of our sible solution to the integer program of cost at most 6 23 C approximation algorithm is as follows. Step 1. First we simplify the problem instance by consolidating nearby locations. We will not change the linear programming solution (x¯, y¯) but modify only the demands. Let dŒ denote the new set of demands. This modification will have the following properties: • The modification will not increase the cost of the fractional solution (x¯, y¯): ¯ −LP = C d −j cij x¯ij [ C dj cij x¯ij =C ¯ LP . C i, j ¥ N

i, j ¥ N

• In the resulting instance, all locations with positive demand will be far from each other: ¯i, C ¯ j ) for each i, j ¥ N such that d −i > 0 and d −j > 0. cij > 4 max(C

(10)

134

CHARIKAR ET AL.

• Each feasible integer solution for the modified instance with demands d −j , j ¥ N, can be converted to a feasible integer solution for the original instance, at an ¯ LP . added cost of at most 4C Let NŒ={j: d −j > 0} denote the set of locations with positive demand. We will show that this modified instance is simpler, e.g., |NŒ| [ 2k. Step 2. Next, we simplify the structure of the solution by consolidating nearby fractional centers. First, we modify the solution (x¯, y¯) to obtain a new solution (xŒ, yŒ) such that y −j =0,

for each j ¥ N such that d −j =0,

(11)

y −i \ 12 ,

for each i ¥ N such that d −i > 0.

(12)

We will refer to such a solution as a 12 -restricted solution. Further, the cost of the 1 ¯ 2 -restricted solution produced is at most 2CLP . 1 We further modify the 2 -restricted solution, without increasing its cost, to obtain an {12 , 1}-integral solution (xˆ, yˆ): that is, yˆi =0 for each i ¨ NŒ and yˆi is either 12 or 1 for each i ¥ NŒ. Step 3. Finally, we show how to convert a feasible {12 , 1}-integral solution to the linear programming relaxation to a feasible integral solution of cost at most 43 times the cost of the {12 , 1}-integral solution. Using these steps, we obtain the following theorem. Theorem 1. For the metric k-median problem, the outlined method yields a 6 23 -approximation algorithm. Proof. Suppose that the feasible solution (x¯, y¯) to be rounded is an optimal ¯ LP is a lower bound on solution to the linear program (1)–(4) and (7)–(8). Clearly, C the optimal value of the k-median problem. Steps 1–3 above create a feasible ¯ LP . This can then be integer solution to the modified input of cost at most 2 23 C ¯ LP converted to an integer solution to the original instance while adding at most 4C 2 ¯ to the cost. This results in a feasible integer solution of cost at most 6 3 CLP , i.e., at most 6 23 times the minimum possible. L 3. STEP 1: CONSOLIDATING LOCATIONS ¯ j =; i ¥ N cij x¯ij is the cost that the linear program pays for assigning Recall that C one unit of demand at location j. The goal of the first step of the method is to consolidate demands at nearby locations. More formally, we want to guarantee that for ¯ i, C ¯ j ). The all pairs of locations i, j, both with positive demand, cij > 4 max(C modified instance of the location problem is obtained without changing the LP solution (x¯, y¯). For some locations j, we will simply ‘‘move’’ the demand dj to a ¯ j away from location j. nearby location jŒ ¥ N, which is no more than 4C Assume for notational simplicity that N={1, ..., n}, and the locations are ¯ j ; i.e., C ¯1 [ · · · [ C ¯ n . We create the modified indexed in increasing order of C − instance as follows. Start with d j P dj , for each location j ¥ N.

k-MEDIAN PROBLEM

135

• Consider the locations j=1, ..., n in this order. When considering location j, ¯ j . If there is such check if there is another location i < j such that d −i > 0 and cij [ 4C a location, then add the demand of location j to one such location i: select some i ¯ j , and set for which cij [ 4C d −i P d −i +d −j ; − j

d P 0.

(13) (14)

Let dŒ denote the resulting demands, whereas d denotes the original demands. Let NŒ denote the set of locations with d −j > 0; i.e., NŒ={j ¥ N : d −j > 0}. Note that (x¯, y¯), the feasible solution to the LP relaxation with the original demands, is also a feasible solution for the modified input. The next lemma follows directly from the algorithm. Lemma 2. Locations i, j ¥ NŒ satisfy (10). Lemma 3. The cost of the fractional solution (x¯, y¯) for the input with modified demands is at most its cost for the original input; that is, C d −j cij x¯ij [ C dj cij x¯ij . i, j ¥ N

(15)

i, j ¥ N

Proof. The LP objective function value (1) of the solution (x¯, y¯), for any ¯ j . The lemma now follows directly, since dŒ demands d¯, can be written as ; j ¥ N d¯j C ¯i [ C ¯ j. L is obtained by moving demand from a location j to a location i with C Lemma 4. For any feasible integer solution (xŒ, yŒ) for the modified input with demands dŒ, there is a feasible integer solution for the original input of cost at most ¯ LP more than the cost of (xŒ, yŒ) with demands dŒ. 4C Proof. Consider a location j ¥ N that has its demand moved to jŒ in the ¯ j , and so we have that modified input. Each location j was moved by at most 4C ¯ j . If j is assigned to the center to which jŒ is assigned by xŒ, then, by the cjŒj [ 4C triangle inequality, restoring j to its original position increases its unit assignment ¯ j . Summing over all j, we obtain the desired bound. L cost by at most 4C 4. STEP 2: CONSOLIDATING CENTERS In this section, we consider the problem with demands d −j for j ¥ NŒ as defined in the previous section; i.e., we assume that the modified demands satisfy (10). Recall, from the outline, that we have a solution (x¯, y¯) at this point; these variables define the quantities used in (10). We simplify the structure of the solution by consolidating nearby fractional centers. First, we modify the solution (x¯, y¯) to obtain a new solution (xŒ, yŒ) of cost ¯ LP such that y −i =0 for each i ¨ NŒ and y −i \ 1 for each i ¥ NŒ. at most 2C 2 We further modify the 12 -restricted solution to obtain, without increasing its cost, a {12 , 1}-integral solution (xˆ, yˆ): that is, yˆi =0 for each i ¨ NŒ and yˆi is either 12 or 1 for each i ¥ NŒ.

136

CHARIKAR ET AL.

The first step will be accomplished using the filtering technique of Lin and Vitter [25]. The main observation behind this technique is the following lemma, which shows that each location j has at least half of its demand assigned to relatively ‘‘nearby’’ partially open centers: for each j ¥ N, there is a total of at least 1/2 of an ¯ j. open center within a radius of 2C Lemma 5. For any feasible fractional solution (x¯, y¯), ; i: cij [ 2C¯j y¯i \ 12 for each j ¥ N. ¯ j =; i ¥ N cij x¯ij . In any weighted average, less than half of Proof. Recall that C the total weight can be given to values more than twice the average; that is, C ¯j i: cij > 2C

x¯ij < 12 .

(16)

Since ; i ¥ N x¯ij =1 and x¯ij [ y¯i for each i ¥ N, C ¯j i: cij [ 2C

y¯i \

C ¯j i: cij [ 2C

x¯ij \ 12 .

(17)

This proves the lemma. L Now we are ready to prove the following result. ¯ LP . Theorem 6. There is a 12 -restricted solution (xŒ, yŒ) of cost at most 2C Proof. We will modify the solution (x¯, y¯) by moving each fractional center to the location in NŒ closest to it. We will prove that this produces a 12 -restricted solution of cost at most twice the cost of the solution (x¯, y¯). We start by setting xŒ P x¯ and yŒ P y¯. First consider only the constraints (11). For each location i ¥ N at which there is a partially open center (i.e., y −i > 0) and yet d −i =0, we completely close the fractional center at location i and move it to the closest location j ¥ NŒ. The fractional center at i is moved to j by setting y −j P min(1, y −i +y −j );

(18)

y −i P 0.

(19)

When we move the fractional center at i to location j, then we also change the assignments accordingly; that is, for each location jŒ ¥ N, we set x −jjŒ P x −jjŒ +x −ijŒ ; − ijŒ

x P 0.

(20) (21)

First observe that these changes result in a feasible linear programming solution that also satisfies the constraints (11). We will worry about the constraints (12) later. Next we show that these changes at most double the cost of the solution. Consider some location jŒ with positive demand d −jŒ . For any fractional center i that is moved, say, to location j, consider the corresponding change in the assignment cost

137

k-MEDIAN PROBLEM

of jŒ. The fraction xijŒ previously assigned to i is now assigned to j instead. By the triangle inequality, we get that cjjŒ [ cij +cijŒ . By the fact that the fractional center at i is moved to j, and not to jŒ, we know that cij [ cijŒ . Hence, cjjŒ [ 2cijŒ . By considering all demand points jŒ and all fractional centers i that are moved, we see that this claim implies that the cost of (xŒ, yŒ) is at most twice the cost of (x¯, y¯). Finally, we must show that the new solution satisfies the constraints (12). Note that by Step 1, any two locations with positive demand are far apart, i.e., the demands dŒ satisfy (10). This implies that for each location j with positive demand, ¯ j radius of j must be closer to j than to any all partially opened centers within a 2C other location in NŒ; hence all of these will be moved to j. Lemma 5 implies that the sum of the fractional center values on the locations within this radius of j is at least 12 . All of these fractional centers are moved to j, and hence we see that y −j \ 1/2, as required. L Note that the existence of a 12 -restricted solution for the modified instance implies that there are at most 2k locations with positive modified demand. If we open a center at each such location, we would get a solution (for the modified input) of cost 0. This implies that the original input has a solution using at most 2k centers ¯ LP . that costs at most 4C Next, we obtain a {12 , 1}-integral solution for the modified instance. We begin by examining the structure of any 12 -restricted solution. For any 12 -restricted solution with fractional center values y, it is easy to express the corresponding optimal fractional assignment x. Consider a location j ¥ NŒ. The optimal linear programming solution will have xjj =yj ; i.e., each location in NŒ will use its own partially open center to the maximum extent possible. Since yj \ 1/2, this leaves less than half of j to be assigned, and so, for any k ¥ NŒ, we can set xkj =1 − xjj (=1 − yj ) and be sure that the resulting solution is feasible (i.e., xkj [ 1/2 [ yk ). The best alternative is to let k be the location in NŒ that is closest to j (other than j itself). For each j ¥ NŒ, let s(j) be the closest location to j in NŒ (other than j), where ties are broken by choosing the location with the smallest index. We have just proved the following lemma. Lemma 7. The minimum ; j ¥ NŒ d −j (1 − y −j ) cs(j) j .

cost

of

1 2

a

-restricted

solution

(xŒ, yŒ)

is

This lemma implies that we can view the cost of a 12 -restricted solution (xŒ, yŒ) as a function solely of the values yŒ. Using this lemma, we are ready to prove the following theorem. Theorem 8. For any 12 -restricted solution (xŒ, yŒ), there exists a {12 , 1}-integral solution of no greater cost. Proof. By Lemma 7, the cost of the expressed as

1 2

-restricted solution (xŒ, yŒ) can be

C d −j cs(j) j − C d −j cs(j) j y −j . j ¥ NŒ

j ¥ NŒ

(22)

138

CHARIKAR ET AL.

We will construct a 12 -restricted solution whose cost is minimum possible. The first term of (22) is a constant independent of yŒ. The second term is maximized if the values y −j are as large as possible for locations j ¥ NŒ with the largest values d −j cs(j) j . The 12 -restricted solution of minimum cost is obtained as follows. Let nŒ=|NŒ|. Sort the locations j ¥ NŒ in decreasing order of their weight d −j cs(j) j . Set yˆj =1 for the first 2k − nŒ locations, and set yˆj =1/2 for the remaining 2(nŒ − k) locations. The solution (xˆ, yˆ) is a {12 , 1}-integral solution. By the above discussion, the cost of (xˆ, yˆ) is at most the cost of the 12 -restricted solution (xŒ, yŒ). L Thus, Step 2 produces a {12 , 1}-integral solution yˆj , j ¥ NŒ, so that each location j ¥ NŒ is assigned to itself and at most one other location s(j). Of course, if yˆj =1, then there is no need to consider s(j) at all; we will adopt the convention that if yˆj =1, then s(j)=j. 5. STEP 3: ROUNDING A {12 , 1}-INTEGRAL SOLUTION TO AN INTEGRAL ONE Finally, we show how to convert the {12 , 1}-integral solution obtained in the previous section to an integral solution. We will first show a simple method that increases the cost incurred by a factor of at most 2. Then we shall explain how to convert to an integer solution while increasing the cost incurred by a factor of at most 43 . Consider the {12 , 1}-integral solution (xˆ, yˆ) to the modified instance. Recall the structure of an optimal {12 , 1}-integral solution. For each location i ¥ NŒ, the optimal assignment is to set xˆii =yˆi , and if yˆi =12 , to then set xˆki =12 , where k is defined to be the closest other location, s(i), in NŒ. We use these (i, s(i)) pairs as edges to obtain a collection of trees spanning the vertices in NŒ. We then use the collection of trees to obtain an integral solution. More precisely, we build a collection of trees as follows. For each node i ¥ NŒ with yˆi =12 , draw a directed edge from i to s(i). By the definition of s(i), each component of this graph contains at most one cycle; such a cycle must be of length 2 and corresponds to the closest pair of nodes in the graph. For each cycle, we choose one of the two vertices as a root and delete the directed edge from the root to the other vertex. This will result in a collection of rooted trees. We say that s(i) is the parent of i if we have a directed edge from i to s(i). We first describe a simple rounding scheme that produces an integral solution of cost at most twice the cost of the {12 , 1}-integral solution. Define the level of any node to be the number of edges on the path from the node to the root. The locations of the centers are chosen as follows. We build a center at each node i such that yˆi =1. We partition the nodes {i ¥ NŒ | yˆi =12} into two subsets corresponding to the odd and even levels and build a center at each node in the smaller of the two subsets. This ensures that the number of centers built is at most ; yˆi [ k. It is easy to argue that this rounding at most doubles the cost of the solution. We build a center at each node i for which yˆi =1, and hence the contribution of node i to the cost of the solution is 0. For each node i with yˆi =12 , either i or s(i) is chosen as a center (since one of i and s(i) is at an odd level and the other is at an even

k-MEDIAN PROBLEM

139

level). Hence the contribution of i to the cost of the solution is at most d −i cs(i) i , which is exactly twice its contribution to the cost of the {12 , 1}-integral solution. Thus, the cost of the integral solution produced is at most twice the cost of the {12 , 1}-integral solution. If we substitute this bound into the proof of Theorem 1, we get an 8-approximation algorithm for the k-median problem. Next we describe a procedure for rounding the {12 , 1}-integral solution for which one can prove a sharper performance guarantee. Although we have been considering costs cij derived from an arbitrary metric, the k-median problem has been studied with respect to special classes of metrics. In particular, for a given set of locations N, if there is a tree T=(N, E), and the distance between any pair of locations i, j ¥ N is defined as the length of the path between i and j in T, then the resulting metric is said to be a tree metric. The k-median problem for tree metrics is known to be solvable in polynomial time (see, for example, the work of Tamir [30]); furthermore, the ratio between the optimal integer and fractional solutions to 2 (1)–(6) is known to be at most 2 − k+1 [31, 32]. We shall consider a slightly more general class of metrics in which there is a forest and the distance between a pair of points in the same component is defined to be the length in that tree, whereas the distance between two points in different components is infinity (or any suitably large constant). It is straightforward to see that the polynomial-time optimization algorithm for the k-median problem with respect to tree metrics can be generalized to this forest metric setting as well. We gave an efficient rounding procedure to convert the {12 , 1}-integral solution to an integral one of at most twice the cost. We shall argue next that even a nonconstructive proof of the fact that, for any forest metric, the ratio between the costs of the optimal integer and {12 , 1}-integral solutions is at most r, yields a polynomialtime algorithm that applies to any metric with the same guarantee. The new algorithm works as follows. Use the {12 , 1}-integral solution (xˆ, yˆ) to generate a forest as was done in the previous rounding algorithm. Use this forest to define a forest metric on the nodes in NŒ, and then compute the optimal k-median solution with respect to this modified metric. We shall argue next that the modified algorithm finds an integer solution of cost at most r times the cost of the {12 , 1}-integral solution (both with respect to the original metric). Let z be the cost of the {12 , 1}-integral solution in the original metric. For each pair of nodes (i, j), the cost with respect to the forest metric is at least the original cost, and for each edge in the forest, the two costs are the same. Since the {12 , 1}-integral solution (xˆ, yˆ) only has (positive) assignments corresponding to edges, the cost of this solution with respect to the forest metric is also z. Hence there is an integer solution of cost of at most rz with respect to the forest metric. Furthermore, the cost of the optimal solution found by the forest metric algorithm is at most rz, and so the cost with respect to the original metric of this solution is also at most rz. We have already shown that r [ 2. In Section 7, we will show that any {12 , 1}-integral solution can be converted to an integer solution of cost at most 4/3 times as much. At this point we will make a slight detour and review the algorithm and then return to the proof of the upper bound of the integrality gap of {12 , 1}-integral solutions.

140

CHARIKAR ET AL.

6. THE ALGORITHM IN RETROSPECT Reflecting on the algorithm and the analysis we presented, it turns out that the underlying algorithm is much simpler than it might appear from our description. The entire algorithm can be viewed as building a collection of trees from the LP solution and then solving the problem optimally on this collection. Here is the complete algorithm stated slightly differently. Step 1Œ. Solve the LP and perform (a modified version of) Step 1 as in Section 3. However, instead of modifying the demands, we build a collection of stars on the set of locations N. We have one star in the collection for every location j ¥ NŒ; this star consists of edges from j to each location i such that the demand of i was moved to j in the original Step 1. Step 2Œ. Obtain a collection of trees by connecting each vertex j ¥ NŒ to its nearest neighbor s(j) ¥ NŒ (where ties and cycles of length 2 are broken as before). Step 3Œ. Solve the modified instance consisting of the original demands where the underlying metric is the forest metric (as defined in the previous section) induced by the collection of trees produced in Step 2. The analysis of the algorithm presented in Steps 1–3 also proves that the performance guarantee of Steps 1Œ–3Œ is at most 6 23 (modulo the proof still promised for rounding the {12 , 1}-integral solution). 7. BOUNDING THE INTEGRALITY GAP OF A {12 , 1}-INTEGRAL SOLUTION We will show that for any metric, there exists an integral solution of cost at most times the cost of an optimal {12 , 1}-integral solution. That is, we shall show that the integrality gap is bounded by 43 . It is interesting to note that, in contrast to the discussion above, we shall not need to use the fact that the metric is a forest metric. This bound is tight, as is shown by the example of a tree with unit-length edges, no demand at the root, but demand 1 at each of its three children, and k=2. The optimal integer solution is of cost 2, whereas the optimal {12 , 1}-integral solution is of cost 3/2. The basic idea of the upper bound on the integrality gap is to produce a probability distribution on integral solutions of expected cost at most 43 times the cost of the {12 , 1}-integral solution. Since there must be an integer solution of cost no greater than this expectation, this proves the claimed bound. 4 3

7.1. The Outline of the Proof We start by presenting the framework used to bound the integrality gap. As mentioned above, we will construct a probability distribution over integral solutions. We will decompose the tree into small neighborhoods (Step A) and create distributions over these smaller trees (Step B). We first state some properties ensured by these two steps and show how the expected cost of an integral solution

k-MEDIAN PROBLEM

141

can be bounded using these properties. Later, we will describe the individual steps in detail and prove that the stated properties are satisfied. Step A. Creating 3-level trees. We are given a set of rooted trees C corresponding to a {12 , 1}-integral solution (xˆ, yˆ). Recall that the nearest neighbor of i is s(i); if yˆi =12, then s(i) is the parent of i in C, unless i is a root of a tree in C (and then s(i) is its child). We will construct a set of trees C3 that contains all nodes in C such that (P0) Each tree has at most three levels. We say that the level of a root of a tree is 0 and refer to its children as level-1 nodes and their children as level-2 nodes. (P1) A node i is a parent of j in a tree in C3 only if i=s(j). Thus, each tree in C3 is a subgraph of the graph defined by trees in C. (P2) Each node i with yˆi =12 belongs to a tree of size 2 or more in C3 . (P3) If i is a root of a tree in C3 with yˆi =12 , then the distance from node i to its nearest child is at most 2cis(i) , or s(i) is a level-1 node in some other tree in C3 . (P4) For each node i in a tree in C3 that is not level-0 or level-1, we have that cis(i) \ 2cs(i) s(s(i)) . Step B. Distribution over 3-level trees. Given a set of 3-level trees we construct a probability distribution over integral solutions. We will choose k nodes such that the following conditions are met: (D0) If yˆi =1, then node i is chosen. (D1) If a root is not chosen, then all level-1 nodes in that tree are chosen. (D2) Each root is chosen with probability at least 23 . (D3) Each level-1 node is chosen with probability at least 13 . (D4) Each level-2 node is chosen with probability at least 12. (D5) For each level-2 node i, conditioned on the fact that i is not chosen, its parent s(i) is chosen with probability at least 13 . Notice that if the choice of i and s(i) were independent, then the last condition would follow from (D3). Using the above properties, we can prove the following lemma. Lemma 9. If properties (P0)–(P4) and (D0)–(D5) are true, then for each node j with yˆj =12 , the expected distance to its nearest center is at most 23 cjs(j) . Proof. Suppose that j is a root node. By property (D2), j is chosen with probability at least 23 . By property (D1), if j is not chosen, all of its children are chosen. From property (P2), it has at least one child. If the distance from node j to its nearest child is at most 2cjs(j) , then by property (D1), node j has an open center at most 2cjs(j) away from it. Otherwise (if its nearest child were farther away), by property (P3), we have that s(j) is a level-1 node in some other tree. By another application of property (D1), either s(j) or s(s(j)) is chosen. In either case, node j is at most 2cjs(j) away from a center. Therefore, the expected distance from node j to its nearest center is at most 23 cjs(j) .

142

CHARIKAR ET AL.

Suppose that node j is a level-1 node. By property (D3), node j is chosen with probability at least 13 . If j is not chosen, by property (D1), its parent s(j) (the root) must be chosen. Thus, the expected distance to its nearest center is at most 23 cjs(j) . The remaining case is when j is a level-2 node. Then, by property (D4), node j is chosen with probability at least 12 . By property (D5), if we condition on node j not being chosen, then s(j) is chosen with probability at least 13 . If s(j) is not chosen, then s(s(j)) must be chosen (by property (D1)). Thus, the expected distance from node j to its nearest center is at most 1 2

(13 cjs(j) +23 (cjs(j) +cs(j) s(s(j)) )) [ 12 cjs(j) +13 cs(j) s(s(j)) .

By property (P4), the right-hand side is at most 23 cjs(j) . L The following theorem is an immediate consequence of Lemma 9. Theorem 10. For any metric, the ratio between the cost of a given {12 , 1}-integral solution and the optimal integral solution is at most 43. Proof. We compare the cost of the given {12 , 1}-integral solution to the expected cost of the integral solution found above. From (D0), each node with yˆj =1 is chosen as a center in the integral solution. Thus, the assignment cost for each such node j is equal to 0, both for the integral solution found and for the given {12 , 1}-integral solution. For a node j with yˆj =12 , its contribution to the objective function value of the {12 , 1}-integral solution is 12 d −j cjs(j) . By Lemma 9, the expected contribution of node j to the objective function value for the, integer solution is at most 23 d −j cjs(j) . Therefore, the total expected cost of the integer solution is at most 43 times the cost of the {12 , 1}-integral solution. L We now present the details of Steps A and B. 7.2. Step A: Creating 3-Level Trees Let C denote the set of trees corresponding to a {12 , 1}-integral solution (xˆ, yˆ). We will create the 3-level trees in a two phase process. We will create trees that are subgraphs of trees belonging to C, and property (P1) will follow immediately. Phase 1. In the first phase, we will convert a tree T ¥ C to a subcollection of trees that satisfy properties (P4) and (P2). They need not have three or fewer levels. For each tree T ¥ C, we will visit its nodes by visiting all descendants of a node before visiting the node itself (i.e., post-order). Furthermore, we require that we visit the nearest child of the root of T as the last node visited, before visiting the root of T. This latter condition need not be maintained for visiting other nodes in T. Throughout this construction, we shall be modifying the tree T. Assume we are visiting a node i that is neither the root nor the nearest child of the root. Let Ti denote the subtree of the current tree T that is rooted at i. We will prune the tree T by removing the subtree Ti rooted at node i; the tree Ti is added to the collection CŒ, if both of the following conditions are satisfied:

k-MEDIAN PROBLEM

143

(a) the node i has a child, (b) the distance from i to its nearest child j is less than twice the distance to its parent s(i); i.e., cij < 2cis(i) . Suppose that we are visiting the nearest child i of a root node j. We check to see if either of the following cases apply: (i) yˆj =12 and i is the only remaining child of j; (ii) yˆj =12 and ciŒj \ 2cij , where iŒ is the second nearest remaining child of j. If neither (i) nor (ii) applies, we prune Ti if both conditions (a) and (b) are satisfied. If either (i) or (ii) holds, we modify the tree T by making j the child of i. (Note that any remaining children of the root j, other than i, continue to be children of j.) The modified tree T is added to CŒ. If we do visit the root, then we add the remaining tree T to CŒ, and phase 1 ends. Before proceeding with phase 2 to finish the construction, we prove the following lemma: Lemma 11. At the end of phase 1, properties (P1)–(P4) hold, and for each node iŒ in a tree in CŒ that is at level 2 or more, ciŒs(iŒ) > 2cs(iŒ) s(s(iŒ)) . Proof. It is easiest to verify that property (P2) is true. All trees added to CŒ while processing nodes other than the root have size at least 2. The only potential singleton tree is one consisting of the original root itself. Suppose that the root j has yˆj =12 . If the root has no remaining child other than its nearest child, then the root would be removed when its nearest child was processed and will not create a singleton tree. Property (P1) is also easy to verify. We do not change the parent–child ordering in the pruning process, except possibly when we visited i, the nearest child of a root j with yˆj =12 . In this case, node j became a child of i, and indeed s(j)=i. Condition (b) ensures that property (P3) is true for each pruned tree Ti that is added to CŒ while visiting a node i that is not the root node. If the root j becomes the child of i, where i was the nearest child of j originally, then property (P3) holds, since the nearest child of the (new) root i is j, and it is at a distance cis(i) . Therefore, the only case not yet covered is when we visit the original root j of the tree and add the remaining tree T to CŒ. If yˆj =1, then property (P3) is vacuously true. If yˆj =12 , note that s(j) is node j’s nearest child i. Property (P3) is true if the nearest child i is still remaining in T when j is visited. If the nearest child i was pruned away, then it must be the case that both conditions (i) and (ii) did not hold when i was visited. Thus, j must have a child iŒ remaining in T other than its nearest child i, and ciŒj < 2cij =2cjs(j) . Hence, property (P3) holds for the tree rooted at j that is added to CŒ. To see that property (P4) holds, consider a node iŒ which is at level a \ 2 in some tree in CŒ. Suppose, for a contradiction, that (P4) does not hold; i.e., ciŒs(iŒ) < 2cs(iŒ) s(s(iŒ)) . Let the parent of iŒ be i, and let us consider why the subtree rooted at i was not pruned and added to CŒ when i was visited. Notice that both conditions (a) and (b) are satisfied. It must be the case that i was the nearest child of the original root j or the original root. If i was the nearest child of j, then a

144

CHARIKAR ET AL.

subtree rooted at i must have been added to CŒ contradicting that iŒ is at level 2 or more. (If either (i) or (ii) holds, such a subtree is added with the root j being made a child of i. If neither holds, the subtree rooted at i is pruned away, since both (a) and (b) hold.) Consider the case when the parent i of iŒ is itself the original root in C. If iŒ was the nearest child of the root i, then iŒ is always either a level-0 or a level-1 node in some tree in CŒ. Suppose iŒ was not the nearest child of the root i. If we added the tree rooted at i to CŒ, we would have iŒ as a level-1 node in some tree in CŒ. Finally, consider the case when the the root i is added to the subtree rooted at its nearest child. In this case, when the nearest child was visited, (i) did not apply since i had another child iŒ. Hence, (ii) must have applied and in this case ciŒs(iŒ) \ 2cs(iŒ) s(s(iŒ)) . (Note that s(s(iŒ))=s(i) is the nearest child of root i in this case.) This proves that property (P4) holds. L Phase 2. This phase ensures that (P0) is satisfied and that the properties (P1)–(P4) remain true. We perform the following steps. Initially, C3 is empty. (a) For each tree TŒ ¥ CŒ, remove all the edges between the levels 2p+1 and 2p+2 for all p \ 0. (Edges between levels 2p and 2p+1 are undisturbed.) (b) The previous step yields a decomposition into trees having at most two levels (i.e., stars). For the singleton nodes created in this process, (i.e., nodes that are in level 2p+2 and have no children), attach them to their parent in TŒ. We add the set of trees created to C3 . It is immediate that property (P0) is true. Property (P4) is true, since we do not create any new nodes that are not level-0 or level-1. Property (P2) is true, since we do not create singleton trees in the second phase. Property (P1) is true, since we do not create any new parent–child relationships. Property (P3) is true, since the parent of each new root created is a level-1 node. Therefore, all of the properties (P0)–(P4) are true for the collection of trees, C3 . 7.3. Step B: Distribution over 3-Level Trees In this section, we specify a probability distribution of integer solutions, given the 3-level trees, and show that the distribution satisfies the desired properties. We start by introducing some additional definitions. A tree T ¥ C3 is said to be an even tree if ; j ¥ T yˆj is integral; otherwise, it is said to be an odd tree. Clearly the number of odd trees will be even. An even tree T with ; j ¥ T yˆj =p will be assigned p centers. For each odd tree, we have that ; j ¥ T yˆj =p+12 , for some p \ 1: notice that this follows from property (P2). For half of the odd trees, we will round up this fractional value to obtain the number of centers opened, whereas in the other half, we will round this fractional value down. If we round up the number of centers (from p+12 to p+1), then we will say that the tree is a 1-tree. Otherwise, if we round down (from p+12 to p), then we will say that the tree is a 0-tree. We will choose half of the odd trees to be 1-trees uniformly at random. The other odd trees will be 0-trees. It is immediate that we will open exactly k centers in total. There are two cases, depending on whether the root i of a tree in C3 has yˆi equal to 1 or 12 . We present the former, and simpler, case first. Throughout this discussion, by saying that we uniformly choose p elements from a given set, we will mean

k-MEDIAN PROBLEM

145

that we choose a subset of p elements uniformly at random from amongst all subsets of size p. The selections for different trees are made independently of each other. Case 1. Suppose that the root i of a tree has yˆi =1. The root is picked as a center. The remaining centers are picked from the following distribution: (i) If the root has 2p descendants (level-1 and level-2 nodes), uniformly choose p of them to build a center. (ii) If the root has 2p+1 descendants, uniformly choose p+1 of them if the tree is a 1-tree, and otherwise, uniformly choose p of them. Before we proceed to Case 2, we can easily show that Lemma 12. If root j of a tree in C3 has yˆj =1, then the above distribution satisfies (D0)–(D5). Proof. Since the root is chosen (D0)–(D2) is satisfied immediately. The probability of choosing any other node is exactly 12 in case (i). The probability of choosing a node in case (ii) is also 12 . With probability 12 the tree is a 1-tree in which case the probability of a node being chosen is (p+1)/(2p+1). Otherwise with probability 12 the tree is a 0-tree with the probability that a node is chosen is p/(2p+1). Thus the probability that a node is chosen is 12 . This proves (D3) and (D4). The proof of (D5) is straightforward. If we condition on the event that a level-2 node i is not chosen, the probability of choosing its parent s(i) can only increase. Since s(i) was chosen with probability 12 overall, the conditional probability of choosing s(i) is still at least 12 . L Case 2. We are now ready to specify our distribution for any tree in C3 , rooted at a node j for which yˆj =1/2. We will further subdivide this case into two subcases: first, where the number of level-1 nodes is odd or the number of level-2 nodes is even, and the second, where both these conditions do not hold. Case 2a. The number of level-1 nodes is odd or the number of level-2 nodes is even. The distribution will be specified by giving two independent distributions: there will be one distribution specifying the selection of level-0 and the level-1 nodes, and another distribution that specifies the selection of the level-2 nodes. We will describe the distribution over level-2 nodes first. (i) If there are 2r level-2 nodes, uniformly choose r to open as centers. If there are 2r+1 nodes in level 2 (and so the number of level-1 nodes is odd, and this is an odd tree), uniformly choose r+1 of them if this is a 1-tree, and uniformly choose r of them if it is 0-tree. (ii) If there is a single level-1 node, then open a center at the root with probability 23 and at the single level-1 node with probability 13 . (iii) If the number of level-1 nodes is 2t+1 (t \ 1), open a center at the root and uniformly choose t level-1 vertices as centers.

146

CHARIKAR ET AL.

(iv) If the number of level-1 nodes is 2 (and so the number of level-2 nodes is even and this is an odd tree), then, if the tree is a 1-tree, build a center at both level1 nodes with probability 23 , and build a center at the root and at one of the level-1 nodes (arbitrarily selected) with probability 13 . If the tree is a 0-tree, build a center at the root. (v) If the number of level-1 nodes is 2t (t > 1), open a center at the root and uniformly choose t level-1 nodes if the tree is a 1-tree. Otherwise, open a center at the root and uniformly choose t − 1 level-1 nodes as centers. Lemma 13. For any tree in C3 , rooted at a node j for which yˆj =1/2 where the number of level-1 nodes is odd or the number of level-2 nodes is even, the above distribution satisfies the properties (D0)–(D5). Proof. Property (D0) is true vacuously. Property (D1) is true by construction. Property (D2) is true since the only cases in which the root is not chosen are (ii) and (iv) (only when the tree is chosen as a 1-tree) and in both cases, the root is chosen with probability 23 (taking into account in (iv) that it is a 0-tree with probability 12). In case (ii), property (D3) follows directly from the construction. In case (iii), it holds since t/(2t+1) \ 13 , for t \ 1. In case (iv), the tree is chosen to be a 1-tree with probability 12 , and in that case a level-1 node is chosen with probability 23 ; thus, the probability of selecting a level-1 node is at least 13 , even ignoring the other case. In case (v), the probability of choosing a level-1 node is 12 if the tree is a 1-tree and is (t − 1)/(2t) if the tree is a 0-tree; once again, since the probability that the tree is a 1-tree is exactly 12 , the probability of choosing a level-1 node is at least 1 3 1 4+(t − 1)/(4t) \ 8 > 3 . Property (D4) holds by the same argument as in Lemma 12: that is, if the number of level-2 nodes is even, we are done. If it is odd, the tree is odd as was pointed out in the construction. In that case, with probability 12 , the tree is a 1-tree and we choose each level-2 node with probability (r+1)/(2r+1), and with probability 12 , the tree is a 0-tree and we choose each level-2 node with probability r/(2r+1). Thus, the overall probability of choosing a level-2 node is 12 . Property (D5) holds, since for any level-2 node i, the probability distributions governing the choice of i and s(i) are independent, and we have already proved that (D3) holds. L Case 2b. If there are an even number of level-1 nodes and an odd number of level-2 nodes, we consider a different distribution: (i) If there are two level-1 nodes and 2r+1 level-2 nodes (r \ 0), then, with probability 23 , open centers at the root and r+1 uniformly chosen level-2 nodes; and, with probability 13 , open centers at the two level-1 nodes and r uniformly chosen level-2 nodes. (ii) If there are 2t level-1 nodes (t > 1) and 2r+1 level-2 nodes (r \ 0), always open a center at the root. With probability 12 , uniformly choose t − 1 level-1 nodes and independently, uniformly choose r+1 level-2 nodes. With probability 12 , uniformly choose t level-1 nodes and independently, uniformly choose r level-2 nodes. Lemma 14. The above distribution satisfies the properties (D0)–(D5).

k-MEDIAN PROBLEM

147

Proof. Property (D0) is true vacuously. Property (D1) follows directly from the construction. To see that property (D2) is also true, note that the only case in which the root is not chosen is (i), and in that case, the root is chosen with probability 23 . It is easy to check that property (D3) is true in case (i). In case (ii), a level-1 node is chosen with overall probability 1 t − 1 1 t 2t − 1 · + · = . 2 2t 2 2t 4t Since t > 1, it follows that property (D3) holds in this case as well. In case (ii), property (D4) is true, since the overall probability of choosing a level2 node is 1 r+1 1 r 1 · + · = . 2 2r+1 2 2r+1 2 In case (i), the probability of choosing a level-2 node is 2 r+1 1 r 3r+2 1 · + · = > . 3 2r+1 3 2r+1 6r+3 2 To verify that (D5) is true, for a level-2 node i, we will compute the probability that s(i) is chosen given that i is not chosen. This can be done using the fact that Prob[A | B]=Prob[A and B]/Prob[B]. In case (i), the probability is 1 1 · (r+1) \ . 2 · r+1 · (r+1) 3 In case (ii), the probability is t−1 r t r+1 3r/4+1/2 1 · + · \ \ . L 2t 2r+1 2t 2r+1 2r+1 3 Thus, we have created a distribution satisfying properties (D0)–(D5) on a collection of 3-level trees C3 that satisfies the properties (P0)–(P4).

ACKNOWLEDGMENTS This work is a combined version of two earlier papers, by Charikar and Guha, and by Tardos and Shmoys, which independently obtained nearly identical results. We thank David Williamson for helping to facilitate the merger and Chandra Chekuri, Fabian Chudak, Ashish Goel, and Rajeev Motwani for several useful discussions at the starting point of this research. Part of this work was done while the first two authors were visiting IBM T. J. Watson Research Center in Yorktown Heights.

148

CHARIKAR ET AL.

REFERENCES 1. S. Arora, P. Raghavan, and S. Rao, Approximation schemes for Euclidean k-medians and related problems, in ‘‘Proceedings of the 30th Annual ACM Symposium on Theory of Computing,’’ pp. 106–113, 1998. 2. V. Arya, N. Garg, R. Khandekar, V. Pandit, A. Meyerson, and K. Mungala, Local search heuristics for k-median and facility location problems, in ‘‘Proceedings of the 33rd Annual ACM Symposium on the Theory of Computing,’’ pp. 21–29, 2001. 3. J. Bar-Ilan, G. Kortsarz, and D. Peleg, How to allocate network centers, J. Algorithms 15 (1993), 385–415. 4. Y. Bartal, Probabilistic approximation of metric spaces and its algorithmic applications, in ‘‘Proceedings of the 37th Annual IEEE Symposium on Foundations of Computer Science,’’ pp. 184–193, 1996. 5. Y. Bartal, On approximating arbitrary metrics by tree metrics, in ‘‘Proceedings of the 30th Annual ACM Symposium on Theory of Computing,’’ pp. 161–168, 1998. 6. M. Charikar, ‘‘Algorithms for Clustering Problems,’’ Ph.D. dissertation, Department of Computer Science, Stanford University, 2000. 7. M. Charikar, C. Chekuri, A. Goel, and S. Guha, Rounding via trees: deterministic approximation algorithms for group Steiner trees and k-median, in ‘‘Proceedings of the 30th Annual ACM Symposium on Theory of Computing,’’ pp. 114–123, 1998. 8. M. Charikar and S. Guha, Improved combinatorial algorithms for the facility location and k-median problems, in ‘‘Proceedings of the 40th Annual IEEE Symposium on Foundations of Computer Science,’’ pp. 378–388, 1999. 9. F. A. Chudak, Improved approximation algorithms for uncapacitated facility location, in ‘‘Integer Programming and Combinatorial Optimization’’ (R. E. Bixby, E. A. Boyd, and R. Z. Ríos-Mercado, Eds.), Lecture Notes in Computer Science, Vol. 1412, pp. 180–194, Springer-Verlag, Berlin, 1998. 10. F. Chudak and D. Shmoys, Improved approximation algorithms for the uncapacitated facility location problem, unpublished manuscript, to appear in SIAM J. on Computing, 1998. 11. F. A. Chudak and D. B. Shmoys, Improved approximation algorithms for the capacitated facility location problem, in ‘‘Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms,’’ pp. S875–S876, 1999. 12. G. Cornuéjols, G. L. Nemhauser, and L. A. Wolsey, The uncapacitated facility location problem, in ‘‘Discrete Location Theory’’ (P. Mirchandani and R. Francis, Eds.), pp. 119–171, Wiley, New York, 1990. 13. M. E. Dyer and A. M. Frieze, A simple heuristic for the p-center problem, Oper. Res. Lett. 3 (1985), 285–288. 14. U. Feige, Personal communication, August 1997. 15. T. F. Gonzalez, Clustering to minimize the maximum intercluster distance, Theoret. Comput. Sci. 38 (1985), 293–306. 16. S. Guha, ‘‘Approximation Algorithms for Facility Location Problems,’’ Ph.D. dissertation, Department of Computer Science, Stanford University, 2000. 17. S. Guha and S. Khuller, Greedy strikes back: Improved facility location algorithms, J. Algorithms 31 (1999), 228–248. 18. D. S. Hochbaum and D. B. Shmoys, A best possible approximation algorithm for the k-center problem, Math. Oper. Res. 10 (1985), 180–184. 19. K. Jain, M. Mahdian, and A. Saberi, A new greedy approach for facility location problems, in ‘‘Proceedings of the 34th Annual ACM Symposium on the Theory of Computing,’’ pp. 731–740, 2002. 20. K. Jain and V. V. Vazirani, Primal-dual approximation algorithms for metric facility location and k-median problems, in ‘‘Proceedings of the 40th Annual IEEE Symposium on Foundations of Computer Science,’’ pp. 2–13, 1999.

k-MEDIAN PROBLEM

149

21. O. Kariv and S. L. Hakimi, An algorithmic approach to network location problems, Part II: p-medians, SIAM J. Appl. Math. 37 (1979), 539–560. 22. S. Khuller and Y. J. Sussmann, The capacitated k-center problem, SIAM J. Discrete Math. 13 (2002), 403–418. 23. M. R. Korupolu, C. G. Plaxton, and R. Rajaraman, Analysis of a local search heuristic for facility location problems, J. Algorithms 37 (2000), 146–188. 24. J.-H. Lin and J. S. Vitter, Approximation algorithms for geometric median problems, Inform. Proc. Lett. 44 (1992), 245–249. 25. J.-H. Lin and J. S. Vitter, E-approximations with minimum packing constraint violation, in ‘‘Proceedings of the 24th Annual ACM Symposium on Theory of Computing,’’ pp. 771–782, 1992. 26. R. R. Mettu and C. G. Plaxton, The online median problem, in ‘‘Proceedings of the 41st Annual IEEE Symposium on Foundations of Computer Science,’’ pp. 339–348, 2000. 27. D. B. Shmoys and E. Tardos, An approximation algorithm for the generalized assignment problem, Math. Programming 62 (1993), 461–474. 28. D. B. Shmoys, É. Tardos, and K. I. Aardal, Approximation algorithms for facility location problems, in ‘‘Proceedings of the 29th Annual ACM Symposium on Theory of Computing,’’ pp. 265–274, 1997. 29. M. Sviridenko, Personal communication, July 1998. 30. A. Tamir, An O(pn 2) algorithm for the p-median and related problems on tree graphs, Oper. Res. Lett. 19 (1996), 59–94. 31. S. de Vries, M. Posner, and R. Vohra, The K-median problem on a tree, Working paper, Ohio State University, Oct. 1998. 32. J. Ward, R. T. Wong, P. Lemke, and A. Oudjit, Properties of the tree K-median linear programming relaxation, unpublished manuscript, 1994.