In this section we turn to the variable radii model, and consider the MSRC
problem. Let D be the set ofn·m disks determined by the sets X and Y as follows. For each 1≤p≤m and 1 ≤q ≤n, the client yq ∈Y and the server
xp∈X determine a diskDqp∈ D of radius Rpq =dist(xp, yq) centered at xp. A
weightωq
p=Rqp is associated with each diskDqp, andω(D) =Dq p∈Dω
q p is the
total weight for a set of disksD ⊆ D. Letδq
p= 2Rqpbe the diameter of disk Dqp
and let δmax and δmin, respectively, be the maximal and minimal values ofδqp
for all possiblepand q.
A set of disksD ⊆ D is called a cover for a set of clients Y ⊆ Y if each
client yp ∈ Y is contained in some disk of D. The problem is to find a cover
D ⊆ D for Y of minimum total weightω(D). We now present a polynomial
time algorithm that approximates the problem with ratio 1 +6
k for every given
integer k >1.
First, the disks in D are scaled such that δmax =1. Given k > 1, Let
" =lgk+1( 1
δmin). The set Dis partitioned into "+ 1levels s.t. for 0≤j ≤"
the disk Dq
p is on levelj if and only if its diameterδpq satisfies (k+ 1)−(j+1)<
δq
p≤(k+ 1)−j. Disks of level j are calledj-disks.
Analogously, we subdivide the plane by introducing a hierarchy of increas- ingly finer grids, s.t. each level 0≤j≤" imposes a gridGj of lines at distance
(k+ 1)−j of each other, aligned so there is a grid point at (0,0). We refer to
lines of the level j grid Gj as j-lines. A verticalj-line is of index v, for integer
−∞< v <∞, if itsxcoordinate isx=v(k+ 1)−j; a similar definition applies
to horizontal j-lines.
On top of each gridGj of this hierarchy, we now construct a coarser super-
denote the collection of vertical j-lines of Gj whose index modulo k equals v.
Similarly, for every 0 ≤ h < k, let HLj(h) denote the collection of horizontal
j-lines ofGj whose index modulokequalsh. Now the super-gridSGj(v, h), for
0≤v, h < k, consists of the line collectionVLj(v)∪HLj(h).
For fixed (v, h) and a certain level 0≤j≤", the lines ofSGj(v, h) subdivide
the plane into disjoint squares of sidek·(k+ 1)−j, calledj-squares. Aj-squareJ
is calledrelevant ifDcontains a j-disk that covers a client inJ. For a relevant
j-square J and a relevant j-square J where j > j, J is called a child of J
(denoted J ≺J) if it is contained inJ and there is no “intermediate” relevant
j-square s.t.j < j< j and J ⊂J⊂J.
For a fixed choice ofv, h and level j, for eachj-disk Dq
p ∈ D and relevant
j-squareJ imposed byv andh, we define the disk-sector Sq
p(J)induced byDqp
and J as their intersection. The disk sector Sq
p(J) is then called relevant if it
contains a client of J. Note that each disk can induce up to four relevant disk sectors.
Also, for each choice of v, h and level j, let Dj(v, h) be the set of relevant
disk-sectors which are induced byj−disks and j−squaresof SGj(v, h). For
given v, h, let D(v, h) =0≤j≤Dj(v, h). This set is made of disk-sectors that
are each completely contained in a relevant square on their level. Note that a disk-sector can be a full disk if the whole disk is contained in a square of the same level. The weight of each disk-sector is defined to be the radius of the original disk and the level and center of the disk-sector remain the same as well.
Two disks Dq1
p1 and Dqp22 are said to be semi-disjoint if Dpq11 does not con-
tain xp2 and Dpq22 does not contain xp1. A subset of disk-sectors S ∈ D(v, h)
is then said to be semi-disjoint if Dq1
p1 and Dpq22 are semi-disjoint for every Sq1
p1(J1), Spq22(J2)∈ S.
LetOP T(D(v, h)) be the optimal value of a cover forY that can be obtained when restricted to the elements ofD(v, h). We then have the following lemma. Lemma 2. At least one pair(v, h), for some0≤v, h < k, satisfies
OP T(D(v, h))≤(1 + 6/k)·OP T(D).
Proof. Let C denote the optimal cover by the original disks, i.e., such that
OP T(D) = ω(C). For each choice of v and h, let C(v, h) be the set of rele- vant disk sectors ofC as mentioned above. Because the spacing between j-lines is no smaller than the diameter of a j-disk, it follows that if a j-disk of C was cut by a verticalj-line inSGj(v, h) then for all other choices ofv=v this disk
will not be cut by any verticalj-line ofVLj(v). Also, if aj-disk ofCwas cut by
a horizontalj-line in SGj(v, h) then for all other choices ofh =hthis disk will
not be cut by any horizontalj-line ofHLj(h).
For 0≤v < k and a levelj, letCv
j be the set of allj-disks inC that intersect
a line of VLj(v), and let Cv = jCjv. Note that C =
vCv and by the above
argument the setsCv for 0≤v < k are disjoint, soω(C) =
vω(Cv). Therefore
the weight of at least one of these sets must be at most a 1
k-fraction of the weight
of C, i.e.,ω(Cv)≤ω(C)/k for some 0 ≤v ≤k. Similarly, letting Ch
j be the set
of allj-disks inC that intersect a line ofHLj(h) and lettingCh=jCjh, we get
2
kω(C). Each diskDqp of Cv∪ Ch induces up to four disk-sectors in C(v, h) with
weight ω(Dq
p). Thus when calculating ω(C(v, h)), we count the weight of each
disk ofC while possibly adding the weight of the disks which belong toCv∪ Ch
at most three times more. We therefore haveω(C(v, h))≤(1 + 6
k)·ω(C).
For fixedv, handj-squareJwe use the following terminology. For any subset
S ⊆ D(v, h) and integers 0≤a ≤b ≤k, SJ
[a,b] is the set of all sectors in S of
levels in the range [a, b] that contain a client ofJ. Ifa=b we write simplySJ a.
Afull partial cover ofJ is a collectionF of semi-disjoint disk-sectors of levels in the range [0, j] that contain a client ofJ such thatF is a cover for the clients of
J that cannot be covered by any of the disk-sectors of levels in [j+1, l]. Apartial cover P ofJ is a set of disk-sectorsFJ
[0,j−1] for some full-partial coverF ofJ.
For a partial-coverP ofJ, a(J,P)-completion is a collectionCof disk-sectors of levels in the range [j, l] that contain a client ofJ such thatC ∪ P is a cover for the clients ofJ andP ∪ CJ
j is a full partial cover for the clients ofJ.
Lemma 3. For a j-square J there exists a constantγ (depending only on k), such that for every full-partial cover F of J,|F| ≤γ.
Proof. The disk sectors ofF are induced byJ or by a square containingJ, so no two sectors are induced by the same disk. Therefore, lettingQ be the set of
(semi-disjoint) disks inducing the sectors ofFwe have|F| ≤ |Q|. Consequently,
it suffices to show that there exists a constantγ such that for a set Qof semi- disjoint disks of levels in the range [0, j] that intersectJ,|Q| ≤γ.
LetQbe such a set of disks and letψ= (k+1)−jandd= ψ
2·(k+1). Letdmin(Q)
denote the minimal distance between the centers of Q. The semi-disjointness property ofQ implies thatdmin(Q)≥d. LetJ be a square consisting ofJ and
a strip of widthψsurroundingJ. LetQJ
be the set of disks inQwhose centers are contained inJ and letQJ=Q − QJ.
To bound|QJ
|, subdivide J into a gridGH composed of lines at distance
d/√2 of each other (the last strip will be narrower, as the side length ofJ is
not an integral multiple ofd/√2). Asdmin(Q)≥d, each square of the gridGH
contains at most one center of a disk of QJ
, hence the size ofQJ
is bounded by the number of grid squares, i.e.,|QJ
| ≤ (kd+2)2/2ψ2 =O(k4).
It remains to bound the size ofQJ. Observe that this set consists of disks of
levels smaller than j, because the centers of all disks of level j must fall inside
J. Consider the gridG
j and ignore all thej-lines that do not touch the square
J. To this grid add two lines which determine the diagonals of J. These lines impose a subdivision of IR2−J into 4(k+ 2) regions. The proof is completed
upon verifying that each part of the subdivision can contain at most one center of the disks ofQJ, and hence|QJ| ≤4(k+ 2).
The algorithm for computing the table T uses the procedure Proc(J,F) for eachj-squareJ and full partial coverF. This procedure looks up the table entries T(J,FJ
[0,j]) of all children J of J (which were already computed) and
ProcedureProcis used within the procedureCons(T) for constructing the table T. Procedure Cons operates on the levels j from l to 0. For eachj, the procedure looks at each relevant j-square J and each full partial cover F of
J, computes P = FJ
[0,j−1] and then uses Procedure Proc to compute C = Proc(J,F)∪ FJ
j. Finally, it updatesT(J,P) to Cprovided this entry was still
undefined or its previous weight was higher thanω(C).
The main algorithm operates as follows. For each choice ofv, h, LetRbe the set of relevant squares andR0the set of relevant squares without a parent. Then
the algorithm outputs the minimum ofω(J∈R0T(J,∅)) over all pairsv, h. In the analysis, deferred to the full paper, we prove that for each relevant
j-square J and partial cover P, the table entry T(J,P) is a minimum weight (J,P)-completion, and that for a minimum-weight cover M ⊆ D(v, h) for Y
and a relevant j-squareJ, MJ
[0,j] is semi-disjoint. Verifying that the algorithm
is polynomial in the input size, we have the following result. Theorem 3. The MSRCproblem admits a PTAS.
References
1. M. Charikar and R. Panigary. Clustering to minimize the sum of cluster diameters. InProc. 33rd ACM Symp. on Theory of Computing, July 2001.
2. B.N. Clark, C.J. Colbourn, and D.S. Johnson. Unit disk graphs. Discrete Mathe- matics, 86:165–177, 1990.
3. T. Erlebach, K. Jansen, and E. Seidel. Polynomial-time approximation schemes for geometric graphs. InProc. 12th ACM-SIAM Symp. on Discrete Algorithms, 2001. 4. C. Glasser, S. Reith, and H. Vollmer. The complexity of base station positioning in
cellular networks. InProc. ICALP Workshops, 167–177. Carleton Press, 2000. 5. D.S. Hochbaum and W. Maas. Approximation schemes for covering and packing
problems in image processing and VLSI. J. ACM, 32:130–136, 1985.
6. H.B Hunt, S.S. Ravi, M.V.Marathe, D.J.Rosenkrantz, V.Radhakrishnan, and R.E.Stearns. NC-approximation schemes for NP-and PSPACE-hard problems for geometric graphs. Journal of Algorithms, 26(2):238–274, 1998.
7. R.Z Hwang, R.C.T Lee, and R.C. Chang. The slab dividing approach to solve the Euclidian p-center problem. Algorithmica, 9:1–22, 1993.
8. R.J. Lipton and R.E. Tarjan. A separator theorem for planar graphs. SIAM J. on Applied Math., 36(2):177–189, April 1979.