We study a general family of facility location problems defined on planar graphs and on the two-dimensional plane. In these problems, a subset of k objects has to be selected, satisfying certain packing (disjointness) and covering constraints. Our main result is showing that, for each of these problems, the nO(√k) time brute force algorithm of selecting k objects can be improved to nO(√k) time. The algorithm is based on an idea that was introduced recently in the design of geometric QPTASs, but was not yet used for exact algorithms and for planar graphs. We focus on the Voronoi diagram of a hypothetical solution of k objects, guess a balanced separator cycle of this Voronoi diagram to obtain a set that separates the solution in a balanced way, and then recurse on the resulting subproblems. The following list is an exemplary selection of concrete consequences of our main result. We can solve each of the following problems in time nO(√ k), where n is the total size of the input: d-Scattered Set: find k vertices in an edge-weighted planar graph that pairwise are at distance at least d from each other (d is part of the input). d-Dominating Set (or (k,d)-Center): find k vertices in an edge-weighted planar graph such that every vertex of the graph is at distance at most d from at least one selected vertex (d is part of the input). Given a set D of connected vertex sets in a planar graph G, find k disjoint vertex sets in D. Given a set D of disks in the plane (of possibly different radii), find k disjoint disks in D. Given a set D of simple polygons in the plane, find k disjoint polygons in D. Given a set D of disks in the plane (of possibly different radii) and a set P of points, find k disks in D that together cover the maximum number of points in P. Given a set D of axis-parallel squares in the plane (of possibly different sizes) and a set P of points, find k squares in D that together cover the maximum number of points in P. It is known from previous work that, assuming the Exponential Time Hypothesis (ETH), there is no f(k)no(√ k) time algorithm for any computable function f for any of these problems. Furthermore, we give evidence that packing problems have nO(√ k) time algorithms for a much more general class of objects than covering problems have. For example, we show that, assuming ETH, the problem where a set D of axis-parallel rectangles and a set P of points are given, and the task is to select k rectangles that together cover the entire point set, does not admit an f(k)no(k) time algorithm for any computable function f.
2022-04-30
2024-11-15