A Polynomial-Time Approximation Scheme for Facility Location on Planar Graphs
Vincent Cohen-Addad, Marcin Pilipczuk, Micha{\l} Pilipczuk

TL;DR
This paper presents a polynomial-time approximation scheme for the Facility Location problem on planar graphs, achieving near-optimal solutions efficiently and resolving a long-standing open problem in the field.
Contribution
The authors develop the first PTAS for Facility Location on planar graphs, providing a significant advancement in approximation algorithms for this classic problem.
Findings
Achieves a (1+ε)-approximate solution in quasi-polynomial time.
Resolves the open problem of PTAS existence for Facility Location on planar graphs.
Provides a new algorithmic framework for similar geometric and graph problems.
Abstract
We consider the classic Facility Location problem on planar graphs (non-uniform, uncapacitated). Given an edge-weighted planar graph , a set of clients , a set of facilities , and opening costs , the goal is to find a subset of that minimizes . The Facility Location problem remains one of the most classic and fundamental optimization problem for which it is not known whether it admits a polynomial-time approximation scheme (PTAS) on planar graphs despite significant effort for obtaining one. We solve this open problem by giving an algorithm that for any , computes a solution of cost at most times the optimum in time .
Click any figure to enlarge with its caption.
Figure 1
Figure 2Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
A Polynomial-Time Approximation Scheme for Facility Location
on Planar Graphs††thanks: This work is a part of projects CUTACOMBS (Ma. Pilipczuk) and TOTAL (Mi. Pilipczuk) that have received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreements No. 714704 and No. 677651, respectively).
Vincent Cohen-Addad
Sorbonne Université, CNRS, Laboratoire d’informatique de Paris 6, LIP6, F-75252 Paris, France [email protected].
Marcin Pilipczuk
Institute of Informatics, University of Warsaw, Poland, [email protected].
Michał Pilipczuk
Institute of Informatics, University of Warsaw, Poland, [email protected].
{textblock}
20(0, 12.5)
{textblock}20(-0.25, 12.9)
We consider the classic Facility Location problem on planar graphs (non-uniform, uncapacitated). Given an edge-weighted planar graph , a set of clients , a set of facilities , and opening costs , the goal is to find a subset of that minimizes .
The Facility Location problem remains one of the most classic and fundamental optimization problem for which it is not known whether it admits a polynomial-time approximation scheme (PTAS) on planar graphs despite significant effort for obtaining one. We solve this open problem by giving an algorithm that for any , computes a solution of cost at most times the optimum in time .
1 Introduction
We study the classic Facility Location objective in planar metrics. Given an edge-weighted planar graph , together with a set of vertices called clients, a set of vertices called candidate facilities, and opening costs , the Facility Location problem asks for a subset of that minimizes .
The Facility Location objective is a model of choice when trying to identify the best location for public infrastructures such as hospitals, water tanks or fire stations, or when looking for the best location for warehouses or delivery stores. More recent applications also include prepositionning transportation resources such as bikes, scooters, or cabs. This has made Facility Location a fundamental problem that attracted a lot of attention over the years, both in theoretical computer science and in operations research communities. Since the problem is NP-hard, but one is often satisfied with a near-optimum solution, a large volume of work was devoted to the design of approximation algorithms [1, 7, 10, 8], culminating with the -approximation algorithm by Li [9]. Unfortunately, there is no chance of going much beyond this result, as the problem is known to be NP-hard to approximate within factor better than -approximation [6].
Therefore, a natural route is to consider restricted metrics arising in applications. For example, when the underlying metric of the application is a road networks, the shortest path metric induced by edge-weighted planar graphs is model of choice. Thus, it has been a long standing open question whether Facility Locations admits a polynomial-time approximation scheme on planar graphs. For the uniform case, this was resolved only recently in the affirmative by Cohen-Addad et al. [3] using a simple local search algorithm: given a current set of solution , determine whether there exists a solution of better cost that differs from by at most centers. If so, take as the new solution and repeat, otherwise output . However, no such approach is known to work in the nonuniform case and, in fact, it is easy to show that the same local search heuristic would provide a solution of cost at least twice the optimum in the worst-case for planar inputs. This has been a major roadblock since local search is the only technique we know so far for obtaining approximation schemes to min-sum clustering objectives such as the classic -median, -means or for uniform facility location, despite a significant effort from the community. In fact, and perhaps surprisingly, such a situation is not unique. For the problem of computing a maximum independent set of pseudo-disks, local search yields a PTAS in the unweighted case and it remains an important open problem as whether a PTAS exists for the weighted case [2]. Thus, obtaining a PTAS for the “weighted” version of some problems seems a much harder task than for the unweighted case.
Our main result is a polynomial-time approximation scheme for the (nonuniform, uncapacitated) Facility Location problem in planar graphs. From a complexity perspective, our result refutes APX-hardness of Facility Location on planar graphs (unless ). From a techniques perspective, we believe that our approach provides a new set of interesting tools, such as for example a “metric-Baker” layering tailored to min-sum objectives (and so of a different nature than the “metric-Baker” used for -center in recent works [5, 4]). More formally, we show that following theorem.
Theorem 1**.**
*Given a Facility Location instance , where is a planar graph, and an accuracy parameter , one can in time compute a solution of cost at most times the optimum cost. *
We now describe the structure of the proof and our algorithm. To do so conveniently, let us first introduce some terminology: we define for a set , the connection cost of is as and the opening cost of as .
The first step of our algorithm is to compute an -approximate solution to a modified input instance where every opening cost is scaled down by a factor of . This solution is computed through a greedy procedure and has the following satisfying properties: it is still an -approximation to the original instance, and interestingly it reveals a lot of structure of the input graph metric. This structure will be crucial for the proof of Theorem 1. Indeed, the proof of the theorem and our algorithm can be broken into two pieces. The first one consists in a partitioning of the instance into separate, more structured, and almost independent sub-instances (based on the output of the greedy procedure). The second one is a heavily technical dynamic programming algorithm for solving these sub-instances.
To understand how the two pieces articulate, we need to introduce a couple of definitions. Let be an opened facility and let be the set of clients connected to in the solution (i.e., consists of these clients for which is the closest facility from ). The average cost of is defined as:
[TABLE]
At a high-level, the sub-instances will be defined by dividing the metric space according to the clustering induced by : putting in the same instance the clusters of that have roughly the same values. More concretely, a deep analysis of the structure of the approximate solution and an intricate Baker-type layering step based on average costs of the facilities of yields an instance such that (i) all values of for are within constant ratio from each other, and (ii) for every and the distance is within constant ratio of . This is described in Section 2. The second part of the algorithm described in Section 3, consists mainly of our technical dynamic programming algorithm for solving the instances produced in the first part.
2 Reducing to the constant scope of the average costs
Setup.
We shall work with an instance where is a planar edge-weighted graph, is a set of clients, is a set of facilities, and defines the opening cost of facilities. We shall assume that is embedded in a sphere and that distances between pairs of vertices of are finite and pairwise distinct.
For a set of clients and solution , by we denote the contribution of clients from to the connection cost of and by the opening cost of . That is,
[TABLE]
We write for . Thus, the cost of is defined as . For the remainder of this section, let us fix some optimum solution in , and we denote .
We consider the accuracy parameter ; w.l.o.g. we assume that . Our goal is to compute a -approximate solution for some constant , so that can be scaled appropriately at the end.
Recall that the considered problem admits a constant-factor approximation for the problem: as shown by Li [9], given an instance of non-uniform facility location one can in polynomial time find a solution of cost at most times the optimum, where . We apply this algorithm to the input instance, obtaining a solution , and we rescale the distances and the opening costs by the same factor so that
[TABLE]
Note that this means that the total contribution of edges of length less than and facilities of opening cost less than to any solution is bounded by , where by we denote the optimum cost of a solution. Thus, at the cost of paying at most we may assume that all edges of length less than can be traversed for free, hence we may simply contract them. Similarly, we zero the opening costs of all facilities whose opening cost is less than . Therefore, we assume that all edges in have weight at least and all opening costs are either [math] or at least , while
[TABLE]
Robust approximate solution.
Let us consider the modified instance
[TABLE]
that is, the instance is the same as but all the opening costs are scaled down by a multiplicative factor of . For a solution , we denote the cost of in the instance by ; note that . Note that for any , we have .
We apply the aforementioned -approximation algorithm of Li [9] to the instance . Furthermore, we will need the following property from the returned approximate solution :
[TABLE]
This is trivially true for any and to ensure that this holds for every , we make use of the following greedy process. As long as there exists a facility that violates the condition above, we add it to .
Finally, at the end of this greedy process we remove from all facilities that do not serve any client, that is, we remove all facilities such that for every we have . Note that this step does not increase the cost of and does not break property (2). We now start analysing the structure of .
We start by verifying that is actually an -approximate solution in the original instance.
Lemma 2**.**
*We have . *
Proof.
Recalling that is an optimum solution in , we have that
[TABLE]
On the other hand, is an -approximate solution in , hence
[TABLE]
Finally, as observed before we have
[TABLE]
Combining the above three inequalities yields the claim.
Let be a nonempty set of facilities. For a facility , the -cluster of , denoted , is the set of all clients that are served by in the solution ; that is:
[TABLE]
Note that since distances between pairs of vertices in are pairwise different, the -clusters are pairwise disjoint. In the sequel we will most often work with -clusters, hence we use shorthands: a cluster means a -cluster and for we denote .
The next lemma intuitively says the following: for any subset of clients, its connection cost in is not much larger than its connection cost .
Lemma 3**.**
For any subset of clients we have
[TABLE]
Proof.
For any , let
[TABLE]
Observe that the right hand side of the inequality is equal to .
Consider modifying the solution by opening facility , for any , and applying (2). If in solution we consider directing all clients of to and all other clients as in , then
[TABLE]
By summing the above inequality through all , we infer that
[TABLE]
This establishes the claim.
For any , we define the average cost of as
[TABLE]
Recall here that is nonempty for each as we removed from all facilites that do not serve any clients. Moreover, we have
[TABLE]
Next, we prove that for every cluster for any , there is always a facility of the optimum solution that is not far from , measured in terms of . We first state the lemma in a very abstract form so that we can apply it later in various settings.
Lemma 4**.**
Let be a Non-Uniform Facility Location instance, a nonempty set of facilities, a nonempty set of clients, and let be a facility. Assume that
[TABLE]
*Then . *
Proof.
Let
[TABLE]
Observe that every client has to be served in solution by a facility that is at distance more than from , implying by triangle inequality that
[TABLE]
Take solution . By considering directing all the clients of to , and all other clients as in , we observe that
[TABLE]
This implies that as desired.
Corollary 5**.**
*For every there exists such that . *
Proof.
The claim is obvious for . Otherwise, we apply Lemma 4 to the instance , optimum solution , the facility , and . The optimality of implies then that .
Concentrating the clusters.
We now analyze every cluster for and show that, at the cost of changing the value of only slightly, we may assume that all clients of have connection cost w.r.t. not differing much from . More precisely, we would like to get rid of clients that are far and close according to the following definition: for , let
[TABLE]
Moreover, we define
[TABLE]
Let
[TABLE]
For each let us pick any vertex of that is at distance exactly from (subdividing some edge, if a priori there is none). Construct from by performing the following operation for each : move all clients of to , thus placing clients at . Similarly, for we define to be the image of under this operation, i.e. with clients from replaced as above.
Let
[TABLE]
that is, is constructed from by replacing the client set with . Let be the minimum cost of a solution in the instance . We now verify that in order to find near-optimum solution to , it suffices to find a near-optimum solution to .
Lemma 6**.**
We have
[TABLE]
Moreover, for every , we have
[TABLE]
Proof.
For the first inequality, note that we have
[TABLE]
Let us analyze the last summand first. Observe that for each and , we have
[TABLE]
Thus, using (3) we have
[TABLE]
We are left with analyzing the middle summand of the right hand side of (4). Observe that we have
[TABLE]
By Lemma 3 applied to , we infer that
[TABLE]
and thus we have
[TABLE]
For every , let be the facility of that is closest to . By Corollary 5 we have that
[TABLE]
Now, for every we have
[TABLE]
where in the second step we used . Summing this inequality through all and we obtain that
[TABLE]
which means that
[TABLE]
By combining (4), (5), (6), and (7) we infer that
[TABLE]
This establishes the first inequality.
For the second inequality, again by triangle inequality we have
[TABLE]
The last summand has already been estimated in (5), so we are left with analyzing the middle summand. Observe that for each and , we have
[TABLE]
where the last inequality follows from and . Thus, we have
[TABLE]
By combining (8), (5), and (9) we obtain that
[TABLE]
This concludes the proof.
Lemma 6 immediately implies the following: any near-optimum solution to is also a near-optimum solution to .
Corollary 7**.**
For any , if
[TABLE]
for some , then
[TABLE]
Proof.
First, note that . Then we have
[TABLE]
as claimed.
Thus, by Corollary 7 we may focus on finding a near-optimum solution to instance instead of . The instance , however, has the following concentration property that will be useful later on: for every and , we have
[TABLE]
Finally, we check that solution is still not too expensive in the instance .
Lemma 8**.**
For every it holds that
[TABLE]
In total, we have
[TABLE]
Proof.
Recall that
[TABLE]
Thus, to show (10), it suffices to prove that
[TABLE]
For each , we have and , hence . On the other hand , hence for each we have . This proves (10).
By summing (10) over all we obtain that
[TABLE]
as claimed.
Note that in Lemma 8, the left hand side of (11) is lower bounded by , but is not necessarily equal to it, as the clients of each cluster are assigned to , which may cease to be the closest facility after moving a client.
Layering on magnitudes of the average cost.
We now work with the instance . The goal is to use the obtained properties of clusters to break the instance into several independent ones at the cost of additionally paying , so that each of the instances concerns only clients from clusters with average cost of the same magnitude. This is because such instances can be solved efficiently using the following crucial lemma, whose proof will be given later.
Lemma 9**.**
Suppose we are given an instance of Non-uniform Facility Location where is planar. Moreover, we are provided a real and a set of facilities such that the clients of can be partitioned into nonempty clusters so that the following properties hold for each :
- •
* for each ; and*
- •
.
*Then, given , one can in time compute a solution to with cost at most , where . *
Breaking into separate instances that can be treated using Lemma 9 will be done using layering on the levels of magnitude of average costs of facilities from . While the layering itself will be quite standard, the proof of the separation property between the instances will be quite non-trivial and will require the fine understanding of properties of that we have developed.
Let us partition the facilities of into layers , where comprises facilities satisfying
[TABLE]
For , let
[TABLE]
By Lemma 8, we have
[TABLE]
Let . Pick such that is minimum. Then by (8) and the fact that we infer that
[TABLE]
Now, define
[TABLE]
Set will be called the -ring. It follows that and form a partition of .
Intuitively, the idea is to construct a near optimum solution by buying all the facilities of and using them to serve all clients served by them in (the cost of this is bounded by by (13)), and constructing an instance for each nonempty ring that is subsequently approximated using Lemma 9. However, we need to prepare those instances carefully so that they can be solved separately.
To this end, we heavily rely on Lemma 4 that more or less says that one needs to open a facility within of for every . This, together with the exponential scale of average costs, implies that while focusing on the ring we do not need to understand how the solution to rings for looks like (namely, what are the precise locations of the facilities); instead, we just put one zero-cost facility at every that mimicks the closest opened facility, this will be satisfying up to losing a factor .
Let us now proceed with formal details. Denote
[TABLE]
For every we create the following instance :
- •
The graph is the graph from the original instance;
- •
, that is, all clients in clusters of facilities from the ring ;
- •
are all facilities from the input;
- •
for every with and every , and otherwise.
Note that the sets are pairwise disjoint and together with form a partition . For every let be the set of facilities with redefined to [math] in the definition of .
Observe also that if , then : the instance is trivial and it admits the empty set as the optimum solution. The algorithm does not really need to construct these instances (and thus in fact constructs at most instances ), but we prefer to define them for the sake of clarity of notation. We henceforth call the instances trivial if and nontrivial otherwise.
We now verify that it suffices to solve each instance separately. This is done through two lemmas. In the first one, we show how to combine solutions to the instances into a solution to the instance .
Lemma 10**.**
Assume we are given sets for every nontrival instance . Then one can construct in polynomial time a set such that
[TABLE]
Proof.
For every nontrivial instance and for every we check whether opening would not decrease the cost of in ; if this is the case, we add to . We also add to as it does not increase the cost of . Henceforth we assume that for every nontrivial instance and every it holds that
[TABLE]
We define for every trivial instance . Note that property (15) also holds for the trivial instances. Let for every ; note that for trivial . Let
[TABLE]
We claim that satisfies the requirements of the lemma; it is clearly computable in polynomial time as for trivial . Note that for every .
For a facility , let be the set of clients served by in the solution to ; that is, is the set of these for which is the closest facility from . Consider redirecting, in the solution to the instance , all clients from to , for every . Then we have:
[TABLE]
We bound the three summands in the inequality above separatedly. By (13), the first summand is bounded by . Since for every , we have for the second summand:
[TABLE]
We now estimate the third summand. Consider a nontrivial instance and a facility . Recall that . By applying Lemma 4 to the instance , solution , facility , and set we infer that (15) ensures that there exists with
[TABLE]
Plugging now the bound of Lemma 8, we obtain
[TABLE]
We now observe the following.
Claim 1**.**
For every facility , we have
[TABLE]
Proof.
Since all but a finite number of -s are empty, we can proceed by induction on , assuming the claim holds for all . Take any . If then and we are done. Otherwise, , so for some . By (16), there exists such that
[TABLE]
By induction assumption for , we have
[TABLE]
Hence, we have
[TABLE]
as required.
By Claim 1, for every and with for some we have the following:
[TABLE]
By summing the above bound through all and we obtain
[TABLE]
Since , we can combine the obtained bounds as follows:
[TABLE]
This concludes the proof.
The second lemma shows that optima in instances almost partition the optimum in .
Lemma 11**.**
For , let be the cost of the optimum solution of . Then
[TABLE]
Proof.
Let be an optimum solution to . For every let be the maximum value of such that there exists with . If no such exists, we set to be the minimum value of for which is nontrivial. For every we define
[TABLE]
note that for trivial . Our goal is to estimate by plus some terms of the order of . First, it is immediate from the definition that . Clearly, for trivial we have and . Let be nontrivial. Consider a client ; by the definition of , there exists with .
Let be the facility that serves in the solution , that is, . We consider cases depending on the relation of and .
Case 1: . By the definition of , there exists with . Therefore
[TABLE]
Case 2: . Here and thus .
Case 3: . Supposing that , Lemma 4 applied to the (optimal) solution in with facility and yields that there exists with
[TABLE]
Here, the penultimate inequality follows from Lemma 8. If , then we can take and the above inequality also holds.
By the definition of we have that . On the other hand, while . Since , we infer that is not the closest to facility of , a contradiction. We infer that this case is impossible.
We conclude that in any case, we have
[TABLE]
By summing this bound through all the clients and adding opening costs to both sides, we obtain
[TABLE]
where in the last inequality we use Lemma 6. This finishes the proof of the lemma.
We conclude this section with the observation that it remains to prove Lemma 9 in order to show a polynomial-time approximation scheme for Non-Uniform Facility Location in planar graphs. After initial preprocessing of the input instance , Corollary 7 asserts that it suffices to find a -approximate solution to .
To this end, we break into instances . For every nontrivial , we scale all the edge lengths and opening costs of by a factor of and define and for every . Note that partitions . Let
[TABLE]
Then, since for every we have
[TABLE]
and for every it holds that
[TABLE]
we infer that after scaling the distances, for every and . Furthermore, (17) together with Lemma 8 imply the second condition of Lemma 9.
Consequently, the algorithm Lemma 9 applied to prepared as above with accuracy parameter (instead of ) runs in time and returns a solution of cost (after scaling back again all the edge weights and opening costs) satisfying
[TABLE]
where
[TABLE]
Observe that
[TABLE]
Thus Lemma 10 allows us to combine the solutions into a solution to of cost satisfying:
[TABLE]
By Lemma 11, this value is at most
[TABLE]
Finally, we may apply Corollary 7 to conclude that
[TABLE]
as required. Consequently, it remains to prove Lemma 9.
3 Dynamic programming algorithm
3.1 Overview
Before we proceed to the formal proof of Lemma 9, we give a short overview. The approach is based on a rather standard layering argument plus portal-based Divide&Conquer. While the formal reasoning is quite lengthy due to a number of technical details that require attention, we hope that presenting an intuitive description of consecutive steps will help the reader with guiding through the proof.
Suppose is an optimum solution to instance . The first realization is that enjoys a similar proximity property as expressed in Lemma 4. Namely, every client is at distance at most from some facility of . The argument is essentially the same: supposing all clients from some cluster for had connection costs larger than in the solution , one could improve by opening facility and rediricting all clients from to . Otherwise, some client from is within distance at most from , which implies that all of them are at distance at most .
This proximity property allows us to apply standard layering. We fix a vertex and classify facilities from of the graph into layers of width according to distances from : layer comprises facilities satisfying . With every facility we can associate its contribution to , equal to . Now, denoting , there exists such that the total contribution of facilities from layers with is at most . Hence, by paying cost we may open these facilities and direct all clients from their clusters to them. Now it is easy to see that we have a separation property: instance can be decomposed into instances , where concerns connecting all clients from clusters of facilities of to facilities within distance between and from , which can be (approximately) solved separately. This is because in the optimum solution, no client-facility path used for connection crosses any of the entirely bought layers due to having length at most .
Let us focus on one instance . We may contract all vertices at distance less than onto and remove all vertices at distance more than , as these vertices anyway will not participate in any shortest path used by an optimum solution. Thus, we essentially achieve a small radius property in : one may assume that all vertices are at distance at most from .
The idea is to compute a near-optimum solution to using Divide&Conquer on balanced separators, presented as dynamic programming. Using standard separation properties of planar graphs one can show that the graph (or rather its plane embedding) admits a hierarchical decomposition into regions so that the decomposition has depth at most and every region is boundaried by a union of at most shortest paths, all with one endpoint in . Thus, each of these paths has length . We apply dynamic programming over this decomposition, where we put portals on the boudaries of regions to limit the number of states. That is, along each path we put portals spaced at , for some parameter , and we allow paths connecting clients with facilities to cross region boundaries only through portals. Since the decomposition has depth , each connection path in the optimum solution can be “snapped to portals” to conform with this requirement by using at most snappings, incurring a total additional cost of . Therefore, we put so that this error is bounded by , which summed through all clients yields an error term in total. Thus, the total number of portals on the boundary of each region is .
In the dynamic programming state associated with a region , we are concerned about opening facilities within to serve all clients in . However, on the boundary of we have portals that carry information about the assumed interaction between the parts of the overall solution within and outside of . For every portal , this information consists of two pieces:
- •
request that gives a hard request on the sought solution within : there has to be a facility opened at distance at most from ;
- •
prediction that gives a possibility of connecting clients to portals: every client can be connected to at connection cost .
Intuitively, predictions represent “virtual” opened facilities residing outside of , which can be accessed at an additional cost given by , while by satisfying requests we make sure that predictions in other regions can be fulfilled. Since all client-facility paths in the optimum solution are of length at most , we may assume that all requests and predictions in all considered states are bounded by . At the cost of an additional error term we can also assume that requests and predictions are rounded to integer multiples of . Thus, for every portal we can limit ourselves to possibilities for and same for .
Let us estimate the number of states constructed so far. For each of portals on the boundary of we have possibilities for and for , yielding a total number of states being , which is quasi-polynomial. As transitions in this dynamic programming can be implemented efficiently, this already yields a QPTAS, and we are left with reducing the number of states to polynomial.
The final trick is to take a closer look at what we store in the states. Since stores the requested distance to the closest facility opened within , it is safe to assume that (before rounding to integer multiples of ) will be -Lipschitz in the following sense: for any two portals , we have
[TABLE]
An analogous reasoning can be applied to predictions, so we can assume that is -Lipschitz as well. Now consider any of the shortest paths comprising the boundary of , say . On this path we put portals spaced at , say for in the order on . As argued, after rounding we have possibilities for , but observe that once (rounded) is chosen, there are only at most possibilites for : it must be an integer multiple of that differs from by at most , due to . Hence, the total number of choices for the values of requests along is bounded by . Same argument applies to predictions, and as the boundary of consists of at most such paths, the total number of states we need to consider is .
3.2 Proof of Lemma 9
We now proceed with the formal proof of Lemma 9. For the remainder of this section, let us fix the setting and the notation from the statement of Lemma 9.
Fix an optimum solution in the instance . We first prove that in fact, every client is not too far from its closest facility in .
Lemma 12**.**
*For each there exists such that . *
Proof.
Let be such that ; then . We shall prove that there exists some client and facility such that . Indeed, if this is true, then we have , as required.
Suppose otherwise: for each , the distance from to the closest facility from is larger than . As is nonempty, the total connection cost incurred by clients from in solution can be lower bounded as follows:
[TABLE]
This means that the solution has a strictly smaller cost than , which contradicts the optimality of .
Let be the subgraph of induced by all vertices whose distance from is at most . Observe that all clients of are placed at vertices of . Lemma 12 now immediately implies the following.
Lemma 13**.**
*It holds that and for every we have . *
Proof.
For the first assertion, by the optimality of , for every there exists some client such that is the facility of closest to . By Lemma 12 we have . If now is such that , then . Hence , so .
For the second assertion, observe that by Lemma 12, for every client , the shortest path from to a facility of traverses only vertices that are at distance at most from the facility satisfying . It follows that the distance from to is the same in as in
Let consist of all the facilities that are placed at vertices of , and let . We observe that Lemma 12 implies that we can work with instance instead of .
Corollary 14**.**
*For every , we have . Moreover, we have and consequently . *
Proof.
The first assertion is straightforward, because is an induced subgraph of , hence distances between vertices of are not smaller in than in . For the second assertion, observe that by Lemma 12 we have and for every client , hence the connection cost of in and in are the same. As the opening costs are also obviously the same, we conclude that indeed . This, together with the first assertion, immediately entails .
From now on we will assume that the graph is connected. This can be achieved either by connecting the connected components using edges of very large (but finite) weight, or applying the forthcoming reasoning to every connected component of separately and taking the union of obtained solutions.
Fix any vertex and partition the vertices of into layers as follows: for we set:
[TABLE]
Let . Denote . Since is a partition of , it follows that there exists such that denoting , we have
[TABLE]
Moreover, obviously such can be found in polynomial time. For , define the -th ring as
[TABLE]
For future reference, we note that rings are separated from each other.
Lemma 15**.**
*For any different and and , we have . *
Proof.
By the definition of and and since , we have . Then the statement follows by triangle inequality.
The idea now is to buy the facilities of and connect the clients from to the centers of their clusters — which incurs cost at most by (18) — and to construct a separate instance for each ring so that these instances can be solved independently. We now carefully define those instances.
Fix and construct graph obtained from in the following manner:
Remove all vertices of satisfying . 2. 2.
Contract all vertices of satisfying onto ; we shall use the name also for the vertex obtained as the result of this contraction. 3. 3.
For every vertex that, after the contraction explained above, becomes a neighbor of , we assign the edge weight .
Note that in the second, the set of vertices contracted onto induces a connected subgraph of , and thus the contraction is well-defined and preserves the planarity. We shall identify vertices of with their origins in in the obvious way.
In essence, graph retains all the relevant information about distances between vertices of . This is formalized in the following lemma.
Lemma 16**.**
The following assertions hold for each :
- (P1)
For every pair of vertices , we have . 2. (P2)
For every vertex , we have . 3. (P3)
For every pair of vertices satisfying and , we have .
Proof.
For assertion (P1), it suffices to observe that every path in with endpoints and can be lifted to a path in of the same length by substituting any edge incident to , say , by the shortest path between and in . For assertion (P2), we already know that , and to see that we may observe that on the shortest path in from to , vertices contracted onto form a prefix; this prefix can be then replaced by a single edge of the same weight. For assertion (P3), the assumption that implies that in , the vertex is at distance more than from any vertex that is removed or contracted onto in the construction of . Hence, the shortest path from to in survives the construction of intact.
Fix
[TABLE]
For future reference, we also note the following observation.
Lemma 17**.**
*Let be a shortest path in from to some vertex . Then the length of (i.e. with the first vertex removed) is smaller than . *
Proof.
Let be the successor of on the path . By the construction of we have that which in particular means that
[TABLE]
Since lies on the shortest path from to , it follows that the length of the suffix of from to (which is ) is equal to the , which in turn is smaller than .
Having defined the graph , we define the facility set and client set as follows:
[TABLE]
Note that and . Finally, we put
[TABLE]
that is, the opening costs are inherited from the original instance . We now prove that by paying a small cost, we may solve instances separately.
Lemma 18**.**
We have
[TABLE]
Moreover, for any sequence of solutions to instances , respectively, we have
[TABLE]
Proof.
For each , let be the set consisting of all facilities with the following property: there exists a client for which is the closest facility from . By Lemmas 12 and 13, we have for all , while from the definition of it further follows that for all . Also, every client is at distance at most from the center of its cluster, which is a facility of that resides in . Hence, every facility is at distance at most from . By Lemma 15 and triangle inequality we now infer that sets are pairwise disjoint. Moreover, we have and thus can be treated as a solution to the instance Therefore, by Lemma 16, assertions (P1) and (P3), we have
[TABLE]
completing the proof of the first assertion.
For the second assertion, since and form a partition of , we have
[TABLE]
where in the second inequality we use Lemma 16, assertion (P1), while in the last inequality we use (18).
Hence, from now on we focus on finding a near-optimum solutions to instances , for each for which , as such solutions can be combined into a near-optimum solution to using Lemma 18, which is then a near-optimum solution to by Corollary 14. This will be done by dynamic programming. Fix for which is non-empty. For brevity, in the following we write for . Before we proceed, let us observe that enjoys the same proximity property as , expressed in Lemma 12.
Lemma 19**.**
*Suppose is an optimum solution in the instance . Then for each there exists such that . *
Proof.
Apply the same reasoning as in the proof of Lemma 12, noting that all relevant vertices and paths are completely contained due to being at distance at most from .
Getting a suitable decomposition.
Our dynamic programming will work over a suitable decomposition of the graph . To define this decomposition, we will need some structural understanding of and its embedding.
Recall that we assume that is embedded in a sphere . We shall assume that is triangulated, as we can always triangulate it using edges of weight . Let be the set of faces111We use here instead of usual in order to avoid using the same letter as for facility sets. of . For future reference, we let be a function that assigns to every vertex of an arbitrary face incident to .
Let be the spanning tree of shortest paths from . That is, if for each by we denote the shortest path from to in , then is the union of paths . Let be the spanning subgraph of the dual of consisting of edges of that are dual to the edges not belonging to . It is well-known that is then a spanning tree of .
Let
[TABLE]
that is, for each edge of we add to two (oriented) arcs: and . For an arc , let denote the set of those faces of that are contained in this connected component of with (unoriented) removed that contains the head of . For nonempty , we denote
[TABLE]
and we put by convention. We may now state and prove the decomposition lemma that we shall need; in the following, all logarithms are base .
Lemma 20**.**
In polynomial time one can compute a rooted tree together with a labelling of nodes of with subsets of such that the following holds:
- (T1)
* has depth at most ;* 2. (T2)
for each node of , we have ; 3. (T3)
if is the root of , then ; 4. (T4)
for each leaf of , we have ; 5. (T5)
each non-leaf node of has at most children, and if denotes the set of children of , then
[TABLE]
Proof.
A subset of nodes of is connected if it induces a connected subtree of . For a subset of nodes , by we denote the set of edges of with one endpoint in and second outside of . Let a block be any nonempty, connected subset of nodes such that . Note that since is triangulated, is a tree with maximum degree at most , so every node of constitutes a single-node block.
We observe the following.
Claim 2**.**
*Every block with admits a partition into at most blocks, each of size at most . *
Proof.
Let be the set of all the nodes of that have a neighbor (in ) outside of . Then and, consequently, there exists a node such that every connected component of contains at most one node of . Further, it is well known that in there exists a balanced node: a node such that every connected component of has at most nodes. Then has at most connected components, and it is straightforward to see that each of them is a block and contains at most nodes. Hence, as , for the promised partition of into blocks we can take the node sets of the connected components of , plus blocks and (or just , in case ).
We now construct the tree together with labeling by recursively applying Claim 2 as follows. We start with the block and, as long as the currently decomposed block has size larger than , we apply Claim 2 to and recursively decompose all the blocks comprising the obtained partition. Then is the tree of this recursion and the nodes of can be naturally labelled with blocks decomposed in corresponding calls; thus, the root of is labelled by , while the leaves of are labelled by single-node blocks. Finally, for every node of , say associated with a block , we set to consist of edges of oriented towards endpoints belonging to . It is straightforward to verify that the obtained pair satisfies all of the required properties. Also, the above reasoning can be trivially translated into a polynomial-time algorithm computing .
Thus, Lemma 20 essentially provides a hierarchical decomposition of the face set of using separators consisting of six-tuples of shortest paths originating in : two per each arc in . The idea is to put portals on those separators and run a bottom-up dynamic programming on the tree that assembles a near-optimum solution while snapping paths to the portals along the way. First, however, we need to understand how to put portals on paths in .
Portalization.
Let be a set of vertices of and let be a function. For positive reals and reals , we shall say that is
- •
-discrete if all its values are integer multiples of ;
- •
-bounded if every its value is either or belongs to the interval ; and
- •
Lipschitz with slack if
[TABLE]
A function that is -discrete, -bounded, and Lipschitz with slack will be called -normal.
For portalization of shortest paths we shall use the following lemma.
Lemma 21**.**
*Let be a shortest path in with one endpoint in and let . Then one can find a set of at most vertices on with the following property: for every vertex on , there exists such that . Moreover, for any reals , the number of functions on that are -normal is at most , and such functions can be enumerated in time . *
Proof.
Let . Let , i.e., is with the first vertex removed. Then, by Lemma 17, the length of is smaller than .
Let and be the endpoints of ; then is the shortest path connecting and . Partition the vertices of into intervals , where such that comprises vertices of satisfying ; since the length of is smaller than , each of the vertices of is placed in one of these intervals. Observe that vertices within every interval are pairwise at distance smaller than . Therefore, we may construct a suitable set for the path by taking one vertex from each interval that is non-empty; thus, has size at most . Finally, we set .
We now bound the number -normal functions on . Note that there are at most possibilities for the value , as this value is either an integer multiple of between and , or . Therefore, it suffices to bound the number of -normal functions on by . Recall that , hence there are at most choices on which portals will be assigned value . Supposing that this choice has been made, we bound the number of choices of (finite) values on remaining portals. Let be the indices such that portals chosen to be assigned finite values are in intervals . As above, there are at most possibilities for the value . However, for , the value must satisfy inequality
[TABLE]
As has to be an integer multiple of , once has been chosen, there are at most choices for the value of . Hence, having chosen , the number of choices for the remaining values is bounded by
[TABLE]
Since , we conclude that the total number of -normal functions on is bounded by , as required.
The above reasoning can be trivially used to construct the promised enumeration algorithm.
Defining subproblems.
As expected, in dynamic programming we will need to solve more general subproblems, where portals on boundaries of these subproblems are taken into account. Formally, in an instance of the generalized problem we are working with:
- •
The original set of available facilities , which we denote for consistency; this set is always the same in all instance of the generalized problem, and is equipped with the original opening cost function .
- •
A subset of relevant clients ; this set varies in instances of the generalized problem.
- •
A set of portals , which are vertices of .
- •
A prediction function .
- •
A request function .
Whenever considering an instance of the generalized problem, all distances are measured in . Note that we allow negative requests and predictions.
Consider an instance of the generalized problem. For a solution , the connection cost of a client is defined as
[TABLE]
That is, every client can be connected either to a facility of at the cost of the distance to this facility, or to a portal at the cost of the distance to this portal plus its prediction. Note that portals are always all open, so the factor is independent of the solution . We will say that is served by the facility or portal for which the minimum above is attained.
A solution is feasible if for every portal with , its request is satisfied in the following sense:
[TABLE]
Note that the request of a portal has to be satisfied by a facility included in the solution; it cannot be satisfied by another portal. Again is served by the facility for which the minimum above is attained.
To analyze the approximation error, we will need to gradually relax the feasibility constraint. For this, for a nonnegative real we shall say that a solution is -near feasible if for every portal with there exists a facility with . That is, we relax all requests by an additive factor of .
Finally, for , a solution is -close in if
[TABLE]
The cost of a solution is defined as
[TABLE]
Note that the connection costs of portals do not contribute to the cost of the solution. They are only used to define (near) feasibility of a solution. Thus, every portal essentially puts a hard constraint that there needs to be a facility opened within some distance from it. By we denote the minimum cost of a feasible solution to .
The intuitive meaning of predictions and requests in the dynamic programming are as follows. In the following, think of dynamic programming over the decomposition provided by Lemma 20 as a recursive algorithm that breaks the given instance into simpler ones (whose number is at most ), solves them using subcalls, and assembles the obtained solutions into a solution to the input instance. Whenever we break the instance using some separator, which constists of a constant number of shortest paths, we put portals along them using Lemma 21 in all the obtained subinstances. For every portal we guess in which subinstance lies the closest facility that is open in the (unknown) optimum solution, and we approximately guess the distance from to this facility (up to additive accuracy , to be defined later). This allows us to define the requests and predictions in subinstances: in the subinstance that is guessed to contain we put a request on to make sure that some facility at this distance is indeed open there, while in other subinstances we put a prediction on , so that solutions in these subinstances may use a virtual, “promised” facility at distance from .
Since recursion has depth by Lemma 20, condition (T1), the rounding error will accumulate through levels. Therefore, we needed to put and make rounding errors of magnitude at each level, so that the total error is kept at . Precisely, we fix
[TABLE]
Dynamic programming states.
Once we have defined the generalized problem with portals, we may formally define the instances solved in the dynamic programming. For every vertex of , we may apply Lemma 21 to and , thus obtaining a suitable set of vertices of size at most .
For each node of , we define
[TABLE]
where is the set of edges of dual to the arcs of . Note that by condition (T5) of Lemma 20, we have
[TABLE]
Observe also that if is the root of , then and . Finally, the following lemma expresses the crucial separation property provided by the decomposition .
Lemma 22**.**
Let and be nodes of that are not in the ancestor-descendant relation, and let and . Then there exists a portal such that
[TABLE]
*Furthermore, the same holds when is an ancestor of and . *
Proof.
Let be the set of edges of that are dual to the arcs of , and let be the set of endpoints of these edges. Consider removing all paths for and all edges of from the plane. Then the plane breaks into several connected components, out of which one consists of exactly the faces of . It follows that every path connecting a vertex from with a vertex that does not belong to has to intersect one of the paths for some . Observe that . Moreover, if and are not in the ancestor-descendant relation in , then and are disjoint, implying . Also, if and is an ancestor of , then either lies on one of the paths for , or .
In both cases we conclude that the shortest path connecting and , call it , has to intersect the path for some . Let be any vertex in the intersection of these two paths. Then, by Lemma 21, there exists such that . We conclude that
[TABLE]
as required.
For every node of , we define to be the set of all functions from to . Further, let be the subset of all those functions from that are -normal; in the sequel, when saying just normal we mean being -normal. While is infinite, is finite and actually of polynomial size.
Lemma 23**.**
*For each node of we have that and can be enumerated in time . *
Proof.
By Lemma 17, for each vertex of the number of normal functions on is at most . Observe that is the union of at most sets of the form , for vertices that are endpoints of edges dual to the arcs . Hence every normal function on can be described by a -tuple of such functions on sets of the form for as above. Thus, we have as well. Moreover, since normal functions on can be enumerated in time for each vertex , to enumerate it suffices to enumerate all -tuples of functions as above, and filter out those -tuples whose union is either ill-defined or is not Lipschitz with slack . This takes time .
Now, for every and pair , we define the instance of the generalized problem as follows:
[TABLE]
Before the explaining how these instances are going to be solved using dynamic programming, let us verify that the subproblem at the root of corresponds to the instance that we are trying to (approximately) solve.
Lemma 24**.**
Suppose is the root of and, noting that , we let . Then, for any , every -near feasible solution to satisfies
[TABLE]
In particular, we have
[TABLE]
Proof.
The first assertion follows immediately by observing that the formulas for and are the same, because there are no portals in . The second assertion follows immediately from the first by observing that every solution to is -near feasible for any , because in there are no portals.
Computing transitions.
We first show that the subproblems in the leaves of can be solved in polynomial time. For this, we use the following lemma.
Lemma 25**.**
*There is an algorithm that given an instance of the generalized problem and , finds the least expensive -near feasible solution to in time , where is the total number of distinct vertices on which the clients of are placed. *
Proof.
Let be the set of distinct vertices on which are placed, and for let be the number of clients placed at vertex . We perform standard dynamic programming over subsets of and of , where we keep track of the cost of connecting any subset of portals and any subset of vertices of , while introducing candidate facilities one by one. Precisely, let be the facilities of , enumerated in any order. Then for every , , and , define value to be the smallest cost of a -near feasible solution contained in , where in the near-feasibility check we consider only requests of portals from , and in the connection cost computation we consider only clients placed at vertices from . Then it is easy to see that the function satisfies the following recursive formula.
[TABLE]
Using the above formula, we can in time compute all the values of the function , and return as the sought minimum cost. A -near feasible solution attaining this cost can be retrieved from dynamic programming tables by standard means within the same running time.
Corollary 26**.**
*Suppose is a leaf of and is a given real. Then, in total time one can compute, for each , the least expensive -near feasible solution to . *
Proof.
To compute each solution , we apply the algorithm of Lemma 25 to instance for and . Since is a leaf of , all clients in lie on the unique face of (Lemma 20, condition (T4)), hence they are all place on distinct three vertices. Therefore, the running time used by each application of the algorithm of Lemma 25 is . Since the number of pairs is , the total running time follows.
We now proceed to the main point: how to compute values for a node of based on values for its children. We first introduce even more helpful notation. For a non-leaf node of , let ; then .
For a non-leaf node of , define
[TABLE]
For each we have a natural restriction operator that maps every tuple from to its -component. Next, define
[TABLE]
Operator can be then regarded as an operator from to by considering acting coordinate-wise.
Having defined sets , , and , we define sets , , and by replacing with in the definitions. Since every node of has at most children (Lemma 20, condition (T5)), by Lemma 23 we have that and all sets can be computed in time . Then we also have that
[TABLE]
and all the sets can be computed in time .
We now describe tuples from that may be used in the dynamic programming to combine solutions from smaller subproblems into a solution to a larger subproblem. The intuition here is that when breaking a subproblem into smaller ones, we have to ensure that requests and predictions appropriately match so that solutions to smaller subproblems can be combined to a solution to the original subproblem.
Definition 27**.**
Consider a non-leaf node of . We shall say that a pair and a pair are compatible (denoted ) if the following two conditions hold:
- (C1)
For every with there exists and such that . 2. (C2)
For every and with , there either exists with , or there exists and with .
Observe that given and , it can be verified in polynomial time whether .
Finally, we formulate and prove two lemmas that will imply the correctness of our dynamic programming. The first one concerns combining solutions to smaller subproblems into solutions to larger subproblems. The second one concerns projecting solutions to larger subproblems to solutions to smaller subproblems.
Lemma 28**.**
Suppose is a non-leaf node of and let and be compatible. Suppose further that, for all , is a feasible solution to the instance , where . Then
[TABLE]
is a feasible solution to the instance and, moreover,
[TABLE]
Proof.
For brevity, we shall denote and . Also, let and .
We first verify that is a feasible solution to . Take any portal with . Since , by (C1) there exists and such that . As is a feasible solution to , there exists such that . Then as well and
[TABLE]
which certifies that the request of is satisfied by . Hence, is indeed a feasible solution to .
We are left with proving the postulated upper bound on . Take any client . As form a partition of , there exists a unique node satisfying . Then there either exists a facility satisfying
[TABLE]
or there exists a portal satisfying
[TABLE]
In the former case, since we can conclude that
[TABLE]
In the latter case, by (C2) either exists with , or there exists and with . In the first subcase we conclude that
[TABLE]
which again establish inequality (19) in this subcase. On the other hand, in the second subcase there exists a facility with . As as well, we infer that
[TABLE]
Hence, again inequality (19) is satisfied.
We conclude that in every case, inequality (19) holds. Summing this inequality through all clients and adding to both sides yields yields that , as required.
Lemma 29**.**
Suppose is a non-leaf node of . Suppose further that is such that all predictions involved in are nonnegative, and is a -near feasible -close solution to , for some reals . Then there exist that is compatible with and -near feasible -close solutions to instances for , where , such that
[TABLE]
*Moreover, all request and prediction functions involved in are -normal, and all predictions involved in are nonnegative. *
Proof.
Denote and . For each , let
[TABLE]
Then form a partition of .
For any and , we shall say that is facility-important if
- •
there exists a facility and a client served by in such that ; or
- •
there exists a facility and portal with served by in such that .
Further, is client-important if
- •
there exists a client and a facility that serves in such that ; or
- •
there exists a client and a portal that serves in such that .
We observe the following.
Claim 3**.**
Let for some . If is facility-important, then
[TABLE]
If is client-important, then
[TABLE]
Proof.
Recall that is -close in . When is facility-important due to the first alternative in the definition, we have
[TABLE]
here and in the following, we assume notation from the definition. Also, when is facility-important due to the second alternative, we have
[TABLE]
Now, if is client-important due to the first alternative in the definition, then we have
[TABLE]
Also, when is facility-important due to the second alternative, we have
[TABLE]
This concludes the proof.
For a real , let be the largest integer multiple of that is not larger than , and be the smallest integer multiple of that not smaller than . That is,
[TABLE]
We now define . Consider any and . We put
[TABLE]
Clearly, functions and are -discrete and, as functions of under rounding are Lipschitz, they are also Lipschitz with slack . We are left with verifying that these functions are also -bounded, and are compatible, is a -near feasible -close solution to for each , where , and that the postulated lower bound on holds. We prove these properties in the following claims.
Claim 4**.**
*For each , the function is -bounded and the function is -bounded. *
Proof.
First, take any that is facility-important (as otherwise anyway). Then by definition and by Claim 3. Next, take any that is client-important (as otherwise anyway). Then by definition and by Claim 3.
Claim 5**.**
*It holds that and are compatible. *
Proof.
We first verify condition (C1). Take any with . Since is a -near feasible solution to instance , there exists such that
[TABLE]
Then for some , and in particular . By Lemma 22, there exists a portal such that
[TABLE]
In particular is facility-important, so combining the above with the definition of we obtain
[TABLE]
this directly implies (C1).
We now verify condition (C2). Take any for any with . Then is client-important, so there exists a client and either a facility serving and satisfying , or a portal serving such that . We consider these two cases separately.
Suppose the first case holds. Since serves in , for any and , we have
[TABLE]
Then we also have
[TABLE]
and similarly
[TABLE]
Therefore, by the definition of , we have
[TABLE]
As , there exists such that . Then, by Lemma 22, there is a portal such that
[TABLE]
We note that
[TABLE]
implying that is facility-important. Therefore, by the definition of we infer that
[TABLE]
Combining all the above we infer that
[TABLE]
which establishes (C2) in this case.
Suppose now the second case holds. Since serves in , for any and , we have
[TABLE]
Using the same reasoning as in the first case, but considering expression instead of , we infer that
[TABLE]
which establishes (C2) in this case as well.
For the next claim, recall that form a partition of .
Claim 6**.**
Let and let be the unique node satisfying . Then the following holds.
[TABLE]
Proof.
By the definition of , there either exists a portal such that
[TABLE]
or there exists a facility such that
[TABLE]
Suppose the first case holds. By Lemma 22, there exists a portal such that
[TABLE]
In particular, is facility-important. By the definition of , we have
[TABLE]
By combining the above we conclude that
[TABLE]
This establishes (21) in this case.
Now suppose the second case holds. Since is a partition of , there exists such that . If , then we have
[TABLE]
so (21) indeed holds in this situation. Assume then that . By Lemma 22, there exists a portal such that
[TABLE]
In particular, is facility-important. By the definition of , we have
[TABLE]
By combining the above we conclude that
[TABLE]
Hence, again (21) holds in this case.
Claim 7**.**
*It holds that . *
Proof.
The claimed upper bound on follows by adding the thesis of Claim 6 through all clients , and adding the opening costs of facilities of to both sides.
Claim 8**.**
*For each , is a -near feasible -close solution to . *
Proof.
We first verify the -near feasibility. Take any with ; then is facility-important. By the definition of , there exists a facility such that
[TABLE]
as required.
We now verify the -closeness. Claim 6 asserts that for each we have
[TABLE]
which by -closeness of implies that
[TABLE]
This is the first condition of the -closeness. For the second condition, consider any with . In particular, is facility-important, so there exists a facility and either a client served by such that , or a portals served by such that . By -closeness of in , in the first case we have
[TABLE]
while in the second case we have
[TABLE]
In both cases, we conclude that , as required.
Claims 4, 5, 7, and 8 conclude the proof.
The algorithm.
We are finally ready to present the whole algorithm. First, using the algorithm of Lemma 20 in polynomial time we compute the tree together with sets for nodes of . For each node we compute the portal set and the set of functions , as explained before; this takes total time , since is of size . Sets give rise to sets and as defined before.
The remaining, main part of the algorithm is summarized using pseudo-code as Algorithm . We process the nodes of in a bottom-up manner. For each node , say at depth , and each , we construct the instance and compute an -near feasible solution to it as follows. If is a leaf, we use the algorithm of Corollary 26 to compute the least expensive -near feasible solution . Otherwise, we iterate over all such that and are compatible, and consider all candidate solutions defined as
[TABLE]
Here, is the pre-computed soluton to the instance . Out of these candidate solutions we take the least expensive one and we declare it as .
Finally, we return as computed solution, where is the root of . This concludes the description of the algorithm and we are left with analyzing its running time and approximation guarantee.
Lemma 30**.**
*Algorithm runs in time . *
Proof.
It suffices to observe that, by Corollary 26 and Lemma 28, the time spent on processing every node of is bounded by . Since the number of nodes of is , the total running time follows.
Lemma 31**.**
Algorithm returns a solution to the instance satisfying
[TABLE]
Proof.
Let be an optimum solution to the instance . By Lemma 24, is also an optimum feasible solution to the instance , where is the root of , Furthermore, by Lemma 19 we infer that is -close in .
By applying Lemma 29 in a top-down manner along the tree , we obtain, for every node of , an element and a solution to the instance such that the following holds:
- •
whenever is not a leaf, we have that is compatible with ;
- •
is a -near feasible -close solution in , where is the depth of in ;
- •
all request and prediction functions involved in are -normal, and all prediction functions are nonnegative;
- •
whenever is not a leaf, it holds that
[TABLE]
Recall that has depth at most . Therefore, whenever is the depth of a node in , implying that all request and prediction functions involved in elements are -normal. We infer that
[TABLE]
Recall also that for each non-leaf node of , we have that form a partition of . Therefore, by combining inequalities (22) in a bottom-up manner along we infer that
[TABLE]
Again, as whenever , for each leaf of the solution is -near feasible in . Hence, due to (23) for each leaf the algorithm computes an -near feasible solution to satisfying
[TABLE]
For each non-leaf node of , define solution to instance by a bottom-up induction: . Then by (23) and the fact that for every non-leaf , we have that for each node , the algorithm computes a solution to of cost at most . In particular, if we denote , where is the root of , then the solution returned by the algorithm has cost at most . Hence, we proceed with upper bounding .
For each node of let us define tuples of functions and (here, only when is not a leaf) as follows:
[TABLE]
That is, is obtained from by adding to all requests and all predictions on all portals of , and similarly for . Note that for each non-leaf node of , we still have the following properties:
- •
for each , and
- •
and are compatible.
However, the shift in requests and predictions makes the following assertion hold for each leaf of :
[TABLE]
That is, we obtained feasibility instead of -near feasibility at the cost of increasing the cost of the solution.
Denoting the set of leaves of that are descendants of , we may now apply Lemma 28 through a bottom-up induction along the tree to infer the following for each node of :
[TABLE]
In particular, assertion (27) holds for the root of . Then, we may use assertions (24), (25), and (26) to infer the following:
[TABLE]
It now suffices to use Lemma 24 to infer that and ; this combined with the above concludes the proof.
We now conclude the proof of Lemma 9. Apply Algorithm to each instance for which is non-empty, yielding a solution . As the number of such instances is at most , by Lemma 30 this takes total time . As the final solution return , where we set whenever . Then, by Lemmas 18 and 31 we have
[TABLE]
Finally, we observe that since for each client , we have
[TABLE]
Therefore, we conclude that
[TABLE]
It now remains to apply Corollary 14 to infer the same inequality for instance instead of , and to rescale by a multiplicative factor of .
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] V. Arya, N. Garg, R. Khandekar, A. Meyerson, K. Munagala, and V. Pandit. Local search heuristics for k-median and facility location problems. SIAM J. Comput. , 33(3):544–562, 2004.
- 2[2] T. M. Chan and S. Har-Peled. Approximation algorithms for maximum independent set of pseudo-disks. Discrete & Computational Geometry , 48(2):373–392, 2012.
- 3[3] V. Cohen-Addad, P. N. Klein, and C. Mathieu. Local search yields approximation schemes for k 𝑘 k -means and k 𝑘 k -median in Euclidean and minor-free metrics. In FOCS 2016 , pages 353–364. IEEE Computer Society, 2016.
- 4[4] D. Eisenstat, P. N. Klein, and C. Mathieu. Approximating k 𝑘 k -center in planar graphs. In SODA 2014 , pages 617–627, 2014.
- 5[5] E. Fox-Epstein, P. N. Klein, and A. Schild. Embedding planar graphs into low-treewidth graphs with applications to efficient approximation schemes for metric problems. In SODA 2019 , pages 1069–1088, 2019.
- 6[6] S. Guha and S. Khuller. Greedy strikes back: Improved facility location algorithms. J. Algorithms , 31(1):228–248, 1999.
- 7[7] D. S. Hochbaum. Heuristics for the fixed cost median problem. Math. Program. , 22(1):148–162, 1982.
- 8[8] K. Jain and V. Vazirani. Approximation algorithms for metric facility location and k -median problems using the primal-dual schema and Lagrangian relaxation. J. ACM , 48(2):274–296, 2001.
