A \((2{+\varepsilon})\)-Approximation Algorithm for Metric \(k\)-Median


Abstract

In the classical NP-hard (metric) \(k\)-median problem, we are given a set of \(n\) clients and centers with metric distances between them, along with an integer parameter \(k \geq 1\). The objective is to select a subset of \(k\) open centers that minimizes the total distance from each client to its closest open center.

In their seminal work, Jain, Mahdian, Markakis, Saberi, and Vazirani presented the Greedy algorithm for facility location, which implies a \(2\)-approximation algorithm for \(k\)-median that opens \(k\) centers in expectation. Since then, substantial research has aimed at narrowing the gap between their algorithm and the best achievable approximation by an algorithm guaranteed to open exactly \(k\) centers, as required in the \(k\)-median problem. During the last decade, all improvements have been achieved by leveraging their algorithm (or a small improvement thereof), followed by a second step called bi-point rounding, which inherently adds an additional factor to the approximation guarantee.

Our main result closes this gap: for any \(\varepsilon> 0\), we present a \((2+\varepsilon)\)-approximation algorithm for the \(k\)-median problem, improving the previous best-known approximation factor of \(2.613\). Our approach builds on a combination of two key algorithms. First, we present a non-trivial modification of the Greedy algorithm that operates with only \(O(\log n{/\varepsilon^2})\) adaptive phases. Through a novel walk-between-solutions approach, this enables us to construct a \((2+\varepsilon)\)-approximation algorithm for \(k\)-median that consistently opens at most \(k + O(\log n{/\varepsilon^2})\) centers: via known results, this already implies a \((2+\varepsilon)\)-approximation algorithm that runs in quasi-polynomial time. Second, we develop a novel \((2+\varepsilon)\)-approximation algorithm tailored for stable instances, where removing any center from an optimal solution increases the cost by at least an \(\Omega(\varepsilon^3/\log n)\) fraction. Achieving this involves several ideas, including a sampling approach inspired by the \(k\)-means++ algorithm and a reduction to submodular optimization subject to a partition matroid. This allows us to convert the previous result into a polynomial time algorithm that opens exactly \(k\) centers while maintaining the \((2+\varepsilon)\)-approximation guarantee.

1 Introduction↩︎

Given a collection \(D\) of \(n\) points, a clustering is a partition of the points into (typically) disjoint subsets (the clusters) such that points in the same cluster are similar and points in different clusters are dissimilar. One of the classical and best-studied clustering problems is \(k\)-median (see also Table 1). Here, in addition to the set \(D\) (points are also called clients in this framework), we are given an integer parameter \(k>0\) and a set \(F\)6 (the facilities or centers), with metric distances \(d(a,b)\) for \(a,b\in D\cup F\). Our goal is to select \(k\) centers \(S\subseteq F\) (open centers) so as to minimize the sum of the distances from each client to the closest open center. In other words, the goal is to minimize the following objective function \[\text{cost}(S):=\sum_{j\in D} \min_{i\in S}d(i,j).\] The \(k\)-clustering induced by \(S\) is obtained by considering, for each \(c\in S\), the subset of points that have \(c\) as a closest center in \(S\) (breaking ties arbitrarily). We use \(\text{opt}_k\) to denote the optimal cost, and simply use \(\text{opt}\) when \(k\) is clear from the context.

For most clustering variants, it is NP-hard to compute an optimal clustering and metric \(k\)-median is no exception. For this reason a lot of effort was devoted to the design of (polynomial-time) approximation algorithms for this problem, i.e., algorithms that compute a feasible solution \(S\) whose cost is provably within some factor \(\alpha>1\) of \(\text{opt}\) (the approximation factor or approximation ratio/guarantee).

Most of the best-known approximation algorithms for \(k\)-median, including the current-best one [1], [2], are based on the following high-level approach (see Section 1.2 for alternative approaches in the literature). One considers the associated facility location problem, where instead of \(k\) we are given a (uniform) facility opening cost \(f\). In this problem a feasible solution \(S\) can contain an arbitrary number of centers/facilities (rather than \(k\)), however in the objective function, besides the connection cost \(cost(S)\), one has to pay also the opening cost \(f|S|\). Then one uses a Lagrangian Multiplier Preserving (LMP) \(\alpha_{LMP}\)-approximation for the problem (formal definition in Section 1.3) to construct a bi-point solution for \(k\)-median, i.e., a convex combination of a solution \(S_1\) (opening fewer than \(k\) centers) and a solution \(S_2\) (opening more than \(k\) centers), that opens exactly \(k\) centers in a fractional sense. In particular, sampling one of the two solutions according to the respective coefficients would give a solution of expected cost \(\alpha_{LMP}\cdot \text{opt}\) that opens \(k\) centers in expectation. Finally, a bi-point rounding algorithm is used to derive a feasible \(k\)-median solution, while losing another factor \(\alpha_{BPR}\) in the approximation. The product \(\alpha_{LMP}\cdot \alpha_{BPR}\) gives the overall approximation factor. We remark that the state of the art leaves a significant gap between the approximation factor for a solution with \(k\) centers in expectation and a true \(k\)-median solution.

Table 1: Progression of approximation factors for \(k\)-median. Dependencies on \(\varepsilon\) are omitted due to numerical overestimation, except for [3] and the final result.
Reference Approximation factor Technique
[4] \(O(\log n \log\log n)\) tree embeddings
[5] \(O(\log k \log\log k)\) tree embeddings
[6] 6.667 dependent LP rounding
[7] 6 LMP + bi-point rounding
[8], [9] 4 LMP + bi-point rounding
[3] \(3+\varepsilon\) local search
[10] 2.733 LMP + bi-point rounding
[11] 2.675 LMP + bi-point rounding
[1], [2] 2.613 LMP + bi-point rounding
Theorem [thm:main] \(2+\varepsilon\) LMP interpolation + stable algorithm

In more detail, for the LMP stage, [7] gave a \(3\)-approximation algorithm which was subsequently improved to \(2\) by [8], [9], and then to \(2-\eta\) for some \(\eta > 2.25\cdot 10^{-7}\) by [1]. [7] also presented a factor \(2\) algorithm for the bi-point rounding stage. \(\cite{LiS16}\) subsequently improved this to a factor \(\frac{1+\sqrt{3}}{2} \approx 1.366\) when allowing to use \(k+O(1)\) many centers7, and also gave a polynomial-time algorithm for obtaining a proper \(k\)-median clustering from a \(k+O(1)\) clustering essentially without any loss in the approximation ratio. This approach was further refined by [11] who gave a \(1.337\)-approximate bi-point rounding algorithm and also showed that no LP-based rounding algorithm can do better than \(\frac{1+\sqrt{2}}{2}\). The state of the art for rounding methods is due to [2] who gave a \(1.306\)-approximation algorithm, while showing that no algorithm can do better than \(\sqrt{\phi} \approx 1.272\), where \(\phi = \frac{1+\sqrt{5}}{2}\) is the golden ratio.

Unfortunately, there is an inherent limitation to this approach. No approximation algorithm for the LMP stage can do better than \(1+2/e\) [8], [9], and using the lower bound for bi-point rounding algorithms by [2], the best possible analysis cannot yield an approximation factor better than \((1+2/e)\sqrt{\phi}\approx 2.207\). This leaves a significant gap to the inapproximability lower bound of \((1+2/e)\approx 1.735\) [8], [9], and even to the best-known approximation algorithm that opens \(k\)-centers in expectation [1], which achieves an approximation guarantee of \(2-\eta\) for some small \(\eta>0\).

1.1 Our Results↩︎

Our main result is stated as follows. (As commonly done, we use "with high probability" to mean that an event occurs with probability at least \(1 - 1/\text{poly}(n)\).)

Theorem 1. For every \(\varepsilon>0\), there is a randomized polynomial-time algorithm for \(k\)-median that returns a solution with cost at most \((2+\varepsilon)\text{opt}\) with high probability.

The algorithm in our main theorem combines two novel algorithms. First, we address the limitations of the bi-point rounding method by introducing a non-trivial variant of the classic Greedy algorithm [8], [9]. The Greedy algorithm can be highly adaptive in that tiny changes to the opening cost \(f\) may lead to vastly different solutions \(S\) and \(S'\), where \(|S| < k\) and \(|S'| > k\), forcing previous bi-point rounding approaches to incur a large additional factor in the approximation guarantee. We resolve this high-adaptivity by presenting a low-adaptivity version, which makes adaptive decisions in only \(O(\log(n)/\varepsilon^2)\) phases. This modification intuitively renders the algorithm less adaptive than the original, where each choice depends heavily on previous ones. We then introduce a novel walk-between-solutions algorithm that enables us to return a solution with at most \(k + O(\log(n)/\varepsilon^2)\) centers, with no additional loss in the approximation factor (up to \(1 + \epsilon\)). Specifically, we achieve the following result.

theorempseudoapprox For every constant \(\varepsilon\in (0, 1/6)\), there is a polynomial-time algorithm for \(k\)-median that returns a solution containing at most \(k+ O(\log n/\varepsilon^2)\) many centers and of cost at most \((2+\varepsilon)\text{opt}\).

Theorem [thm:pseudo-approx] is proved in Section 3, and an overview of the main ideas is given in Section 2.1. Combining this result with the [10] reduction from \(k\)-median pseudo-solutions to true \(k\)-median solutions already yields a \((2+\varepsilon)\)-approximation in quasi-polynomial time. In order to improve this to a polynomial time algorithm, we use a completely different algorithm. We say that an instance is \(\beta\)-stable if \(\text{opt}_{k-1} \geq (1+\beta)\cdot \text{opt}_{k}\). Our result is as follows.

theoremstableapprox For any two constants \(\varepsilon, \zeta>0\), there exists a randomized polynomial-time algorithm that, given a \((\zeta/\log n)\)-stable \(k\)-median instance, returns a solution of cost at most \((2+\varepsilon)\text{opt}\) with high probability.

The algorithm for stable instances is inspired by a recent fixed-parameter-tractable approach that essentially identifies, by enumeration, small-radius balls guaranteed to contain the optimal centers and then solves the problem by maximizing a submodular function subject to a partition matroid constraint. However, there are two major challenges: first, the running time of [12] is not polynomial even when \(k = O(\log n)\); and second, because \(k\) may be large (potentially polynomial in \(n\)), we need to identify almost all clusters of the optimal solution before proceeding with any guessing/enumeration steps. We address these challenges through several novel ideas, including a sampling approach based on the \(k\)-means++ algorithm. The proof of Theorem [thm:mainadditivecenters] is presented in Section 4, with an overview of the techniques provided in Section 2.2.

Let us see why Theorems [thm:pseudo-approx] and [thm:mainadditivecenters] combine to yield Theorem 1. We compute a few feasible solutions. Let \(\Delta\) be the surplus number of centers used in Theorem [thm:pseudo-approx]. Let \(k'=\max\{1,k-\Delta\}\). One solution is obtained by computing the optimum solution with one center for \(k'=1\), and otherwise by running the algorithm from Theorem [thm:pseudo-approx] with the number of centers being \(k' = k-\Delta\). If \(\text{opt}_{k'} \leq \text{opt}_k\cdot (1+\varepsilon)\), this is a good enough approximation. Then we run the algorithm from Theorem [thm:mainadditivecenters] for every \(k'' \in (k',k]\). If the solution with \(k'\) centers computed before is not good enough, then there exists some \(k'' \in (k',k]\) such that \(\text{opt}_{k''-1} \geq (1+\beta)\cdot \text{opt}_{k''}\) with \(\beta \in \Omega(\varepsilon/\Delta) = \Omega(\varepsilon^3/\log n)\) and \(\text{opt}_{k''}\leq (1+\varepsilon)\cdot \text{opt}_{k}\). In this case, Theorem [thm:mainadditivecenters] yields the desired result for a proper choice of the parameters. Outputting the best of all computed solutions yields Theorem 1.

For Euclidean spaces, the set of candidate centers is infinite. By a standard reduction, we can find a polynomial-sized set \(F\subset \mathbb{R}^d\) in polynomial time such that the cost of any constant factor approximate solution is approximated by a set of centers obtained from \(F\), see for example Lemma 5.3 of [13]. Thus we also obtain a \((2+\varepsilon)\)-approximation in Euclidean spaces, improving on \(2.406\) [14].

Finally, let us remark that Theorem 1 essentially closes the gap between the approximation guarantee of the best-known algorithm that opens \(k\) centers in expectation [1] and algorithms that consistently open at most \(k\) centers. However, a major open problem remains: obtaining a tight approximation result for \(k\)-median, as it is only known that it is hard to approximate the problem within a factor less than \((1 + 2/e)\) [8]. Building on this work, a natural next step would be to resolve this question or to significantly improve the approximation guarantee, even in the setting where \(k\) centers are opened in expectation.

1.2 Related Work↩︎

We already reviewed the LMP-based approximation algorithms earlier. But there are several other important results for \(k\)-median and closely related problems which we cover here.

There also exist other approaches for designing approximation algorithms for metric \(k\)-median, most notably local search [3], [15][17], combinatorial algorithms [18], metric embeddings [4], [5], [19], or other LP-based rounding approaches [20][22]. There has also been a lot of work for the related problems \(k\)-means and \(k\)-center, which minimize the sum of squared distances and the maximum distance, respectively. Specifically for \(k\)-center, [23], [24] gave a \(2\)-approximation which is optimal unless \(P\neq NP\). \(k\)-means admits a \((9+\varepsilon)\)-approximation in general metrics [25]. In addition, both \(k\)-median and \(k\)-means have been studied in \(d\)-dimensional Euclidean spaces, where a PTAS is possible when either \(d\) or \(k\) are fixed [13], [26][28]. If neither \(d\) nor \(k\) are fixed, the approximation factors for Euclidean \(k\)-median and \(k\)-means are also better than their general metric counterparts [25], [29], with the best known approximation ratio being \(5.913\) for \(k\)-means and, prior to our work, being \(2.406\) for \(k\)-median by [14]. Both in high dimensional Euclidean spaces as well as general metrics, all of these aforementioned problems are APX hard [8], [30][34].

LMP-based approaches are also very relevant for the related facility location problem. Mahdian et al. [35] showed that an LMP \((1+2/e)\)-approximation yields a \((\gamma_{GK} \approx 1.463)\)-approximation for UFL, which matches the hardness result of Guha and Khuller [36] where \(\gamma_{GK}\) is the solution of \(\gamma = 1 + 2e^{-\gamma}\). Nevertheless, most improvements do not rely on an LMP approach. Following a long line of research [8], [9], [35], [37][41], Li presented an algorithm with the currently best known approximation ratio of roughly \(1.488\) [42].

1.3 Preliminaries↩︎

We are given a set of \(n\) clients \(D\) and set of \(m\) potential centers or facilities \(F\). Given a set \(S\subseteq F\), we use \(d(j,S)=\min_{i\in S} d(j,i)\), where \(d\) is the underlying distance function. \(\tilde{O}(x)\) suppresses \(\text{polylog}(x)\) factors, and \(O_\varepsilon(x)\) suppresses polynomial factors in \(\varepsilon\). We use \([a]^+ = \max(a,0)\). We already defined the \(k\)-median problem. The uncapacitated facility location problem \((UFL)\) with uniform opening costs is given a non-negative number \(f\) and asks to find a set \(S\subseteq F\) minimizing \[\text{cost}_{UFL}(S)=\sum_{j\in D}d(j,S) + f\cdot |S|.\] We refer to \(\sum_{j\in D} d(j,S)\) as the connection cost and \(f\cdot |S|\) as the opening cost. Let \(x_{i,j}\) denote in the indicator variable for serving client \(j\) with facility \(i\) and let \(y_i\) be the indicator variable for opening facility \(i\). Relaxing these to continuous variables in \([0,1]\), the LP relaxation to \(k\)-median and UFL are given by the following equations:

2 \[\begin{align} \min & \sum_{i\in F,j\in D}d(i,j)x_{i,j} & (LP_{km})\\ s.t. & \sum_{i\in F}x_{i,j}\geq 1 & \forall j\in D\\ & y_i - x_{i,j}\geq 0 & \forall j\in D,i\in F\\ & \sum_{i\in F} y_i \leq k \\ & x, y \geq 0 \end{align}\] \[\begin{align} \\ &\nonumber \\ \min & \sum_{i\in F,j\in D}d(i,j)x_{i,j} + f\cdot \sum_{i\in F}y_i & (LP_{UFL}(f))\\ s.t. & \sum_{i\in F}x_{i,j}\geq 1 & \forall j\in D \\ & y_i - x_{i,j}\geq 0 & \forall j\in D,i\in F \\ & x, y \geq 0 \end{align}\]

The constraint \(\sum_{i\in F}x_{i,j}\geq 1\) ensures that every client is served by some facility and the constraint \(y_i-x_{i,j}\geq 0\) ensures that a client \(j\) can only be served by facility \(i\) if \(i\) is open. Moreover, the dual for the facility location LP relaxation is given by the equations: \[\begin{align} \max & \sum_{j\in D}\alpha_j & (DP_{UFL}(f))\\ s.t. & \sum_{j\in D} [\alpha_j - d(i,j)]^+ \leq f & \forall i\in F \\ & \alpha \geq 0 \end{align}\] The usual interpretation of the \(\alpha_j\) is that they are the budgets for each client, accounting for both connecting the client to a facility, as well as opening a facility. The opening contribution dual variables \(\beta_{i,j}\) obtained from the \(y_i-x_{i,j}\geq 0\) constraints, as well as the dual constraints \(\alpha_j - \beta_{i,j}\leq d(i,j)\) are removed here, as we can always set \(\beta_{i,j} = [\alpha_j-d(i,j)]^+\). Recall that \(\text{opt}=\text{opt}_k\) is the cost of an optimal \(k\)-median clustering. We use \(\text{opt}_{LP}\) and \(\text{opt}_{LP}(f)\) to denote the cost of an optimal solution to \(LP_{km}\) and \(LP_{UFL}(f)\), resp. Trivially \(\text{opt}\geq\text{opt}_{LP}\). Since any feasible solution for \(LP_{km}\) is also feasible for \(LP_{UFL}(f)\), one has \(\text{opt}_{LP}\geq \text{opt}_{LP}(f)-kf\). We will use the fact that, by weak duality, any feasible solution to \(DP_{UFL}(f)\) induces a lower bound on \(\text{opt}_{LP}(f)\). In particular, for any feasible solution \(\alpha\) to \(DP_{UFL}(f)\), we have \(\text{opt}\geq \text{opt}_{LP}(f) - kf\geq \sum_{j\in D} \alpha_j - kf\).

We say that an algorithm is a Lagrangian Multiplier Preserving (LMP) \(\alpha\)-approximation algorithm for UFL if it returns a solution \(S\) with \[\text{cost}(S)\leq \alpha\cdot (\text{opt}_{LP}(f)-f|S|).\]

Finally, we will make the assumption that the distances are integers in \([1,n^3/\varepsilon]\). The justification is given by the following standard reduction.

Lemma 1. For any constants \(\varepsilon> 0\) and \(\alpha>1\), given a polynomial-time \(\alpha\)-approximation algorithm for \(k\)-median on instances with distances in \(\{1,\ldots,n^3/\varepsilon\}\), there exists a polynomial-time \(\alpha(1+O(\varepsilon))\)-approximation algorithm for \(k\)-median on general instances.

Proof. Consider any input instance \((D\cup F,d)\) of \(k\)-median. Assume that \(n:=|D|\) is large enough w.r.t. \(\alpha\), otherwise the problem can be solved by brute force in polynomial time. We guess \(M:=\max_{j\in D}d(j,\text{OPT})\), where \(\text{OPT}\) is some optimal \(k\)-median solution, by trying all the \(n\cdot m\) possibilities. Next, for each \((i,j)\in F\times D\), define \(d'(j,i)=d'(i,j)=\max\{1,\lceil\frac{d(i,j)}{M}\frac{n}{\varepsilon}\rceil\}\) if \(d(i,j)\leq M\). Set all the remaining \(d'(a,b)\), \(a\neq b\), to \(\frac{n^3}{\varepsilon}\). Finally, replace the \(d'(i,j)\)’s with the corresponding metric closure. We run the given \(\alpha\)-approximation algorithm on the \(k\)-median instance \((D\cup F,d')\), hence obtaining a solution \(S\). It is easy to check that \(S\) is a good enough approximation for the input instance. ◻

2 Technical Overview↩︎

In this section, we give an overview of our result. Section 2.1 introduces ideas behind Theorem [thm:pseudo-approx] that achieves a \((2+\varepsilon)\)-approximation while opening \(k + O(\log n / \varepsilon^2)\) centers, and Section 2.2 discusses Theorem [thm:mainadditivecenters] for stable instances.

2.1 \((2+\varepsilon)\)-Approximation with \(O_{\varepsilon}(\log n)\) Extra Centers↩︎

Let us motivate our high-level plan by revisiting the previous framework. The previous best approximation algorithms [1], [2], [11], lis13? for \(k\)-median start by the following initialization step: starting from two LMP approximate solutions for UFL \(S, S' \subseteq F\) with the respective facility costs \(f, f'\) such that \(|S| < k, |S'| > k\)8 and \(f\) possibly much larger than \(f'\), the algorithm uses binary search to obtain two new solutions \((S, f), (S', f')\) such that \(|S| < k, |S'| > k\) and \(|f - f'| \leq 2^{-n}\). This step can be already viewed as a merging step that takes two solutions whose number of facilities sandwich \(k\) and makes them (specifically the facility cost) closer. Then, the natural question is can we merge \(S\) and \(S'\) into the (almost) same set of open facilities so that both open (almost) exactly \(k\) facilities?

One naive implementation of this idea might be the following (from now on, let us assume \(f = f'\)). Just like binary search, suppose that we find an LMP approximate solution \(S''\) which is strictly between \(S\) and \(S'\) in some formal sense. If \(|S''| > k\), we will let \(S' \leftarrow S''\) and otherwise \(S \leftarrow S''\). Then the invariant \(|S| < k\), \(|S'| > k\) is maintained while the two solutions got strictly closer. So we can continue this process until they become the same!

Of course, the main question is whether one can find such \(S''\) given \(S\) and \(S'\). Just like \(S\) and \(S'\), \(S''\) must be an outcome of the LMP approximation algorithm, or at least close to such an outcome in some formal sense. Since being a valid outcome of an algorithm is a highly complex property, especially when the algorithm has a large number of adaptive steps whose action depends on the previous actions, this task remains challenging for a general LMP approximation algorithm.

However, there is an example of success for Jain and Vazirani’s primal-dual [7] algorithm, which gives a LMP \(3\)-approximation. At a high level, this algorithm consists of two phases, where the first phase yields a set \(T\) of tentative open facilities, and the second phase is allowed to choose an arbitrary \(S \subseteq T\) that forms a maximal independent set in an auxiliary graph, so there is a freedom in choosing the independent set. Ahmadian et al. [25] used this freedom to give a walking procedure that finds a maximal independent set in the auxiliary graph of cardinality exactly \(k\), which led to an improved approximation ratio for Euclidean \(k\)-means/\(k\)-median and metric \(k\)-means.

However, the Greedy algorithm [8], [9] with dual-fitting analysis, which guarantees a better \(2\)-LMP approximation, is more adaptive; in fact, it can be a completely deterministic algorithm without leaving any freedom. Therefore, in order to implement our idea, it would be better to find a low-adaptive version of the Greedy algorithm, where the algorithm runs in a small (\(O_{\varepsilon}(\log n)\) in our case) number of phases, and each phase presents some freedom of choices for the algorithm.

2.1.0.1 The Greedy Algorithm.

Let us recall the Greedy algorithm [8], [9]. The algorithm maintains the set \(A\) of active clients and the set \(S\) of open facilities. Initially, all clients are active, i.e., \(A = D\), and no facilities are opened, i.e., \(S = \emptyset\). Additionally, the algorithm maintains dual variables \((\alpha_j)_{j \in D}\), initialized to \(0\).

While there is at least one active client, the algorithm uniformly increases the \(\alpha\)-values of the active clients until there is a facility \(i\) whose "bids" are sufficient to open it (or an active client becomes “close” to an already opened facility). The bids from a client \(j\) to a facility \(i\) depend on whether \(j\) is active or not. If \(j \in A\), then a portion of its budget \(\alpha_j\), specifically \(d(i,j)\), is allocated to cover the connection cost, and the remainder, \(\alpha_j - d(i,j)\), is used to bid towards the facility’s opening cost \(\hat{f} := 2f\). For a client \(j \notin A\), which is already connected to an open facility at a distance \(d(j,S)\), the bid towards \(i\) is the difference in distance, i.e., \(d(j,S) - d(i,j)\) (or \(0\) if \(i\) is farther). Finally, the algorithm marks any client \(j\) with \(\alpha_j \geq d(j,S)\) as inactive, ensuring that at any point in time, active clients \(j\) satisfy \(\alpha_j \leq d(j,S)\).

In order to prove that the algorithm yields an LMP \(2\)-approximation, let \((\alpha^*_j)_{j\in D}\) be the final \(\alpha\) values and \(S^*\) be the set of opened facilities. The design of the algorithm guarantees that the \(\alpha^*\) values pay for both the opening costs of the facilities in \(S^*\) and the connection costs of the clients, leading to \(\sum_{j\in D} \alpha^*_j = \sum_{j\in D} d(j,S^*) + \hat{f} \cdot |S^*|\).

The more interesting part of the analysis is to show that \(\alpha^*/2\) is a dual feasible solution for the dual facility location LP with facility cost \(f\), namely \(\sum_{j \in D}[ \alpha^*_j - 2d(i,j)]^+ \leq \hat{f}\) for every facility \(i\). The dual feasibility follows from two key properties that, at any point in time, (a) \(\alpha_j \leq d(j, S)\) for every \(j \in A\) and (b) for every \(i \in F\), no facility is overbid: \[\sum_{j\in A} [\alpha_j - d(i,j)]^+ + \sum_{j\in D \setminus A} [d(j,S) - d(j,i)]^+ \leq \hat{f}\,. \label{eq:no-overbid-overview}\tag{1}\]

2.1.1 Logarithmic Adaptivity↩︎

As stated, the Greedy is a highly adaptive algorithm; for instance, consider the case when two facilities \(i\) and \(i'\) both become paid for at the same time \(\theta\). Whether we open \(i\) or \(i'\) can dramatically change the bids to future facilities and completely change the trace of the algorithm.

To reduce such high adaptivity, we limit the number of time steps where such decisions are made. Specifically, our high-level goal is to only consider the time steps of the form \((1+\varepsilon^2)^0, (1+\varepsilon^2)^1, (1+\varepsilon^2)^2, \ldots\). Then, as the minimum nonzero distance is \(1\) and the maximum distance is \(\mathrm{poly}(n)\), the total number of time steps that we need to consider is \(O(\log n /\varepsilon^2)\), and this is what we refer to as \(O(\log n)\) adaptivity.

The main difficulty in implementing this idea is to ensure 1 . Consider the situation where all active clients have \(\alpha\) value \(\theta = (1+\varepsilon^2)^t\). If their \(\alpha\) values jump from \(\theta\) to \((1+\varepsilon^2)\theta\), it is possible that a previously underbid facility becomes strictly overbid.

We fix this issue in two steps. The first easy fix is to scale down the metric by a factor of \((1-\delta)\) where \(\delta = O(\varepsilon)\); that is, we consider a facility \(i\) paid for if \[\sum_{j\in A} [\alpha_j - (1-\delta) d(i,j)]^+ + (1-\delta) \sum_{j\in D \setminus A} [d(j,S) - d(j,i)]^+ \geq \hat{f}\,. \label{eq:paid-overview}\tag{2}\] At the cost of losing a factor \(1/(1-\delta)\) in the approximation guarantee, this has the following benefit. If \(i\) is not paid according to 2 when all active clients have \(\alpha_j = \theta\), then even when \(\alpha_j\)’s are increased to \((1+\varepsilon^2)\theta\), for a client \(j\) with \(d(j, i) \geq \varepsilon\theta\), its contribution \([(1+\varepsilon^2)^{t+1} - d(i,j)]^+\) to 1 is at most its previous contribution \([(1+\varepsilon^2)^{t} - (1-\delta) d(i,j)]^+\) to 2 , which makes 1 unlikely to be violated.

Then our second fix deals with active clients close to co-located with \(i\). We do so by allowing the clients \(j\) in the ball \(B(i, \varepsilon\theta)\) to increase their bids for \(i\) up to \(\min((1+\varepsilon^2)\theta, (1-\delta)d(j,S))\), so that if \(i\) could not be opened even with increased bids from nearby clients, then increasing active clients’ \(\alpha\) values from \(\theta\) to \((1+\varepsilon^2)\theta\) should not make \(i\) overbid. These increased bids bring other considerations (e.g., ensuring dual feasibility of other facilities), leading to the following definition of openable facilities, which can be efficiently checked by a linear program.

Definition 1. A facility \(i\) is openable* with respect to the algorithm’s state \((\alpha, S, A, \theta)\) if there are bids \((\tau_j)_{j\in A}\) of active clients that satisfy the following conditions.*

  • Only nearby clients are increased: \[\begin{gather} \tau_j = \alpha_j \qquad for every j \in A - B(i, \varepsilon\theta). \end{gather}\]

  • Nearby clients are only increased slightly: \[\begin{gather} \alpha_j \leq \tau_j \leq \min\{(1-\delta) d(j,S), (1+\varepsilon^2)\theta\} \qquad for every j\in A \cap B(i, \varepsilon\theta). \end{gather}\]

  • Facility \(i\) is paid for: \[\begin{gather} \sum_{j\in A} [\tau_j - (1-\delta)d(i,j)]^+ + (1-\delta) \sum_{j\in D \setminus A} [d(j,S) - d(i,j)]^+ \geq \hat{f}\,. \end{gather}\]

  • Dual feasibility: for every facility \(i_0\) and \(\ell \in A\), \[\begin{gather} \sum_{j \in A} [\tau_j - d(i_0, j)]^+ + \sum_{j \in D \setminus A} [\tau_\ell - 2d(j, i_0) - d(\ell, i_0)]^+ \leq \hat{f}. \end{gather}\]

Figure 1: image.

Given this definition of openability, Section 3.2 presents our modified Greedy algorithm with \(O(\log n)\) phases, LogAdaptive, which is restated here as Algorithm 1. Here a phase is defined to be the run of the algorithm for a fixed value of \(\theta = 1, (1+\varepsilon^2), (1+\varepsilon^2)^2, \dots\), which is broken down to two stages according to the description of Algorithm 1. Note that at least in the beginning, stage 1 allows opening of any openable facility, providing the desired freedom to walk between two solutions within the phase. While stage 1 still presents some adaptivity as an opening of a facility might impact the openability of another, it is sufficient for the merging procedure described in Section 2.1.2.

For the analysis, in Section 3.3, we prove that LogAdaptive yields an LMP \((2+O(\varepsilon))\)-approximate solution for UFL. It is a nontrivial extension of the dual-fitting analysis of the Greedy algorithm for our definition of openability and design of the algorithm.

2.1.2 Merging Two Solutions↩︎

We describe our final algorithm MergeSolutions that maintains two LMP approximate solutions whose number of facilities sandwich \(k\) and gradually merges them until one of them opens almost exactly \(k\) facilities.

2.1.2.1 Setup.

Based on the discussion about LogAdaptive, we will describe a solution \(\mathcal{H}\) as \((H_1, \dots, H_L)\) with \(L = O(\log n / \varepsilon^2)\), where \(H_i\) is a valid execution of stage 1 of phase \(i\) (i.e., when \(\theta = (1+\varepsilon^2)^{i-1}\)), which is formally represented as a sequence of opened facilities. \(H_i\)’s validity also requires maximality, meaning that no openable facility remains in the phase. In order to facilitate the merging, given a phase, we extend the notion of a valid execution to include the following actions.

  • We allow opening a free facility, at most three times per phase. A free facility \(\tilde{i}\) is based on a regular facility \(i \in F\), and when it is created, we can choose the distance parameter \(u(\tilde{i}) = d(\tilde{i}, i)\). All other distances \(d(\tilde{i}, x)\) are defined to be \(u(\tilde{i}) + d(i, x)\).

  • We slightly relax the notion of openability so that one can open a facility \(i\) by paying \(\hat{f} - n \eta\) instead of \(\hat{f}\) for parameter \(\eta := 2^{-n}\) (in the third bullet of Definition 1).

Call \(\mathcal{H}= (H_1, \dots, H_L)\) a solution of \(\eta\)-valid sequences if \(H_i\) is a valid execution (i.e., an \(\eta\)-valid sequence) of the \(i\)th phase in the above relaxed notion given \(H_1, \dots, H_{i-1}\). We extend the analysis of LogAdaptive in Appendix 5 to show that such \(\mathcal{H}\) in the above sense still yields an LMP \((2+O(\varepsilon+ n\eta))\)-approximation, if we do not count the opening cost of the free facilities (while using the connections they provide). Therefore, a solution of \(\eta\)-valid sequences that opens exactly \(k\) regular facilities, and at most \(3\) free facilities per phase, is a \((2+O(\varepsilon+ n\eta))\)-approximation to \(k\)-median that opens at most \(O(L) = O(\log n/\varepsilon^2)\) extra facilities.

Initially, by the standard binary search on the facility cost and running LogAdaptive, we start with two solutions \(\mathcal{H}= (H_1, \dots, H_L)\) and \(\mathcal{H}' = (H'_1, \dots, H'_L)\) with facility costs \(f\) and \(f'\) such that \(|f - f'| \leq \eta\) and their numbers of opened facilities sandwich \(k\). (We will associate parameters \((f, u)\) for \(\mathcal{H}\) and \((f', u')\) for \(\mathcal{H}'\). Also, note that every facility in \(\mathcal{H}\) (resp. \(\mathcal{H}'\)) has cost \(f\) (resp. \(f'\)).) Throughout the algorithm, we will maintain the invariants that (1) \(\mathcal{H}\) and \(\mathcal{H}'\) open the same set of free facilities (so that \(u\) and \(u'\) are defined on the same set), (2) their number of opened regular facilities sandwich \(k\), and (3) \((f, u) = (f', u')\) except for one parameter \(f\) or \(u(\tilde{i})\) for one free \(\tilde{i}\), whose values in the two solutions differ by at most \(\eta\). Call such a parameter the difference parameter.

For each \(i = 1, \dots, L\), we will outline a procedure that, given that the prefixes \((H_1, \dots, H_{p-1})\) and \((H'_1, \dots, H'_{p-1})\) are identical, modifies the suffixes \((H_p, \dots, H_L)\) and \((H'_p, \dots, H'_L)\) such that \(H_p\) and \(H'_p\) become identical while satisfying the above invariants, unless we already find a solution that opens exactly \(k\) regular facilities. This will allow us to gradually merge the solution until one of them opens exactly \(k\) regular facilities (and at most \(O(L)\) free facilities).

2.1.2.2 How to walk in each phase.

Finally, we focus on phase \(p\) and introduce ideas behind ensuring \(H_p = H'_p\). Our first step is to change the difference parameter value of \(\mathcal{H}'\) to that of \(\mathcal{H}\); formally, we let \(\mathcal{H}'' = \mathrm{\small CompleteSolution}_{(f, u)} (H'_1, \dots, H'_p)\), which is the solution resulting from running LogAdaptive from a given partial solution \((H'_1, \dots, H'_p)\) with parameters \((f, u)\) instead of \((f', u')\). Such a change of the difference parameter is the reason for introducing the \(n\eta\) slack for \(\eta\)-valid sequences; for instance, if \(H_i\) was the exact execution with parameters \((f' ,u')\), our Claim 2 shows that it is still \(\eta\)-valid with respect to \((f, u)\).

If \(\mathcal{H}''\) opens \(k\) regular facilities we are done. Also, if the number of open regular facilities of \(\mathcal{H}''\) and \(\mathcal{H}'\) sandwich \(k\), then we already made progress as they now coincide on the \(p\)th phase while still having one difference parameter. Therefore, we only need to handle the case where \(\mathcal{H}''\) and \(\mathcal{H}\) sandwich \(k\), where the difference parameters already became identical but \(H_p\) and \(H'_p\) are different. Let us rename \(\mathcal{H}''\) to \(\mathcal{H}'\).

Now our goal is to gradually change \(H'_p\) to \(H_p\) (i.e., walk from \(H'_p\) to \(H_p\)). Instead of describing the full procedure, which is outlined in Section 3.5, we illustrate the procedure on a particular example. Suppose that \(H_p = \langle i_1 \rangle\), \(H'_p = \langle i_2, \dots, i_{6} \rangle\) where one can open at most one between \(i_1\) and \(i_j\) for any \(j \in \{2, \dots, 6 \}\); this constraint can be expressed as a star graph with \(i_1\) as the center vertex and \(i_2, \dots, i_6\) are only connected to \(i_1\), and a valid solution (i.e., \(\eta\)-valid sequence) here means a maximal independent set. (Suppose that this is the only constraint on openings, so \(H_p\) and \(H'_p\) can be thought of as sets instead of sequences.)

In this example, \(H_p\) and \(H'_p\) are the only two maximal independent sets, so it is impossible to smoothly walk from \(H'_p\) to \(H_p\). Here is where the notion of a free facility becomes useful because we can assume that having a free facility helps maximality while not hurting independence. Then, from \(H'_p\), by (Step 1) adding a free copy of \(i_1\) called \(\tilde{i}_1\) with \(u(\tilde{i}_1) = 0\), (Step 2) removing \(i_2, \dots, i_6\) one-by-one, and (Step 3) converting \(\tilde{i}_1\) to a regular \(i_1\), we obtain a sequence of maximal independent sets where a consecutive pair of independent sets differ by at most one facility. Figure 2 illustrates this process.

Figure 2: How we walk from H'_p to H_p. Dark grey color denotes a free facility and light grey color denotes regular open facilities.

For each intermediate \(H'_p\), we consider its completion (i.e., \(\mathrm{\small CompleteSolution}_{(f, u)} (H'_1, \dots, H'_p)\)) and see how many regular facilities it opens. Since the completions from the initial \(H'_p\) and \(H_p\) sandwich \(k\), there must be a consecutive pair in the above sequence of independent sets (say \(H^{a}_p\) and \(H^b_p\)) that sandwich \(k\), and they differ by only one facility \(i_q\) (say \(H^{a}_p\) contains \(i_q\) while \(H^b_p\) does not). For future execution of the algorithm, \(H^{a}_p\) and \(H^{b}_p\) are the same as the solutions that have the free copy \(\tilde{i}_q\) (instead of \(i_q\)) with the \(u(\tilde{i}_q)\) value \(0\) (for \(H^{a}_p\)) and \(\infty\) (or sufficiently large number, for \(H^{b}_p\)). Therefore, by performing binary search on the \(u(\tilde{i}_q)\), just like we do on the facility cost \(f\), we yield two solutions that are now identical up to phase \(p\) except the \(\eta\) difference on the only one different parameter \(u(\tilde{i}_q)\), which archives our goal of merging two solutions at phase \(p\)! In general, the fact that \(H_p\) and \(H'_p\) are not just sets but sequences of opened facilities requires more technical consideration. However, the full procedure is still an extension of this idea, trying to increase the length of the common prefix between \(H_p\) and \(H'_p\) by walking from \(H'_p\) to \(H_p\) by one coordinate at a time, until two consecutive solutions are sandwiching \(k\).

2.2 \((2+\varepsilon)\)-Approximation for \(O_\varepsilon(\frac{1}{\log n})\)-Stable Instances↩︎

The other component of our algorithm is an improved approximation to \(k\)-median assuming that the instance has a weak version of a structural property known as stability, initially formulated by [43]. Recall that an instance is \(\beta\)-stable if \(\text{opt}_{k-1}\geq (1+\beta)\text{opt}_k\). For any \(\beta\)-stable instance, [44], [45] showed how to obtain a PTAS for the problem in time \(n^{\beta^{-1}\varepsilon^{-O(1)}}\) and [44] left as an open question as whether one could obtain a PTAS with running time \(f(\beta,\varepsilon)n^{O_{\varepsilon}(1)}\) for any computable function \(f\) for general metrics (they show it is possible for Euclidean metrics). We would indeed like to have an algorithm running in time \(2^{\text{poly}(\beta, \varepsilon)} n^{O_{\varepsilon}(1)}\) to solve our \((\varepsilon/ \log n)\)-stable instances.

Unfortunately, since any \(k\)-median instance is \(\Omega(1/k)\)-stable, obtaining a PTAS with the above running time would violate Gap-ETH [12]: The \(k\)-median problem cannot be approximated better than \(1+2/e\) in time \(f(k,\varepsilon) n^{O_\varepsilon(1)}\) assuming Gap-ETH.

The saving grace here is that we are not after a \((1+\varepsilon)\)-approximation algorithm but we can use any \((2+O(\varepsilon))\)-approximation with the above running time. Since a connection between \(\beta\)-stable and FPT algorithm exists (as explained in the above discussion), it is tempting to make the journey from FPT algorithms back to \(\beta\)-stable instances and use the state-of-the-art approximation algorithm of [12] to solve \(\beta\)-stable instances. Unfortunately the algorithm presented in [12] runs in time \((\log n)^{\tilde{O}(k/\varepsilon)} n^{O(1)}\) and so importing the techniques directly would result in a running time of the form \((\log n)^{\tilde{O}((\beta/\varepsilon)^{-1})} n^{O(1)}\) and not to a polynomial running time for our setting. We must thus go beyond the state-of-the-art techniques for FPT and \(\beta\)-stable \(k\)-median instances.

2.2.1 Local Optima and Stability↩︎

One particularly important tool when dealing with stable solutions are properties of local optima. The local search procedure starts with any feasible solution \(S\), and searches for an alternative solution \(S'\) such that \(|S\triangle S'|= 2\) (i.e., \(S\) and \(S'\) differ by one center) and \(\text{cost}(S')< \text{cost}(S)\). If such an \(S'\) exists, \(S\) is replaced by \(S'\) and the process is iterated. At the end of the procedure we say that \(S\) is locally optimal. The running time of this procedure is polynomial, where we exploit the assumption that distances are polynomially bounded integers (by Lemma 1).

We first introduce a bit of notation. Suppose we are given a locally optimal solution \(S\). We say that a cluster \(C^*\) of the optimal solution \(\text{OPT}\) is pure with respect to \(S\), if there exists a cluster \(C'\) induced by \(S\) such that both clusters agree on all but \(O(\varepsilon)\cdot \min(|C^*|,|C'|)\) of the points. We begin by examining structural properties for \(\beta\)-stable solutions, summarized by in Section 4.1.

  • For any given constant-factor approximation \(S\), at most \(O_\varepsilon(\beta^{-1})\) many clusters are not pure, see Lemma 10.

  • In any locally optimal solution \(S\), we have \[\sum_{p\in C^*,~C^* \text{ pure}} d(p,S) \leq \sum_{p\in C^*,~ C^* \text{ pure}} d(p,\text{OPT}) + O(\varepsilon)\cdot \text{opt},\] that is the cost of the clients in pure clusters is well approximated.

More precisely, in the second bullet we show that all the points in each pure cluster \(C^*\) with center \(c^*\) can be assigned to the same center \(t(c^*)\) in \(S\) (i.e., the center \(c'\) of \(C'\)) with a moderate increase of their cost (see Lemma 11).

The first property relies on the fact that for every non-pure cluster, \(S\) must merge at least two clusters of the optimum. If \(S\) is a constant-factor approximation, this cannot happen more than \(O_{\varepsilon}(\beta^{-1})\) many times before the approximation guarantee no longer holds. The second property is implied by the local optimality of \(S\). Specifically, swapping out the center \(c'\in S\) serving \(C'\) for the center \(c^*\) of the pure cluster \(C^*\) cannot change the cost by much as these two clusters agree on most of their points.

In a nutshell, a locally optimal solution \(S\) approximates all but \(O_{\varepsilon}(\beta^{-1})\) many clusters of the optimal solution very well. In what follows, we will describe how we may extend \(S\) to a \((2+\varepsilon)\)-approximation overall.

2.2.2 Identifying the Non-Pure Clusters↩︎

To find a good approximation for the non-pure clusters, we would like to identify these clusters. By the above discussion, we may assume that we have a locally optimal solution \(S\) for which all but \(O_\varepsilon(\beta^{-1}) = O_\varepsilon(\log n)\) many clusters are well approximated. Immediate ideas, such as determining the badly approximated clusters by brute force, will not improve over the quasi-polynomial running time. Instead, we look towards fixed parameter tractable (FPT) approaches, parameterized by the number of centers. In fact, we would like an FPT approximation algorithm parameterized by the number of non-pure clusters. Starting point is an FPT algorithm based on submodular maximization, initially due to [12], which we first review. However, recall that the running time of this algorithm is \((\log k)^{\tilde{O}(k\varepsilon^{-1})}\) and so will not be enough for our purpose. We thus introduce new ideas to speed things up.

2.2.2.1 Review of the FPT approximation algorithm of [12].

Suppose \(c^*\) is a center of cluster \(C^*\) in an optimal solution \(\text{OPT}\). [12] introduce the notion of a leader client \(\ell\in C^*\) which minimizes the distance to \(c^*\). Using coresets to first reduce the number of clients to \(\tilde{O}(k\log n/\varepsilon^{2})\), the leaders of all clusters, as well as the distances \(d(\ell,c^*)\) can be identified in FPT-time, i.e. in time \((\log n)^{\tilde{O}(k \varepsilon^{-1})} \cdot n^{O(1)}\). A solution \(S\) obtained by simply selecting an arbitrary facility within distance \(d(\ell,c^*)\) from \(\ell\) yields a \(3\)-approximation. [12] improve upon this by showing that for any two candidate sets of centers \(S'\) and \(\Lambda\) \[\text{cost}(\Lambda)-\text{cost}(\Lambda\cup S')\] is a monotone submodular function.

The first part which consists in guessing the leaders is the computational bottleneck since optimizing a monotone submodular function can be done in polynomial time.

We next describe how we deal with the clusters that are not well approximated. Recall that we first compute a locally optimal solution \(S\). By the properties of local optima, \(S\) is already a sufficiently good solution for the pure clusters. For the remaining \(O_\varepsilon(\log n)\) non-pure clusters, we only have coarser approximation bounds.

2.2.2.2 Leader Identification in Polynomial Time via \(D^2\)-Sampling – Sections 4.2 and 4.3.

Our next high-level goal is to find leaders of the non-pure clusters and guess their (approximate) distances to the respective optimum centers in time \(2^{\beta^{-1}\varepsilon^{-O(1)}} n^{O(1)}\) for \(\beta\)-stable instances.

[12] identify leaders in time \({k\log n \choose k}\) by sparsifying the instance via coresets and then determining the distance of leaders to the optimal solution in time \((\log n)^k\). Our overall approach significantly speeds up these two steps by way of distance sampling similar to \(k\)-means++ [46].

To identify the leaders faster, we lift the stringent requirement that the leader of cluster \(C^*\) is the client closest to the center \(c^*\) in the optimal solution. Instead, we consider any client among the \(\varepsilon\cdot |C^*|\) closest points to \(c^*\) as a valid leader with \(\text{avg}_{C^*, \text{OPT}}\) being the maximum distance of any leader of \(C^*\) to \(c^*\). We later show that this only induces a minor cost increase in the total approximation bound.

The second relaxation is that we only aim to target clusters that are sufficiently expensive in our locally stable solution \(S\). More precisely, a non-pure cluster \(C^*\) with center \(c^*\) is basic-cheap if (a) the total cost of its leaders in \(S\) is at most \(\varepsilon^{O(1)}\cdot\beta \cdot \text{opt}= \frac{\varepsilon^{O(1)}}{\log n} \cdot \text{opt}\) or (b) \(d(c^*,S)\leq (1+\varepsilon)\text{avg}_{C^*, \text{OPT}} +\frac{\varepsilon}{|C^*|} \cdot \sum_{p\in C^*}(d(p,c^*)+d(p,S))\). Then we can show that \(S\) is already an almost \(2\)-approximation for these clusters modulo some additive slack, namely \[\sum_{p\in C^*,~C^* \text{ basic-cheap}} d(p, S) \leq 2 \sum_{p\in C^*,~C^* \text{ basic-cheap}} d(p, \text{OPT}) + O(\varepsilon\cdot \text{opt}).\] More precisely, similarly to the case of pure clusters, we can show that all the points of a basic-cheap cluster can be reassigned to the center \(t(c^*)\in S\) which is closest to \(c^*\) with an increase of the cost of the above type (see Lemma 13). Indeed, by triangle inequality \(d(p, S) \leq d(p, c^*) + d(c^*, S)\) for any \(p\). If \(C^*\) is basic-cheap by condition (b), one directly obtains the desired upper bound on \(d(c^*, S)\). Otherwise, i.e. if \(C^*\) is basic-cheap by condition (a), we use the fact that the number of basic-cheap clusters (which is at most the number of non-pure clusters) is \(\frac{\log n}{\varepsilon^{O(1)}}\) so the sum of their costs in \(S\) is \(O(\varepsilon\cdot \text{opt})\). This essentially allows us to focus only on non-pure and non-basic-cheap clusters.

We use these two relaxations as follows. Let \(W\) be a sample of clients picked independently and proportionately to \(\frac{d(p,S)}{\text{cost}(S)}\). With probability \(\varepsilon^{O(1)}/\log n\), we are picking a leader from a given non-pure, non-basic cheap cluster: in this case we say that \(C^*\) is hit by the sample. Thus, when picking \(O_\varepsilon(\log n)\) samples, we have picked a leader from all but a small fraction of non-pure, non-basic cheap clusters. Thereafter, we can show that with good probability, we can assign all the points of a non-pure non-basic-cheap non-hit cluster \(C^*\), with center \(c^*\), to the center \(t(c^*)\in S\) which is closest to \(c^*\) with a small cost (see Lemma 12 in Section 4.2). We next call expensive the non-pure non-basic-cheap clusters which are hit, and cheap the non-pure clusters which are either basic-cheap or non-basic-cheap and non-hit. Thus the clusters are partitioned into pure, cheap and expensive ones. Since we have sampled \(O_\varepsilon(\log n)\) clients, we can enumerate all the subsets in polynomial time and focus on a subset that contains exactly one leader of each expensive cluster.

Using a constant number of potential guesses per leader, we then show how to get a sufficiently good approximation of the distance \(\rho\) from each leader to its closest optimum center, see Lemma 15 in Section 4.3. Intuitively, the cost of the leader in solution \(S\) is a rough approximation of \(\rho\), so we can interpolate around it.

2.2.2.3 Existence of a Good Solution.

We now use \(W\) from last section to identify a modified solution from \(S\) that is \((2+O(\varepsilon))\)-approximate. Let \(\hat{OPT}\) denote the set of centers of expensive clusters. The cost of all the other optimal clusters, i.e., the pure and cheap ones, is within a factor roughly \(2\) from the optimum. We thus wish to add to \(S\) the optimal centers of \(\hat{\text{OPT}}\) and remove an equally sized set \(S_0\subseteq S\). An important constraint on \(S_0\) is that it contains no center \(t(c^*)\), where \(c^*\) is the center of an optimal cluster which is pure or cheap. Intuitively, such centers \(t(c^*)\in S\) guarantee that the cost of points in pure and cheap clusters is within a factor roughly \(2\) from the optimum. More precisely, in Lemma 16 we show that such an \(S_0\) exists so that \(M_O := S - S_0 \cup \hat{\text{OPT}}\) is a \((2+O(\varepsilon))\)-approximation: If a cluster of \(\text{OPT}\) is pure or cheap, there is one center \(t(c^*)\) in \(S-S_0\) serving their clients up to a \(2+O(\varepsilon)\) factor; for the remaining ones, we would have their optimum center (in \(\hat{\text{OPT}}\)).

So our goal from now on is to approximate the solution \(M_O\), where \(|S_0| = \hat{\text{OPT}} = O_{\varepsilon}(\log n)\), and this final goal has two key components: (1) removing some existing centers from \(S\) and (2) adding the centers from \(\hat{\text{OPT}}\). The issue is that stated as such this seems as hard as solving the \(k\)-median problem. We first address (1), and we will address (2) by making use of the leaders we have correctly guessed for the centers in \(\hat{\text{OPT}}\) at the previous steps.

2.2.2.4 Center Removal.

Let us first try to address (1). Remember we start with solution \(S\), and the leader and radii guesses from the previous steps. The key issue with (1) is that the clients in some of the clusters we would like to remove (i.e., served by \(S_0\) in solution \(S\)) are actually served by a center in \(\hat{\text{OPT}}\), but we do not know which are these centers yet! We will thus make use of some approximate loose bound on their cost in solution \(S - S_0 \cup \hat{\text{OPT}}\) by introducing dummy centers \(\Lambda\). For each leader \(\ell\) and guessed distance/radii \(\rho\), we will introduce a dummy center at distance \(\rho\) from \(\ell\) and at distance \(d(p, \ell) + \rho\) from any other vertex \(p\).

If we promise to open a center in the ball of radii \(\rho\) around \(\ell\) – which solution \(S - S_0 \cup \hat{\text{OPT}}\) does – then we will guarantee that there will be a center not further away than the dummy centers in the final solution. We now work with this solution \(S \cup \Lambda\) which provides a worst-case fall back on where the centers in \(\hat{\text{OPT}}\) could be. We can show that \(M_D := S \cup \Lambda- S_0\) is a \((3+O(\varepsilon))\)-approximate solution.

Equipped with this we proceed to our 3-step center removal. We know that we have at most \(|S_0| = O_{\varepsilon}(\log n)\) centers we need to remove. Our first procedure (see Section 4.4) aims at removing the centers of clusters of high cost in \(S_0\). Start with solution \(S \cup \Lambda\). For \(O_{\varepsilon}(\log n)\) times, we sample a center \(c\in S\) proportionally to the cost of its cluster in solution \(S \cup \Lambda\), remove \(c\) from \(S\) with probability \(1/2\), and repeat on the resulting solution. Let \(\mathcal{Q}\) be the centers removed from \(S\). Then with probability at least \(2^{-O_{\varepsilon}(\log n)}\) the procedure succeeds by either obtaining \(\mathcal{Q}=S_0\) or ensuring that the total cost of the clusters of \(S_0-\mathcal{Q}\) in the solution is at most \(O(\varepsilon\cdot \text{opt})\). This indeed follows from the fact that, if we only removed centers \(\mathcal{Q}\subseteq S_0\) up to a certain step, the solution is never more than a \((3+O(\varepsilon))\)-approximation (since \(S \cup \Lambda- S_0\) is a \((3+O(\varepsilon))\)-approximation) and so the probability of sampling a new center of \(S_0-\mathcal{Q}\) is \(\Omega(\varepsilon)\), unless the total cost of the clusters of \(S_0-\mathcal{Q}\) is small. Therefore, repeating the process \(n^{O_\varepsilon(1)}\) times, we have that one of the runs succeeds with high probability.

Thus, after this step, we have removed a set \(\mathcal{Q}\) of centers of \(S_0\) and the total cost of the clusters of \(S_0-\mathcal{Q}\) is \(O(\varepsilon\cdot \text{opt})\). Following this procedure, we only have to remove inexpensive clusters. While here it is not possible to identify the correct ones, making a mistake is not too costly. For any \(c\in S_0-\mathcal{Q}\), we can now think of its whole cluster as being assigned entirely to a unique center in \(S - S_0 \cup \hat{\text{OPT}}\) since by triangle inequality this would only increase its cost by \(O(\varepsilon\cdot \text{opt})\) in total. We can thus think of the remaining centers \(S_0-\mathcal{Q}\) as either being assigned to \(\hat{\text{OPT}}\) (we call this set \(\mathcal{R}\)), or to a center in \(S - S_0\) (we call this set \(\mathcal{U}\)). Suppose we know how many centers fall into these two types, a figure we determine by trying all possibilities. The next step would be ideally to remove \(\mathcal{U}\). We instead remove a proxy \(\widetilde{\mathcal{U}}\) of \(\mathcal{U}\), \(|\widetilde{\mathcal{U}}|=|\mathcal{U}|\)(see Section 4.5). A natural starting point to find a center for reassignment is to do so by greedily removing the center \(c\) for which the reassignment cost is minimized. However, we must be careful. First, the reassignment costs are dynamic, that is when removing a center, it affects reassignment costs of subsequently removed ones. Second, if a center \(c\) was used to bound the reassigment cost of an deleted center, we cannot delete it later in order to prevent the error from adding up. We design a procedure that produces a \(\widetilde{\mathcal{U}}\) satisfying all these constraints (see Lemma 20). We remark that \(\widetilde{\mathcal{U}}\cap \mathcal{R}=\emptyset\), hence removing \(\mathcal{R}\) is still a valid option in the later stages.

Thus, for the purpose of analysis (the algorithm does not know \(\mathcal{R}\)), we obtain the solutions \(M_D' = S- (\mathcal{Q}\cup \widetilde{\mathcal{U}}\cup \mathcal{R}) \cup \Lambda\) and \(M_O' = S- (\mathcal{Q}\cup \widetilde{\mathcal{U}}\cup \mathcal{R}) \cup \hat{\text{OPT}}\). Moreover, the costs satisfy \(\text{cost}(M_O')+\text{cost}(M_D')\leq (4+O(\varepsilon))\text{OPT}\), which is the same as summed up costs of \(M_O\) and \(M_D\), see Lemma 19 and Claim 7.

2.2.2.5 Improvement via Submodular Maximization.

We can now use submodular maximization techniques (specifically algorithms to maximize a submodular function over a partition matroid constraint) in a similar but more general setting as in the work of [12]. In more detail, we wish to find the best \(|\hat{\text{OPT}}|\) centers \(X\) to open (instead of the dummy centers \(\Lambda\)), one at the prescribed distance from each leader, to improve the cost of \(M_D'\) as much as possible. This is almost identical to the work of [12] except that we also need to close \(|\mathcal{R}|\) other centers \(\widetilde{\mathcal{R}}\) in \(S-\mathcal{Q}-\widetilde{\mathcal{U}}\). Ideally, we would like to open \(\hat{\text{OPT}}\) and close \(\mathcal{R}\). We show that selecting a good enough pair \((X,\widetilde{\mathcal{R}})\) can be reduced to a submodular maximization problem under a partition matroid constraint. In particular, we carefully define our submodular function so that its value, for a given subset \(X\) of centers, is calculated by optimally selecting the set \(\widetilde{\mathcal{R}}\) to close (for the choice \(X\)). Then we can use state-of-the-art algorithms to optimize this and simultaneously approximate the centers \(\hat{\text{OPT}}\) to open and the set \(\mathcal{R}\) to close.

3 \((2+\varepsilon)\)-Approximation with \(O(\log n /\varepsilon^2)\) Extra Centers↩︎

In this section, we present a polynomial-time algorithm that opens \(k+ O(\log n/\varepsilon^2)\) many centers and returns a solution of cost at most \((2+\varepsilon)\text{opt}\). We restate the theorem for convenience of the reader.

Our algorithm is a non-trivial extension of the Greedy algorithm with dual fitting analysis [8], [9], next called Greedy, so as to guarantee that we only open \(k+ O(\log n/\varepsilon^2)\) centers instead of only doing so in expectation. We first recall the basics of Greedy  in Section 3.1. Section 3.2 presents a modified algorithm LogAdaptive that runs in \(O(\log n / \varepsilon^2)\) adaptive steps (that we call phases) and Section 3.3 analyzes the latter algorithm.

Finally, building on additional setups in Section 3.4, Section 3.5 presents our final algorithm MergeSolutions achieving the guarantee of Theorem [thm:pseudo-approx]. It is an extension of LogAdaptive maintaining two solutions that open at least and at most \(k\) centers respectively, while opening at most three free centers per phase; this replaces the bipoint rounding [2], [7], [10], [11] and directly returns a \((2+\varepsilon)\) approximation that opens at most \(k + O(\log n /\varepsilon^2)\) centers. Its analysis, which is an extension of the analysis of Section 3.3, is presented in Appendix 5.

3.1 Review of the Greedy Algorithm↩︎

In this section, we provide a brief overview of the classic \(2\)-approximate LMP algorithm from [8], [9]. Our algorithms are derived by modifying this procedure, and these modifications become more intuitive when we revisit the basic concepts of the original algorithm. We present it in Algorithm 3 as a primal-dual algorithm to emphasize the changes we introduce.

Figure 3: image.

The algorithm maintains the set \(A\) of active clients and the set \(S\) of opened facilities. Initially, all clients are active, i.e., \(A = D\), and no facility is open, i.e., \(S = \emptyset\). Additionally, the algorithm maintains an approximately feasible dual solution \(\alpha\), where each client \(j \in D\) has a corresponding value \(\alpha_j\). These values are initialized to \(0\).

While there is at least one active client, the algorithm uniformly increases the \(\alpha\)-values of the active clients until there is a facility \(i\) whose "bids" are sufficient to open it or an active client “gets connected” to an already opened facility. The bids from a client \(j\) to a facility \(i\) depend on whether \(j\) is active or not. If \(j \in A\), then a portion of its budget \(\alpha_j\), specifically \(d(i,j)\), is allocated to cover the connection cost of \(j\), and the remainder, \(\alpha_j - d(i,j)\), is used to bid towards the facility’s opening cost \(\hat{f}:=2f\). For a client \(j \notin A\), which is already connected to an open facility at a distance \(d(j,S)\), the bid towards \(i\) is the difference in distance, i.e., \(d(j,S) - d(i,j)\) (or \(0\) if \(i\) is farther away from \(j\) than \(S\)).

Finally, the algorithm marks any client \(j\) with \(\alpha_j \geq d(j,S)\) as inactive, ensuring that at any point in time, active clients \(j\) satisfy \(\alpha_j \leq d(j,S)\).

An overview of the analysis of Greedy is as follows. We consider the final \(\alpha\)-values denoted by \((\alpha^*_j)_{j\in A}\), and the final set \(S^*\) of opened facilities. The definition of the bids is to guarantee that the \(\alpha^*\)-values pay for both the opening costs of the facilities in \(S^*\) and the connection costs of the clients:

Lemma 2. \(\sum_{j\in D} \alpha^*_j = \sum_{j\in D} d(j,S^*) + \hat{f} \cdot |S^*|.\)

This is complemented by showing that \(\alpha^*/2\) is a feasible dual solution.

Lemma 3. For a facility \(i\), \(\sum_{j \in D}[ \alpha^*_j - 2d(i,j)]^+ \leq \hat{f}\).

To prove dual-feasibility, two key properties are used:

No overbidding:

At any point in time, for every \(i\in F\), \[\begin{gather} \sum_{j\in A} [\alpha_j - d(i,j)]^+ + \sum_{j\in D - A} [d(j,S) - d(j,i)]^+ \leq \hat{f}\,. \end{gather}\]

No active clients bid on open facilities:

At any point in time, \(\alpha_j \leq d(j, S)\) for \(j\in A\).

Specifically, if we give a total order of the clients so that \(j\leq \ell\) if \(\alpha^*_j \leq \alpha^*_\ell\), the above two properties are used to prove the following technical lemma; intuitively, at time right before \(\alpha^*_{\ell}\), client \(j \in D-A\) satisfies \(d(j, S) + d(j, i) + d(i, \ell) \geq \alpha^*_{\ell}\), which implies \(d(j, S) - d(j, i) \geq \alpha^*_{\ell} - 2d(i, j) - d(i, \ell)\).

Lemma 4. For any \(\ell \in D\), \[\sum_{j \in D : j \geq \ell} [\alpha^*_\ell - d(i, j)]^+ + \sum_{j \in D : j < \ell} [\alpha^*_\ell - 2d(i, j) - d(i, \ell)]^+ \leq \hat{f}.\]

Lemma 3 then follows by summing up the above inequality for all \(\ell\in D\). Let \(\text{opt}_{\text{LP}}(f)\) be the value of an optimal solution to the linear programming relaxation when opening costs are \(f\). Then, we get the following theorem by combining Lemma 2 and Lemma 3.

Theorem 2. The set \(S^*\) of facilities output by Greedy satisfies \[\sum_{j\in D} d(j, S^*) \leq 2 \cdot \left( \text{opt}_{\text{LP}}(f) - f \cdot |S^*| \right)\,.\]

Recall that \(\text{opt}_{\text{LP}}(f) - f\cdot k\) is a lower bound on the optimal solution to the \(k\)-median problem (see Section 1.3). Hence, if Greedy outputs a solution \(S^*\) such that \(|S^*| = k\), then it is a 2-approximate solution to \(k\)-median. Moreover, we can always set \(f\) high enough so that any good solution opens at most \(k\) facilities and \(f\) low enough so that any good solution opens at least \(k\) facilities. Thus, a simple binary search can find values \(f\) and \(f'\) such that running Greedy with opening costs \(f\) opens \(k_1 \geq k\) facilities, while running it with opening costs \(f'\) opens \(k_2 \leq k\) facilities. However, even though we can ensure that \(|f - f'|\) is exponentially small, say \(1/2^n\), it turns out that Greedy is quite unstable, and we may have \(k_1 \ll k\) and \(k_2 \gg k\), which does not directly imply anything useful for \(k\)-median. In other works, this has been addressed through an additional rounding algorithm called bi-point rounding, which introduces an extra factor into the approximation guarantee. In contrast, we modify Greedy into a similar algorithm that is “smoother” and less adaptive in its selection of facilities to open.

3.2 LogAdaptive↩︎

It is natural to think of the Greedy as increasing the \(\alpha\)-values of active clients with a time \(\theta\). That is, we always have \(\alpha_j = \theta\) for \(j\in A\). A difficulty in ensuring that Greedy opens \(k\) facilities is that it is a very adaptive algorithm. To see this, consider the case when two facilities \(i\) and \(i'\) both become paid for at the same time \(\theta\). Whether we open \(i\) or \(i'\) can dramatically change the bids to future facilities and completely change the trace and what facilities are opened by the algorithm. Our idea to overcome this difficulty is to limit the number of time steps where such decisions are made, thus lowering the adaptivity of the algorithm. Specifically, our high-level goal is to only consider the time steps of the form \((1+\varepsilon^2)^0, (1+\varepsilon^2)^1, (1+\varepsilon^2)^2, \ldots\). Then, as the minimum nonzero distance is \(1\) and the maximum distance is \(\mathrm{poly}(n)\), the standard arguments (formalized in Section 3.5) imply that the total number of time steps that we need to consider is \(O(\log(n)/\varepsilon^2)\), and this is what we refer to as \(O(\log n)\) adaptivity.

The difficulty in only considering those time steps is that we easily lose the property that we never overbid a facility \(i\), which is crucial in the analysis of Greedy. Indeed, consider a time step \(\theta = (1+\varepsilon^2)^t\) and let \(A\) and \(I\) be the current active and inactive clients, respectively. Now, suppose that there is a facility \(i\) whose bids \[\begin{gather} \sum_{j\in A} [\alpha_j - d(i,j)]^+ + \sum_{j\in I} [d(j,S) - d(j,i)]^+ \end{gather}\] are just barely below \(\hat{f}\). However, in that case, increasing the \(\alpha\)-value of active clients by a factor \(1+\varepsilon^2\) may cause the bids to be strictly above \(\hat{f}\), leading to difficulties in the analysis. (Specifically, in the proof that \(\alpha^*/2\) is dual feasible.) We intuitively change Greedy in two ways to handle this. First, we open centers if the bids pay for them in the metric scaled down by a factor of \((1-\delta)\). That is, we consider a facility \(i\) paid for if \[\begin{gather} \sum_{j\in A} [\alpha_j - (1-\delta) d(i,j)]^+ + (1-\delta) \sum_{j\in I} [d(j,S) - d(j,i)]^+ \geq \hat{f}\,. \end{gather}\] As we scale down the metric (i.e., the connection cost) by a factor \(1-\delta\), this loses a factor \(1/(1-\delta)\) in the approximation guarantee. However, the benefit is the following. Let \(X = \{j\in A \mid \alpha_j \geq (1-\delta) d(j,i)\}\) be the active clients that bid for \(i\). Then \[\sum_{j\in X} \left(\alpha_j - (1-\delta) d(i,j) \right) \geq \sum_{j\in X} \left((1+\varepsilon^2) \alpha_j - d(i,j) \right)\] assuming that \(\sum_{j\in X} \varepsilon^2 \alpha_j = \varepsilon^2 \theta |X|\) is smaller than \(\delta \sum_{j\in X} d(i,j)\). We will select \(\delta = 3\varepsilon\) and so this means that it is safe to increase the \(\alpha\)-values of active clients by a factor \((1+\varepsilon^2)\) as long as the average distance from bidding active clients is at least \(\varepsilon^2 \theta/\delta = \varepsilon\theta/3\). Our second change deals with the remaining case when the clients in \(X\) are close to co-located with \(i\). We do so by allowing the clients \(j\) in the ball \(B(i, \varepsilon\theta)\) to increase their bids for \(i\) up to \(\min((1+\varepsilon^2)\theta, (1-\delta)d(j,S))\). These changes are captured in the following definition of openable facilities. The bids \((\tau_j)_{j\in A}\) from active clients are only allowed to increase for nearby clients (the first two properties). A facility is considered paid for with respect to the scaled down metric (the third property). Finally, for the proof of dual feasibility even after increasing the bids of nearby clients, we need a technical fourth condition in the definition. We remark that we use \((\alpha, S, A, \theta)\) to denote the algorithm’s state, where \(\alpha\) is the approximate feasible dual solution, \(S\) the set of open facilities, \(A\) the set of active clients (which determines \(I = D \setminus A\)), and \(\theta\) the time. Both Greedy and LogAdaptive(that we describe below) satisfy \(\alpha_j = \theta\) for all \(j\in A\).

Definition 2. A facility \(i\) is openable* with respect to the algorithm’s state \((\alpha, S, A, \theta)\) if there are bids \((\tau_j)_{j\in A}\) of active clients that satisfy the following conditions.*

  • Only nearby clients are increased: \[\begin{gather} \tau_j = \alpha_j \qquad for every j \in A - B(i, \varepsilon\theta). \end{gather}\]

  • Nearby clients are only increased slightly: \[\begin{gather} \alpha_j \leq \tau_j \leq \min\{(1-\delta) d(j,S), (1+\varepsilon^2)\theta\} \qquad for every j\in A \cap B(i, \varepsilon\theta). \end{gather}\]

  • Facility \(i\) is paid for: \[\begin{gather} \sum_{j\in A} [\tau_j - (1-\delta)d(i,j)]^+ + (1-\delta) \sum_{j\in I} [d(j,S) - d(i,j)]^+ \geq \hat{f}\,. \end{gather}\]

  • Dual feasibility: for every facility \(i_0\) and \(\ell \in A\), \[\begin{gather} \sum_{j \in A} [\tau_j - d(i_0, j)]^+ + \sum_{j \in I} [\tau_\ell - 2d(j, i_0) - d(\ell, i_0)]^+ \leq \hat{f}. \end{gather}\]

We note that when the state of the algorithm is clear from the context, we simply say that "\(i\) is openable" without explicitly specifying the state.

The following lemma follows from that we can write the selection of the bids as a linear program. Indeed, given the state \((\alpha, S, A, \theta)\) of the algorithm, each of the four conditions on the bids \((\tau_j)_{j\in A}\) can be formulated as linear inequalities.

Lemma 5. There is a polynomial-time algorithm that, given the state \((\alpha, S, A, \theta)\) and a facility \(i\), either outputs bids \((\tau)_{j\in A}\) that satisfy all the conditions of Definition 2 or certifies that \(i\) is not openable.

Proof. Fix \(i\) and \((\alpha, S, A, \theta)\) and consider a linear program with variables \((\tau_j)_{j \in A}\). We claim that each of the four bullets in Definition 2 can be expressed as linear constraints. Indeed, the first two bullets are immediate. As \(\tau_j = \alpha_j\) for every \(j \in A - B(i, \varepsilon\theta)\), we can treat them as constants and only have \((\tau_j)_{j \in A \cap B(i, \varepsilon\theta)}\) as the true variables. Then, the third bullet, \[\begin{gather} \sum_{j\in A} [\tau_j - (1-\delta)d(i,j)]^+ + (1-\delta) \sum_{j\in I} [d(j,S) - d(i,j)]^+ \geq \hat{f}\, \end{gather}\] becomes a linear inequality in the true variables, since the only terms involving the true variables are \([\tau_j - (1 - \delta)d(i,j)]^+\) for \(j \in A \cap B(i, \varepsilon\theta)\), and for those \(j\), \([\tau_j - (1 - \delta)d(i,j)]^+\) is indeed equal to \((\tau_j - (1 - \delta)d(i,j))\) without \([\cdot]^+\) because \((\tau_j - (1 - \delta)d(i,j)) \geq \theta - (1 - \delta)\varepsilon\theta > 0\).

Finally, the fourth bullet \[\begin{gather} \sum_{j \in A} [\tau_j - d(i_0, j)]^+ + \sum_{j \in I} [\tau_\ell - 2d(j, i_0) - d(\ell, i_0)]^+ \leq \hat{f} \end{gather}\] is equivalent to introducing variables \(t_j\) for \(j \in D\) and adding the following constraints: (1) \(t_j \geq \tau_j - d(i_0, j)\) for \(j \in A\), (2) \(t_j \geq \tau_\ell - 2d(j,i_0) - d(\ell, i_0)\) for \(j \in I\), (3) \(t_j \geq 0\) for \(j \in D\), and (4) \(\sum_{j \in A} t_j + \sum_{j \in I} t_j \leq \hat{f}.\) ◻

The description of LogAdaptive is given in Algorithm 4.

Figure 4: image.

It takes a parameter \(\varepsilon\in [0, 1/6]\) and \(\delta = 3\varepsilon\). The time \(\theta\) is now increased in steps by a multiplicative factor of \((1+\varepsilon^2)\). This is done in each iteration of the outermost loop, "Repeat the following while \(A \neq \emptyset\)," which we refer to as a phase of the algorithm. Inside a phase, we refer to the two points as stages, so stage 1 corresponds to the while-loop where we open openable facilities, and stage 2 corresponds to the increase of \(\alpha\)-values of the active clients \(A\). At any point in time, the state of the algorithm is described, as aforementioned, by the tuple \((\alpha, S, A, \theta)\). The careful reader may observe that \(A\) is redundant because the active clients \(A\) are determined by \(S\). Indeed, the same holds for the set of inactive clients \(I = D- A = \{j\in D: \alpha_j < (1-\delta) d(j,S) \}\). However, it will be notationally convenient to explicitly keep track of \(A\) in the algorithm’s state.

The parameter \(\varepsilon>0\) regulates the number of phases the algorithm will make. Indeed, all active clients have the same \(\alpha\)-value, and after the completion of \(p\) phases, the \(\alpha\)-value of active clients equals \((1+\varepsilon^2)^p\). This ensures that the number of phases until the algorithm terminates is \(O(\log(n)/\varepsilon^2)\). Hence, the increase of \(\alpha\)-values only depends on \(O(\log(n)/\varepsilon^2)\) states of the algorithm, the states before the second stage in each of the phases. This is why we refer to the algorithm to be of logarithmic adaptivity.

Apart from impacting the number of phases, the choice of \(\varepsilon\) also impacts the approximation guarantee. Specifically, we prove the following theorem in the subsequent section. (Recall that \(\delta = 3\varepsilon\).)

Theorem 3. The set \(S^*\) of facilities output by LogAdaptive satisfies \[\sum_{j\in D} d(j, S^*) \leq \frac{2}{1-\delta} \cdot \left( \text{opt}_{\text{LP}}(f) - f \cdot |S^*| \right)\,.\]

3.3 Analysis of LogAdaptive↩︎

An atomic step refers to the set of operations in the indented paragraphs in LogAdaptive that change the state \((\alpha, S, A, \theta)\). (I.e., an atomic step happens when a new facility \(i\) is opened and at the end of each phase.) By “at any point of the algorithm”, we mean any point in the algorithm’s execution that is not in the middle of an atomic step. Throughout the analysis, we let \(\alpha^*_j\) be the final \(\alpha\)-value of a client \(j\in D\), and we let \(S^*\) be the set of opened facilities. We start by analyzing the approximation guarantee of the algorithm with respect to \(\alpha^*\), and we then prove that \(\alpha^*/2\) is a feasible solution to the dual.

3.3.1 Approximation Guarantee.↩︎

In the following lemma, we prove that \(\sum_{j\in D} \alpha^*_j\) pays for the opening costs of the facilities in \(S^*\) and the connection cost of the clients scaled by a factor \((1-\delta)\).

Lemma 6. We have \(\sum_{j\in D} \alpha^*_j \geq (1-\delta) \sum_{j\in D} d(j, S^*) + \hat{f}\,|S^*|\).

In the next subsection, we prove the following lemma showing that \(\alpha^*/2\) is a feasible dual solution.

lemmalemmadualfeasibility For every facility \(i\), \(\; \sum_{j \in D} [\alpha^*_j - 2d(i,j)]^+ \leq \hat{f}.\)

These two lemmas imply \[\text{opt}_{\text{LP}}(f) \geq \sum_{j\in D} \frac{\alpha^*_j}{2} \geq \frac{1-\delta}{2}\sum_{j\in D} d(j, S^*) + f\,|S^*|,\] where we used that \(\hat{f} = 2 \cdot f\). Therefore, we have an LMP \(2/(1-\delta)\)-approximation: the connection cost of the output solution \(S^*\) satisfies \[\begin{gather} \sum_{j\in D} d(j,S^*) \leq \frac{2}{1-\delta} \left( \text{opt}_{\text{LP}}(f) - f\,|S^*| \right)\,. \end{gather}\] In other words, Lemma 6 and Lemma [lemma:dual95feasibility] imply Theorem 3.

We proceed to prove Lemma 6 (and prove Lemma [lemma:dual95feasibility] in the next subsection).

Proof of Lemma 6. We prove by induction that at any point of the algorithm \[\begin{gather} \sum_{j\in I} \alpha_j \geq \sum_{j\in I} (1-\delta)d(j, S) + \hat{f}\,|S|. \label{eq:IH95approx95guarantee} \end{gather}\tag{3}\] The equality is initially true since \(A= D\) (thus \(I = \emptyset\)) and \(S = \emptyset\). We now analyze each of the two stages separately.

3.3.1.1 Stage 1.

Consider what happens when we open a facility \(i\), i.e., add it to \(S\). Let \((\alpha, S, A, \theta)\) be the state right before opening \(i\), \(A'\) be the clients that are removed from \(A\) by the opening, which means \(A' = \{ j \in A : \tau_j \geq (1 - \delta)d(i, j) \}\). (Recall that the opening lets \(\alpha_j \leftarrow \tau_j\) for \(j \in A\).) Further, let \(X := \{j \in I: d(j, i) < d(j, S) \}\) be the subset of clients of \(I\) that make positive bids to \(i\). The change of cost of the right-hand side of 3 is at most \[\hat{f} + \sum_{j\in A'} (1-\delta) d(i,j) + \sum_{j \in X} (1 - \delta)(d(i,j) - d(j, S))\,.\] Since \(i\) is fully paid (the third bullet of Definition 2), we also have \[\begin{align} \hat{f} & \leq \sum_{j\in A'} ( \tau_j - (1-\delta) d(i,j) ) + \sum_{j \in X} (1-\delta)(d(j, S) - d(i,j)) \,. \end{align}\] We thus get that the change of cost of the right-hand side is at most \(\sum_{j\in A'} \tau_j\), which is the change of the left-hand side.

3.3.1.2 Stage 2.

No facility is open at this stage, and every client \(j\) that becomes inactive at this stage has \(\alpha_j = (1 - \delta)d(j ,S)\), which implies that the left-hand side and right-hand side both increase with the same amount when a client \(j\) becomes inactive. ◻

3.3.2 Dual Feasibility↩︎

We start by showing that we never overbid a facility \(i\). This is rather immediate in the analysis of Greedy that we outlined in Section 3.1. While we prove this remains true for LogAdaptive, proving it requires more work, especially because of the discrete increase of \(\alpha\)-values in the second stage of a phase.

Claim 1 (No Over-Bidding). At any point of the algorithm, for every facility \(i\), \[\sum_{j \in A} [\alpha_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}. \label{eq:dual-feasible-induction}\qquad{(1)}\]

Proof. In the beginning, the claim is true because every client is active and \(\alpha_j = 1 \leq d(i, j)\) for every \(j \in D\). Let us prove that each step of the algorithm maintains this invariant. We first consider the steps that happen during the first stage and then those during the second stage.

3.3.2.1 Stage 1.

Suppose that facility \(i'\) is open with the bids \((\tau_j)_{j \in A}\). It does (1) potentially increase the \(\alpha\)-values of clients in \(B(i', \varepsilon\theta) \cap A\), and (2) make clients in \(A \cap B(i', \theta/(1 - \delta))\) inactive, which includes \(B(i', \varepsilon\theta) \cap A\) considered in (1).

Consider any facility \(i\) and see how ?? is impacted by this change. First, observe that a client \(j\) that was inactive before the opening of \(i'\) does not increase its contribution to ?? . This is because \(d(j,S)\) monotonically decreases in \(S\). We now turn our attention to the more interesting case. For a client \(j\) becoming inactive from active, the contribution to ?? changes from \([\alpha_j - d(i,j)]^+\) (where \(\alpha\)-values are measured right before the opening) to \([(1 - \delta)d(j, S) - d(j, i)]^+\) (where \(S\) includes \(i'\)).

If \(\alpha_j\) does not change by the opening of \(i'\), the fact that \(j\) becomes inactive means \((1 - \delta)d(j, S) \leq \alpha_j\), so \(j\)’s contribution to ?? cannot increase. If \(\alpha_j\) does strictly increase by the opening of \(i'\), it means that \(d(j, S) \leq d(j, i') \leq \varepsilon\theta\) after the opening, so the contribution to ?? decreases by at least \(\theta - (1 - \delta)\varepsilon\theta\) or becomes \(0\).

We have thus proved that no client increases their contribution to ?? during the steps of the first stage, and so these steps maintain the inequality.

3.3.2.2 Stage 2.

Assume towards contradiction that at the end of the phase, if we increase \(\alpha_j\) of every \(j \in A\) to \(\min((1 + \varepsilon^{2})\theta, (1 - \delta)d(j, S))\), the claim is violated for a non-empty subset of facilities \(F'\). We select a “minimal” such counter example in the following way: let \(\tau' \leq (1+\varepsilon^2) \theta\) be the smallest value so that \(\alpha'_j := \min(\tau', (1 - \delta)d(j, S))\) satisfies \[\sum_{j \in A} [\alpha_j' - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ = \hat{f}, \label{eq:dual-feasible-induction-tauprime}\tag{4}\] for some \(i\in F'\). We remark that \(\tau' \geq \theta\) since ?? is satisfied for all facilities after the first stage by the previous arguments. Furthermore, \(i\not \in S\) is not yet open since if it was open then there would be no client \(j\in A\) for which \(\alpha'_j-d(i,j)\) is strictly positive. Hence the increase in \(\alpha\)-values cannot cause \(i\) to violate ?? if it were already opened, which would contradict \(i\in F'\).

We now show that this \(i\) with \(\tau_j = \alpha'_j\) for \(j \in A \cap B(i, \varepsilon\theta)\) and \(\tau_j = \alpha_j\) for \(j \in A - B(i, \varepsilon\theta)\) satisfies the conditions of Definition 2 for \(i\). In other words, \(i\) is an openable facility (that was not yet opened), which contradicts the completion of the first stage. We verify the conditions of Definition 2 one-by-one. The first two bullets are satisfied by the definition of the bids \((\tau_j)_{j\in A}\). For the third bullet, \[\begin{align} & \sum_{j \in A} [\tau_j - (1 - \delta)d(i,j)]^+ + (1 - \delta)\sum_{j \in I} d(j, S) - d(i, j)]^+ \\ = \quad & \sum_{j \in A \cap B(i, \varepsilon\theta)} [\alpha'_j - (1 - \delta)d(i,j)]^+ + \sum_{j \in A - B(i, \varepsilon\theta)} [\alpha_j - (1 - \delta)d(i,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(i, j)]^+ \\ \geq \quad & \sum_{j \in A \cap B(i, \varepsilon\theta)} [\alpha'_j - d(i,j)]^+ + \sum_{j \in A - B(i, \varepsilon\theta)} [\alpha'_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i, j)]^+\,. \end{align}\] To upper bound the second summation we used that \(\alpha_j - (1 - \delta)d(i,j) \geq (1 + \varepsilon^{2})\alpha_j - d(i, j) \geq \alpha'_j - d(i,j)\) when \(d(i, j) \geq \frac{\varepsilon^2\alpha_j}{\delta}=\frac{\varepsilon\theta}{3}\) (recall that \(\alpha_j = \theta\) for all \(j\in A\)), condition which is satisfied by the clients not in \(B(i,\varepsilon\theta)\).

It remains to verify the fourth bullet of Definition 2. Suppose toward contradiction that there is a facility \(i_0\) and \(\ell \in A\) such that \[\begin{gather} \sum_{j\in A } [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_\ell - d(i_0,\ell) - 2d(i_0, j)]^+ > \hat{f}. \end{gather}\] Note that \(\ell \in A\) implies \(\tau_\ell \leq (1 - \delta)d(\ell, S)\) and for every \(j \in I\), \((1 - \delta)d(\ell, S) \leq (1 - \delta)(d(\ell, i_0) + d(i_0, j) + d(j, S)).\) Thus \[\label{eqn:clm:nooverbid:stage2} \tau_\ell - d(i_0, \ell) - 2d(i_0, j) \leq (1-\delta) d(j,S) - d(i_0,j)\,.\tag{5}\] We conclude that \[\begin{align} & \sum_{j \in A} [\alpha'_j - d(i_0,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i_0, j)]^+ \\ \geq & \sum_{j \in A} [\tau_j - d(i_0,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i_0, j)]^+ \\ \overset{\eqref{eqn:clm:nooverbid:stage2}}{\geq} & \sum_{j\in A} [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_\ell - d(i_0,\ell) - 2d(i_0, j)]^+ > \hat{f} \end{align}\] This implies that we could have further lowered \(\tau'\) while keeping equality  4 true for \(i_0\). This contradicts the minimality of \(\tau'\). ◻

Having proved that LogAdaptive as Greedy maintains the invariant that there is no overbidding, we are ready to prove the dual-feasibility of \(\alpha^*/2\). (This corresponds to Lemma 3 in the analysis of Greedy.)

We remark that this implies dual feasibility of \(\alpha^*/2\) by dividing both sides by \(2\) (recall \(\hat{f} = 2 \cdot f\)).

The rest of the section is devoted to the proof of Lemma [lemma:dual95feasibility], and from now on, we focus on an arbitrary but fixed facility \(i\in F\). Let \(D^* = \{ j \in D : \alpha^*_j > 2d(i, j) \}\) be those clients that contribute to the left-hand side of the inequality in the claim. Further, order the clients in \(D^*\) according to \(\alpha^*\) values by the time they are removed from \(A\) (in the algorithm) and break ties according to \(\alpha^*\) values (in increasing order). We will use \(j, \ell\) to denote clients in \(D^*\), and let us slightly abuse notation and use \(j \leq \ell\) with respect to this ordering. In other words, we have \(j\leq \ell\) if \(j\) was removed from \(A\) in an atomic step before \(\ell\) was removed, or \(j\) and \(\ell\) were removed during the same atomic step and \(\alpha^*_j \leq \alpha^*_\ell\). We also use the terminology that a facility \(i_0\) freezes \(i\) if \(i_0\) becomes open when \(i\) is not, and \(d(i, i_0) \leq (1+3\varepsilon)\theta/2\). (Of course, \(i\) freezes itself when it is open.) This notion is important as for a facility \(i\), its \(D^*\) and their \(\alpha^*\) values do not change after it is frozen.

The following lemma, analogous to Lemma 4 in the analysis of Greedy, is key to proving dual feasibility.

Lemma 7. For any \(\ell \in D^*\) that becomes inactive strictly before \(i\) becomes frozen, \[\sum_{j \in D^* : j \geq \ell} [\alpha^*_\ell - d(i, j)]^+ + \sum_{j \in D^* : j < \ell} [\alpha^*_\ell - 2d(i, j) - d(i, \ell)]^+ \leq \hat{f}. \label{eq:dual-feasible-inactive}\qquad{(2)}\]

Proof. Let us do the following case analysis depending on the stage \(\ell\) becomes inactive.

3.3.2.3 Stage 1.

\(\ell\) becomes inactive because of the opening of some \(i_0\). By the statement of the lemma, it suffices to handle the case that \(i_0\) does not freeze \(i\). So \(d(i, i_0) > (1 + 3\varepsilon)\theta / 2\). The opening of \(i_0\) might have strictly increased the \(\alpha\)-value of the clients in \(B(i_0, \varepsilon\theta)\), but no such client \(j\) will be in \(D^*\), since they immediately become inactive while \[d(i, j) \geq d(i, i_0) - d(i_0, j) > ((1 + 3\varepsilon) / 2 - \varepsilon) \theta \geq (1+\varepsilon^2) \theta/2 \geq \alpha^*_j / 2.\] Applying this argument to every facility that is open in this phase (which did not freeze \(i\)), we can conclude that, right before \(i_0\) is open, every \(j \in D^*\) has \(\alpha_j \leq \theta\) and all active ones have \(\alpha_j = \theta\). (So, \(\alpha^*_\ell = \theta\) as well since the opening of \(i_0\) does not strictly increase \(\alpha_\ell\).) Claim [claim:dual-feasible-induction], applied right before \(i_0\) is open, ensures that \[\sum_{j \in A} [\alpha_j - d(i, j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i, j)]^+ \leq \hat{f}.\] This satisfies ?? as (1) every \(j \in D^*\) with \(j \geq \ell\) is in \(j \in A\) at that point by our ordering of the clients within \(D^*\), and (2) for every \(j < \ell\) with \(j \in I\), \[\alpha^*_\ell < (1 - \delta)d(\ell, S) \leq (1 - \delta)d(j, S) + d(j, i) + d(i, \ell)\] implies \[\alpha^*_\ell - 2d(i, j) - d(i, \ell) \leq (1 - \delta)d(j, S) - d(i, j).\] (Note that this \(S\) does not contain \(i_0\) and \(\ell\) was not connected yet.)

3.3.2.4 Stage 2.

Suppose that \(\ell\) becomes inactive by the increase of the \(\alpha\)-values at the end of a phase. Then Claim [claim:dual-feasible-induction] ensures that, at the end of this phase (after \(\ell\) becomes inactive), \[\sum_{j \in A} [\alpha_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}. \label{eq:dual-feasible-induction-again}\tag{6}\]

Let us see that the left-hand side of 6 is at least that of ?? by comparing the contribution of \(j \in D^*\) to both. If \(j \in A\), its contribution to the former is definitely at least that to the latter, since any active \(j\) has \(\alpha_j = (1 + \varepsilon^{2})\theta \geq \alpha^*_\ell\).

For \(j \in I\), we must have \[\alpha^*_\ell \leq (1-\delta) d(\ell,S) \leq (1-\delta) ( d(\ell,i) +d(i,j)+ d(j,S))\leq (1-\delta)d(j,S)+d(\ell,i) +d(i,j)\,.\] (since \(\alpha_\ell\) is never increased above \((1-\delta) d(\ell,S)\)). Thus \[\alpha^*_\ell - 2d(i,j) - d(i,\ell) \leq (1-\delta) d(j,S) - d(i,j)\] which satisfies our goal when \(j<\ell\).

Finally, when \(j\in I\) but \(j \geq \ell\), it means that \(j\) was removed at the same time as \(\ell\) at the end of the phase. In that case \((1-\delta) d(j,S) = \alpha^*_j\) and, as we break ties with \(\alpha^*\)-values, \(\alpha^*_j \geq \alpha^*_\ell\), which again satisfies our goal. ◻

Equipped with the above lemma, we are ready to complete the proof of dual feasibility.

Proof of Lemma [lemma:dual95feasibility]. Consider the case that \(i\) is frozen by \(i_0\) with \((\tau_j)_{j \in A}\). We first prove the following claim that says that after \(i\) is frozen the \(\alpha\)-values of clients in \(D^*\) are finalized.

Claim 1. We have \(\alpha^*_j = \tau_j\) for every \(j \in D^* \cap A\).

Proof of Claim. Consider \(j \in A\). First, note that if \(\tau_j \geq (1-\delta) d(j,i_0)\) then \(j\) is removed from \(A\) when \(i_0\) is opened and so \(\alpha^*_j = \tau_j\).

In the other case, when \(\alpha_j \leq \tau_j < (1-\delta) d(j,i_0)\) we show that \(j \not \in D^*\). Consider the (future) time right after \(j\) is removed from the active clients. The \(\alpha\)-value of \(j\) then (which is equal to the final \(\alpha^*_j\)) cannot be strictly greater than \((1 - \delta)d(j, i_0)\); whether it is increased in stage 1 (as \(\alpha \leftarrow \tau\)) or stage 2, since \(i_0 \in S\) (where \(S\) is the set of open facilities right before \(j\) becomes inactive), the algorithm ensures that it cannot be strictly more than \((1 - \delta)d(j, S) \leq (1 - \delta)d(j, i_0)\). By the triangle inequality \[\begin{gather} d(j, i) \geq d(j, i_0) - d(i_0, i) = \left(1 - \frac{d(i_0, i)}{\theta}\frac{\theta}{d(j,i_0)}\right)d(j,i_0)\,, \end{gather}\] where \(\theta\) is considered at the time when \(i_0\) was open. As \(i_0\) freezes \(i\), we have \(d(i_0, i) \leq (1+3\varepsilon)\theta/2\) and, by the assumption of the case we have \(\theta = \alpha_j \leq (1-\delta) d(j,i_0)\). Plugging in those bounds to the above inequality yields, \[\begin{gather} d(j,i) \geq \left(1 - \frac{(1+3\varepsilon)}{2}(1-\delta)\right)d(j,i_0)\,. \end{gather}\] We rewrite the above inequality (multiplying both sides by two and using that \(\delta = 3\varepsilon\)) to obtain \[\begin{gather} 2d(j,i) \geq \left(2 - {(1+3\varepsilon)}(1-\delta)\right)d(j,i_0) = \left(1+ 9\varepsilon^2 \right) d(j,i_0) \,. \end{gather}\] In other words we have \(\alpha^*_j \leq d(j,i_0) < 2d(j,i)\), so \(j\) cannot be in \(D^*\). ◻

Having proved the above claim, we proceed to analyze the dual feasibility. As the \(\alpha\)-values of clients in \(A\cap D^*\) remain unchanged after the removal of \(i_0\), the fourth bullet of Definition 2 ensures that, for any \(\ell \in A \cap D^*\), \[\sum_{j \in A \cap D^*} [\alpha^*_j - d(i, j)]^+ + \sum_{j \in I \cap D^*} [\alpha^*_\ell - 2d(i, j) - d(\ell, i)]^+ \leq \hat{f}. \label{eq:openable-fourth-again-again}\tag{7}\]

Moreover, for every client \(\ell\in D^* \cap I\) that became inactive strictly before \(i_0\) was opened, Lemma 7 goves

\[\sum_{j \in D^* : j \geq \ell} [\alpha^*_\ell - d(i, j)]^+ + \sum_{j \in D^* : j < \ell} [\alpha^*_\ell - 2d(i, j) - d(i, \ell)]^+ \leq \hat{f}. \label{eq:dual-feasible-inactive-again}\tag{8}\] Let us consider the summation of 8 for every \(\ell \in I \cap D^*\) and 7 for every \(\ell \in A \cap D^*\), and consider how many times each term appears. Let \(a = |A \cap D^*|, b = |D^*|\).

  • \(-d(i, j')\) when \(j' \in I\cap D^*\): Say \(j'\) is the \(q\)th client in \(D^*\) for some \(q \leq b-a\). Then \(-d(i, j')\) appears \(b + (b - q)\) times in 7 (\(2a\) times) and 8 (\(2(b-a-q)+q\) times) as \(-d(i, j)\) and \((q - 1)\) times as \(-d(i, \ell)\) in 8 when \(\ell = j'\), so the total is \(2b - 1\).

  • \(-d(i, j')\) when \(j' \in A\cap D^*\): It appears \(b\) times in 7 and 8 as \(-d(i, j)\) and \(b - a\) times as \(-d(i, \ell)\) in 8 when \(\ell=j'\), so the total is \(2b - a\).

  • \(\alpha^*_{j'}\) for \(j' \in I\cap D^*\): It appears \(b\) times in 8 as \(\alpha^*_\ell\) when \(\ell = j'\).

  • \(\alpha^*_{j'}\) for \(j' \in A\cap D^*\): It appears \(b -a\) times in 7 as \(\alpha^*_\ell\) when \(\ell = j'\) and once in 7 as \(\alpha^*_j\) for each \(\ell \in A \cap D^*\), so \(b\) times in total.

Summarizing we have, \[\begin{gather} b \sum_{j\in D^*} \alpha^*_j - (2b-a)\sum_{j\in D^* \cap A} d(i,j) - (2b-1) \sum_{j\in D^* \cap I} d(i,j) \leq b \hat{f}, \end{gather}\] and so in particular \(\sum_{j\in D^*} \left(\alpha^*_j - 2 d(i,j)\right) \leq \hat{f}\), which proves the lemma in the case the opening of a facility \(i_0\) freezes \(i\).

To complete the proof, when no facility freezes \(i\), Lemma 7 holds for every client in \(D^*\), so we can simply sum up 8 over all clients in \(D^*\), which corresponds to the special case of the above analysis when \(D^*\cap A = \emptyset\). ◻

3.4 Walking Between Two Solutions: Setup↩︎

Given the description of the LogAdaptive, we present our final algorithm MergeSolutions, resulting in a solution that opens \(k+O_{\varepsilon}(\log n)\) centers by maintaining two partial solutions that lead to opening at least \(k\) and at most \(k\) centers respectively and gradually merge them into a single solution that opens exactly \(k+O_{\varepsilon}(\log n)\) facilities, exploiting the \(O_{\varepsilon}(\log n)\) adaptivity of LogAdaptive.

Before detailing the merging procedure, which we call MergeSolutions, it is helpful to observe that we may generalize the analysis to make it more “robust”. We introduce this more robust analysis in this subsection, where we also define the notation that will be used later to describe MergeSolutions in Section 3.5.

Starting from the two solutions obtained in the standard way whose facility costs differ by at most \(\eta := 2^{-n}\), the two solutions we maintain will have an exponentially small difference \(\eta\) in one of their parameters. (These parameters will be either the facility cost \(f\) or some distance related to a free facility that will be introduced later.) For this reason, when we merge the two solutions, it may occur that some facilities in one solution are almost completely paid for, rather than fully paid for. To address this, we generalize the definition of "openable" to "\(\eta\)-openable," where the only difference is in the third condition: we now require each facility that is opened to be paid \(\hat{f} - \eta n\) instead of \(\hat{f}\) (as in Definition 2). We also note that being openable only depends on the time \(\theta\) and the set \(S\) of open facilities so far. This is because \(\alpha_j = \theta\) for \(j\in A\), \(I = \{j\in D: \theta \geq (1-\delta)d(j,S)\}\) and \(A = D- I\). This allows us to simplify notation and we have the following generalization of Definition 2.

Definition 3. Consider the time \(\theta\) and let \(S\) be the set of opened facilities. Then set of inactive and active clients are \(I= \{j\in D: \theta \geq (1-\delta) d(j,S) \}\) and \(A = D - I\), respectively. We say that a facility \(i\in F\) is \(\eta\)-openable* (with respect to \(\theta\) and \(S\)) if there are bids \((\tau_j)_{j\in A}\) of active clients that satisfy the following conditions.*

  • Only nearby clients are increased: \[\begin{gather} \tau_j = \alpha_j \qquad for every j \in A - B(i, \varepsilon\theta). \end{gather}\]

  • Nearby clients are only increased slightly: \[\begin{gather} \alpha_j \leq \tau_j \leq \min\{(1-\delta) d(j,S), (1+\varepsilon^2)\theta\} \qquad for every j\in A \cap B(i, \varepsilon\theta). \end{gather}\]

  • Facility \(i\) is paid for (up to the error parameter \(\eta\)): \[\begin{gather} \sum_{j\in A} [\tau_j - (1-\delta)d(i,j)]^+ + (1-\delta) \sum_{j\in I} [d(j,S) - d(i,j)]^+ \geq \hat{f} - n \eta\,. \end{gather}\]

  • Dual feasibility: for every facility \(i_0\) and \(\ell \in A\), \[\begin{gather} \sum_{j \in A} [\tau_j - d(i_0, j)]^+ + \sum_{j \in I} [\tau_\ell - 2d(j, i_0) - d(\ell, i_0)]^+ \leq \hat{f}. \end{gather}\]

We also introduce the concept of free facilities. During the process of merging the two solutions, we introduce free facilities, whose opening costs are not necessarily paid. While we will introduce at most \(O(\log n)\) such free facilities, we do not restrict the number of free copies a regular facility may have. Let \(S_{\mathsf{free}}\subseteq S\) denote the multiset of free facilities that have been opened.

Moreover, for each free copy \(\tilde{i} \in S_{\mathsf{free}}\) of \(i \in F\), we define a parameter \(u(\tilde{i})\), which represents the distance between the freely opened facility \(\tilde{i}\) and its original copy \(i\). So for any point \(x\) in the metric space (either a facility or a client), the distance is given by \(d(\tilde{i}, x) = u(\tilde{i}) + d(i, x)\).

We further introduce the following terminology: as mentioned, we refer to the facilities in \(S_{\mathsf{free}}\) as free facilities, the facilities in \(F\) and \(S_{\mathsf{reg}}= S - S_{\mathsf{free}}\) as regular facilities, and when we simply mention "facilities," we are referring to their union.

Finally, we will use the letters \(i\) and \(h\) to denote facilities. Specifically, we use \(i \in F\) to denote a regular facility and use \(\tilde{i}\) to denote a free copy of \(i\). When referring to a facility that can be either free or regular, we use the letter \(h\).

We now introduce the definition of valid sequences, which aims to capture the sequence of facilities that are opened during the while-loop of stage 1 in LogAdaptive.

Definition 4 (\(\eta\)-valid sequence). Consider the time \(\theta\) and let \(S\) be the set of opened facilities. A sequence \(\langle h_1, \ldots, h_\ell\rangle\) of facilities is \(\eta\)-valid (with respect to \(\theta\) and \(S\)), if the following conditions hold.

  • Each \(h_t\) is either free or \(\eta\)-openable with respect to the time \(\theta\) and a superset \(S' \supseteq S \cup \{h_1, \ldots, h_{t-1}\}\) of opened facilities.

  • The sequence is maximal, i.e., there is no openable facility with respect to the time \(\theta\) and \(S \cup \{h_1, \ldots, h_\ell \}\).

We remark that LogAdaptive generates \(0\)-valid sequences in each phase. Specifically, it generates sequences \(\mathcal{H}= (H_1, H_2, \ldots, H_L)\), where each \(H_p\) is \(0\)-valid (with respect to \(\theta = (1+\varepsilon^2)^{p-1}\) and \(S = \cup_{i \in [p-1]} H_i\)) and contains only regular facilities. The set \(S\) of opened facilities is such that \(A = \emptyset\) at the final time \(\theta\).

For a general sequence of sequences \(\mathcal{H}= (H_1, H_2, \ldots, H_L)\), let us say it consists of \(\eta\)-valid sequences if, for every \(p \in [L]\), \(H_p\) is an \(\eta\)-valid sequence with respect to \(\theta = (1+\varepsilon^2)^{p - 1}\) and \(S = \cup_{q \in [p-1]} H_q\). (Here we abuse notation and treat \(H_q\) as a set of facilities.) Furthermore, we say that \(\mathcal{H}\) is a solution if the set \(S\) of opened facilities ensures that \(A = \emptyset\) at the end, meaning that at the time \(\theta = (1+\varepsilon^2)^L\) of the \((L+1)\)st phase, the set of inactive clients \(I = \{ j \mid \theta \geq (1-\delta) d(j,S) \}\) equals all clients in \(D\). Otherwise, we say that \(\mathcal{H}\) is a partial solution.

Theorem 3 can thus be stated as: if \(\mathcal{H}\) is a solution of \(0\)-valid sequences consisting of regular facilities then the set \(S\) of opened facilities satisfies \[\sum_{j\in D} d(j, S) \leq \frac{2}{1-\delta} \cdot \left( \text{opt}_{\text{LP}}(f) - f \cdot |S| \right)\,.\] We now allow to open regular facilities by paying at least \(\hat{f}- \eta n\) (instead of \(\hat{f}\)) and incorporate the notion free facilities, which leads to the following generalization of the analysis, proved in Appendix 5.

Theorem 4. Consider a solution \(\mathcal{H}\) of \(\eta\)-valid sequences and let \(S\) be the opened facilities. Further, let \(S_{\mathsf{free}}\) and \(S_{\mathsf{reg}}= S - S_{\mathsf{free}}\) be the free copies and regular facilities, respectively. Then \[\sum_{j\in D} d(j, S) \leq \frac{2}{1-\delta} \cdot \left( \text{opt}_{\text{LP}}(f) - (f-\eta n) \cdot |S_{\mathsf{reg}}| \right)\,.\]

It will be useful to use similar terminology as we did in Section 3.3, let us consider the execution of the solution \(\mathcal{H}\) where for \(p = 1, \dots, L\), we run the \(p\)-th phase according to the sequence \(H_p\); in Stage 1, each facility in the sequence becomes open one by one with the corresponding \((\tau_j)_j\) values, and in Stage 2 at the end of the phase, \(\theta \leftarrow \theta(1+\varepsilon^2)\).

Then an atomic step can still be defined in the same way as in LogAdaptive; it corresponds to opening a facility in Stage 1 (and updating \(\alpha, S, A\) accordingly) or increasing \(\alpha\) values in Stage 2 simultaneously (and updating \(S\) accordingly). By “at any point of the algorithm”, we mean any point in the algorithm’s execution that is not in the middle of an atomic step.

With this notation, we have the following generalization of Claim 1:

At any point of the algorithm, for every facility \(i\), \[\sum_{j \in A} [\alpha_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}. \label{eq:dual-feasible-local-robust}\tag{9}\]

This is formally proved in Claim 10 in Appendix 5, and the proof is essentially the same as that of Claim 1. We use it to prove Lemma 8, which we will use in the merging procedure to ensure maximality. At a point of the execution, we say that a facility \(i\) is payable if it is openable (with \(\eta = 0\)) except that the dual feasibility condition is not necessarily satisfied. The payable notion is thus a weaker notion than openable, and a facility \(i\) may be payable but not openable. However, we have the following lemma that says that if there is a payable facility, there is also an openable facility. We remark that it does not guarantee that a payable facility is also openable but it does guarantee that if there exists a payable facility, there is also an openable facility, which is sufficient for our arguments.

Lemma 8. At any point of the algorithm, if there is a payable facility, then there is also an openable facility (that is not yet opened).

Proof. The argument is similar to that of the “Stage 2” proof of Claim 1. Suppose there is a non-empty subset of facilities \(F'\) that are payable. To prove the lemma, we need to show that there is an openable facility.

We choose a “minimal” payable facility as follows. Let \(\tau' \in [\theta,(1+\varepsilon^2)\theta]\) be the smallest value such that there exists some \(i\in F'\), for which the values \(\tau_j\), defined by \[\tau_j := \begin{cases} \min\{\tau', (1-\delta)d(j,S)\}, & \text{if } j \in A \cap B(i,\varepsilon\theta),\\ \alpha_j, & \text{otherwise}, \end{cases}\] satisfy \[\sum_{j \in A} [\tau_j - (1-\delta)d(i,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(j, i)]^+ \geq \hat{f}, \label{eq:dual-feasible-induction-tauprime-local}\tag{10}\] for some \(i\in F'\). We remark that \(i\not \in S\) is not yet open since if it was open then there would be no client \(j\in A\) for which \(\tau_j-(1-\delta)d(i,j)\) is strictly positive and the bids of inactive clients would be \(0\). (Strictly speaking, here we assume \(\hat{f} >0\) since otherwise all facilities are opened at the very beginning of the algorithm and there is nothing to prove.)

We now show that this \(\tau\) satisfies the conditions of Definition 3 for \(i\). In other words, \(i\) is an openable facility (that was not yet opened), which implies the lemma. We verify the conditions of Definition 3 with \(\eta =0\) one-by-one. The first two bullets are satisfied by the definition of the bids \((\tau_j)_{j\in A}\). The third bullet is satisfied by 10 . Finally, we verify the dual feasibility condition. Suppose toward contradiction that there is a facility \(i_0\) and \(\ell \in A\) such that \[\begin{gather} \sum_{j\in A } [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_\ell - d(i_0,\ell) - 2d(i_0, j)]^+ > \hat{f}. \end{gather}\] Note that \(\ell \in A\) implies \(\tau_\ell \leq (1 - \delta)d(\ell, S)\) and for every \(j \in I\), \((1 - \delta)d(\ell, S) \leq (1 - \delta)(d(\ell, i_0) + d(i_0, j) + d(j, S)).\) Thus \[\label{eqn:clm:nooverbid:payableopenable} \tau_\ell - d(i_0, \ell) - 2d(i_0, j) \leq (1-\delta) d(j,S) - d(i_0,j)\,.\tag{11}\] We conclude that \[\begin{align} \sum_{j \in A} [\tau_j - d(i_0,j)]^+ & + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i_0, j)]^+ \\ & \overset{\eqref{eqn:clm:nooverbid:payableopenable}}{\geq} \sum_{j\in A} [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_\ell - d(i_0,\ell) - 2d(i_0, j)]^+ > \hat{f}\,. \end{align}\] We remark that this implies that \(\tau' > \theta\) since otherwise, as then \(\tau_j = \alpha_j =\theta\) for every \(j\in A\), the above inequality would contradict 9 .

We proceed to prove that the above inequality implies that we could have further lowered \(\tau'\) while keeping equality  10 true for \(i_0\), which contradicts the minimality of \(\tau'\) (using that \(\tau'>\theta\)). (It implies that \(i_0\) is also payable with a smaller \(\tau'\), which contradicts the minimality of \(\tau'\).) To see this, define the values \(\tau^{(i_0)}_j\) for every \(j\in A\) by \[\tau^{(i_0)}_j := \begin{cases} \min\{\tau', (1-\delta)d(j,S)\}, & \text{if } j \in A \cap B(i_0,\varepsilon\theta),\\ \alpha_j, & \text{otherwise}, \end{cases}\] We claim \[\tau^{(i_0)}_j - (1-\delta)d(i_0,j) \geq \tau_j - d(i_0,j) \qquad for every j\in A.\] If \(j\in B(i_0, \varepsilon\theta)\), then \(\tau^{(i_0)}_j \geq \tau_j\) and the inequality is immediate. Else if \(j\not \in B(i_0, \varepsilon\theta)\), then \(\tau^{(i_0)}_j = \alpha_j = \theta\) and \(\tau_j \leq \tau'\leq (1+\varepsilon^2) \theta\), so the inequality is also satisfied in this case because \(\delta d(i_0,j) \geq \delta \varepsilon\theta = 3\varepsilon^2 \theta \geq \varepsilon^2 \theta\).

By the above calculations, we have \[\begin{align} \sum_{j \in A} & [\tau^{(i_0)}_j - (1-\delta)d(i_0,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(j, i_0)]^+ \\ & \geq \sum_{j \in A} [\tau_j - d(i_0,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(j, i_0)]^+ \\ & \geq \sum_{j \in A} [\tau_j - d(i_0,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i_0)]^+ \\ & > \hat{f}\,, \end{align}\] which implies that \(\tau'\) could have been further lowered while keeping 10 true for \(i_0\), contradicting the minimality of \(\tau'\). This concludes the proof that there is an openable facility, which proves the lemma. ◻

In the next subsection we will merge two solutions into one with \(|S_{\mathsf{reg}}| =k\) and \(S_{\mathsf{free}}=O(\log n/\varepsilon^2)\). To our help, we will have two basic routines \(\mathrm{\small CompleteSolution}\) and \(\mathrm{\small CompleteSequence}\):

  • \(\mathrm{\small CompleteSolution}_{f,u}(\mathcal{H})\) takes a partial solution \(\mathcal{H}\) as input and returns a solution by running the while-loop of stage 1 in LogAdaptive using the opening cost \(f\) and the distances \(u\) for free facilities already opened.

  • \(\mathrm{\small CompleteSequence}_{f,u}(\mathcal{H}= (H_1, \ldots, H_{p-1}), H_p = \langle h_1, \ldots, h_\ell\rangle )\) where \(\mathcal{H}\) is partial solution and \(H_p\) is an \(\eta\)-valid sequence except that it may not be maximal. \(\mathrm{\small CompleteSequence}\) then runs the while-loop of stage \(1\) in LogAdaptive starting with \(H_p\) to return a maximal sequence whose prefix is \(H_p\) (with respect to opening cost \(f\) and distances \(u\)).

We note that all facilities added by CompleteSolution and CompleteSequence are \(0\)-openable and regular. Additionally, for intuition, observe that, with the above notation, the set of facilities opened by \(\mathrm{\small CompleteSolution}_{f,u}(\emptyset)\) is equivalent to that opened by LogAdaptive. (There is no free facility so \(u\) is meaningless here.) To simplify notation, we only use \(\mathrm{\small CompleteSequence}\) when the partial solution \(\mathcal{H}\) is clear from the context, so we simply write \(\mathrm{\small CompleteSequence}_{(f,u)}(\langle h_1, \ldots, h_\ell \rangle)\). Furthermore, we omit \((f,u)\) when the parameters are clear from the context.

3.5 MergeSolutions↩︎

We now present our procedure MergeSolutions that walks between two solutions. We will maintain two solutions \((\mathcal{H}, f, u)\) and \((\mathcal{H}', f', u')\) whose numbers of open regular facilities sandwich \(k\). (Formally, let us say \(a\) and \(b\) sandwich \(k\) if \(a<k<b\) or \(b<k<a\).) We will gradually make them closer until one of them opens exactly \(k\) regular facilities. We start from the two initial solutions obtained using the standard method. Note that the minimum nonzero distance is \(1\) and the maximum distance is \(M= \mathrm{poly}(n)\), which implies that \(\text{opt}\leq nM\).

3.5.0.1 Initialization.

We consider executions of \(\mathrm{\small CompleteSolution}_{f, u}(\emptyset)\) with empty \(u\). When \(f = 1/n^2\), every client \(j \in D\) satisfies \(d(j, S) = 0\) if \(d(j, F) = 0\) and \(d(j, S) \leq d(j, F) + 2/n^2\) otherwise, as each client can open its closest facility by itself when \(\alpha _j = d(j, F) + 2/n^2\). If this solution opens at most \(k\) centers, then it is already an \((1+2/n)\)-approximation and we return it. On the other hand, when \(f = 4nM\), the algorithm will open exactly one facility, since the first facility is open when \(\theta \geq 2M\), so every client becomes immediately inactive when it is open. We then perform a binary search in the interval \([1/n^2, 4nM]\) of values of \(f\), keeping the invariant that for the current research interval \([f,f']\) the corresponding two solutions \((\mathcal{H}, f, u)\) and \((\mathcal{H}', f', u)\) are such that \((\mathcal{H}, f, u)\) opens less than \(k\) facilities and \((\mathcal{H}', f', u)\) opens more than \(k\) facilities. We halt the process when \(f \leq f' \leq f + \eta\).

3.5.0.2 General Step.

MergeSolutions works on phase \(p = 1, 2, \dots\) iteratively, and ensures that the two solutions are identical up to the \(p\)-th phase. Formally, MergeSolutions takes two solutions \((\mathcal{H}, f, u)\) and \((\mathcal{H}', f', u')\) as well as the current phase \(p\) as input. The following promises on them will be satisfied whenever we call MergeSolutions.

  • Both solutions consist of \(\eta\)-valid sequences.

  • The numbers of open regular facilities by the two solutions sandwich \(k\).

  • Exactly one parameter, which we call the difference parameter, differs by at most \(\eta\) between the two solutions, i.e, if \(f\neq f'\) then \(|f-f'| \leq \eta\) and \(u(\tilde{i}) = u'(\tilde{i})\) for every \(\tilde{i} \in F_{\mathsf{free}}\); otherwise if \(f=f'\) there is exactly one free facility \(\tilde{i}\in F_{\mathsf{free}}\) so that \(u(\tilde{i}) \neq u'(\tilde{i})\) and \(|u(\tilde{i}) - u'(\tilde{i})| \leq \eta\).

  • \(\mathcal{H}= (H_1, H_2, \ldots, H_L)\) and \(\mathcal{H}' = (H'_1, H'_2, \ldots, H'_{L'})\) have a common prefix of length \(p-1\), i.e., \(H_i = H'_i\) for \(i=1,2, \ldots, p-1\). Furthermore, the remaining sequences \(H_p, \ldots, H_L\) and \(H'_p,\ldots, H'_{L'}\) only contain regular facilities and are \(0\)-valid with respect to the parameters \(f, u\) and \(f', u'\), respectively. (This implies that \(\mathcal{H}\) and \(\mathcal{H}'\) open the same set of free facilities.)

Given the promises, the goal of MergeSolutions is to

  • either find a solution of \(\eta\)-valid sequences that opens exactly \(k\) regular facilities and \(O_{\varepsilon}(\log n)\) free facilities, or

  • produce two new solutions that satisfy the above promises for phase \(p + 1\).

Since the maximum distance between any two points is \(M\leq \mathrm{poly}(n)\) and \(f \leq 4nM\), before \(\theta\) reaches \(6M\), at least one facility will open and every client will become inactive. Therefore, for some threshold \(p^* = O(\log n / \varepsilon^2)\), once \(\mathcal{H}\) and \(\mathcal{H}'\) agree on the first \(p^*\) phases, they open exactly the same set of facilities which violates the promise that the numbers of open regular facilities sandwich \(k\). Therefore, case (1) must happen for some \(p \leq p^*\), which yields a solution of \(\eta\)-valid sequences that opens exactly \(k\) regular facilities and \(O(\log n)\) free facilities. Combined with Theorem 4, this proves Theorem [thm:pseudo-approx]. Indeed, we then have a solution consisting of open centers \(S\) with \(|S| = k + O(\log(n)/\varepsilon^2)\) such that, by Theorem 4, \[\begin{align} \sum_{j\in D} d(j, S) & \leq \frac{2}{1-\delta} \cdot \left( \text{opt}_{\text{LP}}(f) - (f-\eta n) \cdot k \right) \leq (2+O(\varepsilon)) \text{opt}\,, \end{align}\] where, for the last inequality, we used that \(\eta = 2^{-n}\) and \(\text{opt}\geq 1\) (since any distance is at least \(1\)). Theorem [thm:pseudo-approx] then follows by scaling \(\varepsilon\) appropriately.

In the remainder of this section, we present MergeSolutions for two solutions and a given phase \(p\). It consists of three subroutines, presented in Section 3.5.1 3.5.2, and 3.5.3 respectively. Each subroutine achieves (1) or (2) above (which ends the whole procedure or lets us move on to the next phase), or sets up the stage for the next subroutine. The final third subroutine always achieves (1) or (2).

3.5.1 Making Parameters Identical↩︎

In this subsection, we try to make the parameters of the two solutions exactly identical. By renaming, we assume that if \(f\neq f'\) is the difference parameter then \(f' < f\), and if the difference parameter is \(u(\tilde{i}) \neq u'(\tilde{i})\) then \(u(\tilde{i}) < u'(\tilde{i})\).

Claim 2. \(H'_1, H'_2, \ldots, H'_p\) are \(\eta\)-valid sequences with respect to parameters \(f, u\).

Proof. Suppose first that \(f\neq f'\) is the difference parameter. As the first \(p-1\) sequences are identical, we have that \(H'_1, \ldots, H'_{p-1}\) are \(\eta\)-valid with respect to parameters \(f, u\). We further have that \(H'_p\) is \(\eta\)-valid with respect to parameters \(f, u\) since it was \(0\)-valid with respect to parameters \(f', u'\) and the only difference is that \(f\) is slightly bigger than \(f'\) by at most \(\eta\). For maximality, we have by Lemma 8 that there is no payable facilities after opening \(H'_p\) with respect to opening cost \(f'\) and increasing the opening cost \(f\) cannot introduce any new payable facilities, so \(H'_p\) is also maximal with respect to \(f\).

Now assume that \(u(\tilde{i}) \neq u'(\tilde{i})\) is the difference parameter. Then by the same arguments as above, we have \(H'_1, \ldots, H'_{p-1}\) are \(\eta\)-valid with respect to \(f,u\). Moreover, \(H'_p\) was \(0\)-valid with respect to \(f',u'\) and we have that \(u'(\tilde{i}) - \eta \leq u(\tilde{i}) \leq u'(\tilde{i})\). It remains to show that \(H'_p\) is \(\eta\)-valid with respect to \(f,u\) in this case. The maximility of \(H'_p\) with respect to \(f,u\) is implied by Lemma 8 by the same arguments as above when \(f\neq f'\): since lowering \(u(\tilde{i}) \leq u'(\tilde{i})\) only decreases the payments toward opening facilities and, hence, it does not introduce any new payable facilities. We proceed to show that the facilities remain \(\eta\)-openable.

Let \(H'_p = \langle h_1, \dots, h_{\ell} \rangle\) and consider \(h_t\) for some \(t \in [\ell]\), which is \(0\)-openable with respect to \(f', u', \theta = (1 + \varepsilon^2)^{p - 1}\) and some superset \(S' \supseteq (\cup_{q \in [p-1]} H_q) \cup \{ h_1, \dots, h_{t-1} \}\). When we change from \(f', u'\) to \(f, u\), since the only difference is \(u(\tilde{i}) < u'(\tilde{i})\), the set of active clients \(A'\) for \(f', u'\) is a superset of the set of active clients \(A\) for \(f, u\). Also, let \(d'(\cdot, \cdot)\) and \(d(\cdot, \cdot)\) be the distances with respect to \(u'\)and \(u\) respectively. Based on the fact that \(h_t\) was \(0\)-openable with respect to the former setting with bids \((\tau'_j)_{j \in A'}\), let \((\tau_j)_{j \in A}\) be the new bids defined as \(\tau_j = \min(\tau'_j, (1-\delta)d(j, S))\) for \(j \in A\). Let us show that \(h_t\) was \(\eta\)-openable with respect to the latter setting with bids \((\tau_j)_{j \in A}\) by checking the conditions in Definition 3:

  • \(\tau_j = \alpha_j\) for every \(j \in A - B(h_t, \varepsilon\theta)\): Since it was true for \(A' \supseteq A\), it remains true.

  • \(\alpha_j \leq \tau_j \leq \min\{(1-\delta)d(j,S),(1+\varepsilon^2)\theta\}\) for every \(j \in A \cap B(h_t, \varepsilon\theta)\): Fix \(j \in A \cap B(h_t, \varepsilon\theta)\). Since \(A \subseteq A'\), \(\tau'_j \leq \min\{(1-\delta)d'(j,S),(1+\varepsilon^2)\theta\}\). Since \(\tau_j\) is defined as \(\min(\tau'_j, (1-\delta)d(j,S))\), the condition is satisfied. (Note that \(j \in A\) implies \(\alpha_j \leq \min(\tau'_j, (1-\delta)d(j, S))\) as well.)

  • \(\sum_{j \in A} [\tau_j - (1-\delta)d(h_t,j)]^+ + (1-\delta)\sum_{j \in I} [d(j,S)-d(h_t,j)]^+ \geq \hat{f} - n \eta\): Let us argue that the contribution of each client \(j\) to the left-hand side changes by at most \(\eta\) between \((A', d', \tau')\) and \((A, d, \tau)\). For \(j \in A\), note that \(\tau_j < \tau'_j\) implies \(\tau_j = (1-\delta)d(j, \tilde{i}) \geq (1-\delta)(d'(j, \tilde{i}) - \eta) \geq \tau'_j - \eta\), so \(\tau_j \geq \tau'_j - \eta\) in any case. For \(j \in I'\), note that \(d(j, S)\) and \(d'(j, S)\) only differ by at most \(\eta\). Finally for \(j \in A' \cap I\), \((1-\delta)d(j, S) \geq \tau_j \geq \tau'_j - \eta\). Therefore, the fact that this condition was satisfied for \((A', d', \tau')\) with \(\hat{f}\) on the right-hand side implies that \((A, d, \tau)\) satisfies this condition with \(\hat{f} - n \eta\) on the right-hand side.

  • For every regular facility \(i_0\) and \(\ell \in A\), \(\sum_{j \in A} [\tau_j - d(i_0,j)]^+ + \sum_{j \in I} [\tau_\ell - 2d(j,i_0) - d(\ell, i_0)]^+\leq \hat{f}\): Since \(\ell \in A\) implies \(\ell \in A'\), we have \[\sum_{j \in A'} [\tau'_j - d(i_0,j)]^+ + \sum_{j \in I'} [\tau'_\ell - 2d(j,i_0) - d(\ell, i_0)]^+ \leq \hat{f}.\] (Since \(i_0\) is a regular facility, \(d(i_0, j)\) for a client \(j\) does not change by changing \(u(\tilde{i})\).) For \(j \in A' \cap I\), since \(j \in I\) and \(\ell \in A\), one has \[\tau'_j \geq \alpha_j \geq d(j, S) \geq d(\ell, S) - d(\ell, j) \geq \tau_\ell - d(j, i_0) - d(\ell, i_0).\] Thus \(\tau'_j - d(i_0, j) \geq \tau_\ell - 2d(j, i_0) - d(\ell, i_0)\). Therefore we have \[\sum_{j \in A} [\tau_j - d(i_0,j)]^+ + \sum_{j \in I} [\tau_\ell - 2d(j,i_0) - d(\ell, i_0)]^+ \leq \hat{f}.\]

 ◻

3.5.1.1 Outcome of this section of MergeSolutions.

Let \[\mathcal{H}'' = \mathrm{\small CompleteSolution}_{(f,u)}(H'_1, \ldots, H'_p)\,,\] which is a valid call by Claim 2. If \(\mathcal{H}''\) opens \(k\) regular facilities, we return this solution. Otherwise, as \((\mathcal{H}, f,u)\) and \((\mathcal{H}', f', u')\) sandwich \(k\), we must have that either \((\mathcal{H}, f, u)\) and \((\mathcal{H}'', f, u)\), or \((\mathcal{H}'', f, u)\) and \((\mathcal{H}', f', u')\) sandwich \(k\). On the one hand, if \((\mathcal{H}'', f, u)\) and \((\mathcal{H}', f',u')\) sandwich \(k\), then we made progress in that we now have two solutions with a common prefix of length \(p\) (instead of \(p-1\)) and only one parameter differs by at most \(\eta\). In this case, we are done with phase \(p\) and can continue MergeSolutions with these two solutions and phase \(p+1\).

On the other hand, if \((\mathcal{H}, f,u)\) and \((\mathcal{H}'', f, u)\) sandwich \(k\), then these two solutions have the same parameters and their first \(\eta\)-valid sequences that differ are \(H_p\) and \(H'_p\). In this case, we rename \(\mathcal{H}''\) to \(\mathcal{H}'\) and proceed to the next step.

3.5.2 Maximize Common Prefix of \(H_p\) and \(H'_p\)↩︎

We are given two solutions \((\mathcal{H}, f,u)\) and \((\mathcal{H}', f, u)\) on the same parameters \(f,u\) that sandwich \(k\). Moreover, if we let \(\mathcal{H}= (H_1, \ldots, H_L)\) and \(\mathcal{H}' = (H'_1, \ldots, H'_{L'})\), then \(H_i = H'_i\) for \(i= 1, \ldots, p-1\) and \(H_p \neq H'_p\). In addition \(H_p\) and \(H'_p\) only contain regular facilities.

In this step of MergeSolutions, we increase the common prefix of \(H_p\) and \(H'_p\) by “slowly” modifying \(H'_p\). Recall that \(H_p\) only contains regular facilities: let \(H_p = \langle i_1, i_2, \ldots, i_\ell \rangle\). Moreover, as the parameters \((f,u)\) are clear from the context, we omit them in the following when, e.g., calling the procedures CompleteSolution and CompleteSequence.

3.5.2.1 Transforming \(H'_p\) step-by-step so that \(H_p\) becomes a prefix of \(H'_p\).


Repeat the following until all of \(H_p\) becomes a prefix of \(H'_p\).

  • Let \(q\) be the largest index so that \(H'_p = \langle i_1, i_2, \ldots, i_q, h'_{q+1}, \ldots, h'_{\ell_1}\rangle\), i.e., \(q\) equals the length of the common prefix \(i_1, i_2, \ldots, i_q\) of \(H_p\) and \(H'_p\).

  • Update \(H'_p\) by inserting a free copy of \(i_{q+1}\), \(\tilde{i}_{q+1}\), at the end of \(H'_p\) with \(u(\tilde{i}_{q+1}) = 0\). That is, we get the sequence \[\begin{gather} H'_p = \langle i_1, i_2, \ldots, i_q, h'_{q+1}, \ldots, h'_{\ell_1}, \tilde{i}_{q+1} \rangle,. \end{gather}\]

  • For \(t = q+1 , \ldots, \ell_1\),

    • Update \(H'_p\) by first removing \(h'_t\) and then completing the sequence by a call to CompleteSequence. More explicitly, if \[\begin{align} H'_p = & \langle i_1, \ldots, i_q, h'_t, h'_{t+1} \ldots, h'_{\ell_1}, \tilde{i}_{q+1}, h'_{\ell_1+1}, \ldots, h'_{\ell_2}\rangle \\ \intertext{then we delete h'_t to obtain} H''_p = & \langle i_1, \ldots, i_q, h'_{t+1} \ldots, h'_{\ell_1}, \tilde{i}_{q+1}, h'_{\ell_1+1}, \ldots, h'_{\ell_2}\rangle \\ \intertext{and finally update H'_p = \mathrm{\small CompleteSequence}(H''_p) which will be of the form} & \langle i_1, \ldots, i_q, h'_{t+1}, \ldots, h'_{\ell_1}, \tilde{i}_{q+1}, h'_{\ell_1+1}, \ldots, h'_{\ell_2}, \ldots, h'_{\ell_3}\rangle\,, \end{align}\] where \(h'_{\ell_2+1},\ldots, h'_{\ell_3}\) are the facilities added by CompleteSequence(which could be empty).
  • After removing \(h'_{q+1}, \ldots, h'_{\ell_1}\), we have \[\begin{align} H'_p & = \langle i_1, i_2, \ldots, i_q, \tilde{i}_{q+1}, h'_{x}, \ldots, h'_{y}\rangle\,. \\ \intertext{We update H'_p by replacing \tilde{i}_{q+1} with its regular copy i_{q+1}, i.e., we obtain} H'_p & = \langle i_1, i_2, \ldots, i_q, {i}_{q+1}, h'_{x}, \ldots, h'_{y}\rangle\,. \end{align}\]

We have the following claims.

Claim 3. Throughout the updates to \(H'_p\), \(H'_1, \ldots, H'_p\) remains an \(\eta\)-valid sequence, and \(H'_p\) contains at most one free facility.

Proof. As we never update \(f\) or the value \(u(\cdot)\) of a free facility in \(H'_1, \ldots, H'_{p-1}\), these sequences remain \(\eta\)-valid.

We continue to argue that \(H'_p\) remains \(\eta\)-valid throughout its updates. By Claim 2, this is true before any updates to \(H'_p\). We now analyze the three types of updates to \(H'_p\).

  • Updating \(H'_p\) by inserting a free copy \(\tilde{i}_{q+1}\) of \(i_{q+1}\) maintains that it is \(\eta\)-valid as every regular facility stays \(\eta\)-openable in the sequence (they have the same prefix as before) and the sequence remains maximal (by Lemma 8 as adding a free facility does not make any new facility payable).

  • Updating \(H'_p\) by removing \(h'_t\) and calling CompleteSequence. Removing a \(h'_t\) can only decrease the prefix of regular facilities in the sequence, and so each regular facility still has a (superset) of facilities for which it is \(\eta\)-openable. Finally, the call CompleteSequence ensures that the sequence is maximal.

  • Updating \(H'_p\) by replacing \(\tilde{i}_{q+1}\) with its regular copy \(i_{q+1}\). First note that, since \(u(\tilde{i}_{q+1}) = 0\), this does not impact on the following regular facilities being \(\eta\)-openable (with respect to a superset). By the same argument, the sequence stays maximal (as \(\tilde{i}_{q+1}\) with \(u(\tilde{i}_{q+1}) = 0\) and \(i_{q+1}\) has the same impact on following facilities). Finally, to see that \(i_{q+1}\) is \(\eta\)-openable (with respect to a potential superset) notice that the prefix \(i_1, \ldots, i_q\) is the same as that in \(H_p\) which is an \(\eta\)-valid sequence.

We complete the proof of the claim by arguing that \(H'_p\) contains at most one free facility at any point of time. This follows from the facts that (1) \(H'_p\) initially contains no free facility, (2) in one repetition, the free facility \(\tilde{i}_{q+1}\) is inserted into \(H'_p\), and (3) \(\tilde{i}_{q+1}\) is replaced by its regular copy \(i_{q+1}\) before continuing to the next repetition. ◻

3.5.2.2 Outcome of this section of MergeSolutions.

We distinguish three cases.

3.5.2.3 Case 1.

If at some point \(H'_p\) is such that \(\mathrm{\small CompleteSolution}(H'_1, H'_2, \ldots, H'_p)\) opens exactly \(k\) regular facilities, then we return that solution.

3.5.2.4 Case 2.

Otherwise, suppose there is an update to \(H'_p\) so that if we let \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\) denote \(H'_p\) before and after this update, respectively, then CompleteSolution\((H_1, H_2, \ldots, H^{\text{before}}_p)\) and CompleteSolution\((H_1, H_2, \ldots, H^{\text{after}}_p)\) sandwich \(k\). There are three kinds of updates to \(H'_p\). However, note that the update where \(\tilde{i}_{q+1}\) is replaced by its regular copy \(i_{q+1}\) cannot satisfy the conditions of this case. Indeed, as \(u(\tilde{i}_{q+1}) = 0\), we have \[\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{before}}_p) = \mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{after}}_p)\] in this case, which contradicts that they sandwich \(k\).

We proceed to analyze the two other kind of updates. If the update to \(H'_p\) is to insert a free facility \(\tilde{i}_{q+1}\) with \(u(\tilde{i}_{q+1}) = 0\). Then \[\begin{align} H^{\text{before}}_p& = \langle i_1, i_2, \ldots, i_q, h'_{q+1}, \ldots, h'_{\ell_1} \rangle \\ H^{\text{after}}_p& = \langle i_1, i_2, \ldots, i_q, h'_{q+1}, \ldots, h'_{\ell_1}, \tilde{i}_{q+1} \rangle \end{align}\] Note that the solution CompleteSolution\((H_1, H_2, \ldots, H^{\text{before}}_p)\) is equivalent to CompleteSolution\((H_1, H_2, \ldots, H^{\text{after}}_p)\) if we set \(u(\tilde{i}_{q+1}) = 10M\) (except for the free facility \(\tilde{i}_{q+1}\)). We can thus do binary search on \(u(\tilde{i}_{q+1})\) to find two values \(u'(\tilde{i}_{q+1})\) and \(u(\tilde{i}_{q+1})\) with \(|u'(\tilde{i}_{q+1}) - u(\tilde{i}_{q+1})| \leq \eta\) so that the solutions \(\mathrm{\small CompleteSolution}_{(f,u')}(H_1, \ldots, H^{\text{after}}_p)\) and \(\mathrm{\small CompleteSolution}_{(f,u)}(H_1, \ldots, H^{\text{after}}_p)\) sandwich \(k\) (where \(u\) and \(u'\) are identical except for \(\tilde{i}_{q+1}\)). We have thus finished phase \(p\), and we can restart MergeSolutions with the two solutions and phase \(p+1\), since they have the first \(p\), instead of \(p-1\), \(\eta\)-valid sequences in common and exactly one difference parameter. Their maximality follows from that of \(H^{\text{before}}_p\).

Finally, consider when the update to \(H'_p\) is of the second type, i.e., \(u(\tilde{i}_{q+1}) = 0\) and \[\begin{align} H^{\text{before}}_p= & \langle i_1, \ldots, i_q, h'_t, h'_{t+1} \ldots, h'_{\ell_1}, \tilde{i}_{q+1}, h'_{\ell_1+1}, \ldots, h'_{\ell_2}\rangle \\ H^{\text{after}}_p= & \langle i_1, \ldots, i_q, h'_{t+1}, \ldots, h'_{\ell_1}, \tilde{i}_{q+1}, h'_{\ell_1+1}, \ldots, h'_{\ell_2}, \ldots, h'_{\ell_3}\rangle \end{align}\] In this case, \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{before}}_p)\) and \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{after}}_p)\) are two solutions with the same parameters \(f, u\), that sandwich \(k\) and we proceed to the next step with the following properties of \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\):

  • Both sequences contain one free facility, \(\tilde{i}_{q+1}\).

  • \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\) are identical except that (1) \(H^{\text{before}}_p\) contains a regular facility \(h'_t\) not present in \(H^{\text{after}}_p\), and (2) \(H^{\text{after}}_p\) contains a (potentially empty) suffix of regular facilities not present in \(H^{\text{before}}_p\).

3.5.2.5 Case 3.

None of the previous cases apply. Then, completing the solution with the initial \(H'_p\) and the final \(H'_p\) cannot sandwich \(k\). Since then (assuming the first case does not apply) there must be an update to \(H'_p\) that results in two solutions that sandwich \(k\): this happens because the completion of \(H_p\) and the completion of the initial \(H'_p\) sandwich \(k\). The above implies that if we let \(H^{\text{before}}_p= H_p\) and \(H^{\text{after}}_p\) equal the final \(H'_p\) then CompleteSolution\((H_1, \ldots, H^{\text{before}}_p)\) and CompleteSolution\((H_1, \ldots, H^{\text{after}}_p)\) sandwich \(k\). Further note that, since \(H^{\text{after}}_p\) equals \(H'_p\) after the final updates, \(H^{\text{before}}_p\) appears as a prefix of \(H^{\text{after}}_p\) and both sequences only contain regular facilities. To summarize, in this case, CompleteSolution\((H_1, \ldots, H^{\text{before}}_p)\) and \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{after}}_p)\) are two solutions with the same parameters \(f, u\), that sandwich \(k\) and we proceed to the next step with the following properties of \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\):

  • Both sequences contain no free facilities.

  • \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\) are identical except that \(H^{\text{after}}_p\) contains a suffix of regular facilities not present in \(H^{\text{before}}_p\).

3.5.3 Removing Extra Facilities↩︎

The input to this step consists of two solutions \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{before}}_p)\) and CompleteSolution\((H_1,\ldots, H^{\text{after}}_p)\) that have the same parameters \(f, u\) and sandwich \(k\). Moreover, \(H^{\text{before}}_p\) and \(H^{\text{after}}_p\) both contain at most one free facility and they are identical except for potentially two differences:

  • \(H^{\text{before}}_p\) may contain a facility not present in \(H^{\text{after}}_p\);

  • \(H^{\text{after}}_p\) contains a suffix of regular facilities (which may be empty) that is not present in \(H^{\text{before}}_p\).

To simplify the notation in this section, we let \(i_*\) denote the regular facility in \(H^{\text{before}}_p\) that is not present in \(H^{\text{after}}_p\) if it exists (so \(i_*\) corresponds to \(h'_t\) in the previous section). We further let \(h_1, \ldots, h_\ell\) denote the suffix of \(H^{\text{after}}_p\) not present in \(H^{\text{before}}_p\).

We now transform \(H^{\text{after}}_p\) into \(H^{\text{before}}_p\) one change at a time:

3.5.3.1 Generation of \(\eta\)-valid sequences from \(H^{\text{after}}_p\) to \(H^{\text{before}}_p\).


  • If \(H^{\text{before}}_p\) contains the regular facility \(i_*\) not present in \(H^{\text{after}}_p\), then let \(\tilde{i}_*\) be a free copy of \(i_*\) with \(u(\tilde{i}_*) =0\) and obtain \(H^{0}_p\) from \(H^{\text{after}}_p\) by adding \(\tilde{i}_*\) at the end. Otherwise, we let \(H^0_p\) equal \(H^{\text{after}}_p\).

  • For \(r= 1, \ldots, \ell\), obtain \(H^r_p\) from \(H^{r-1}_p\) by removing \(h_r\).

We remark that \(H^\ell_p\) is identical to \(H^{\text{before}}_p\) since we removed the whole suffix \(h_1, \ldots h_\ell\) present in \(H^{\text{after}}_p\), except for potentially the facility \(i_*\). That is, the only difference in \(H^{\text{before}}_p\) and \(H^\ell_p\) may be the placement of \(\tilde{i}_*\) in the sequence and the fact that \(\tilde{i}_*\) is a free copy of the regular facility \(i_*\) present in \(H^{\text{before}}_p\). However, since \(u(\tilde{i}_*) = 0\), we have that the two sequences \(H^{\text{before}}_p\) and \(H^\ell_p\) have an identical impact on CompleteSolution, which is a fact we will use in the proof of Claim 5.

Claim 4. For \(r= 0, 1 \ldots \ell\), \(H^r_p\) is an \(\eta\)-valid sequence with at most two free facilities.

Proof. The sequence \(H^r_p\) has at most two free facilities because \(H^{\text{after}}_p\) has at most one free facility, and we potentially add one new free facility \(\tilde{i}_*\).

We now verify that \(H^r_p\) is \(\eta\)-valid. For any regular facility \(h'\) in the sequence, the prefix of \(H^r_p\) before \(h'\) is a subset of the prefix before \(h'\) in \(H^{\text{after}}_p\). Thus, as \(h'\) was openable with respect to a superset \(S(h')\) in \(H^{\text{after}}_p\), \(h'\) must be \(\eta\)-openable with respect to the same superset \(S(h')\) in \(H^r_p\). This ensures that the first property of Definition 4 is satisfied. To verify maximality, notice that since we added \(\tilde{i}_t\) with \(u(\tilde{i}_t) =0\) in the end, we have that the set of active clients after opening the facilities in \(H^r_p\) is a subset of the active clients after opening the facilities in \(H^{\text{before}}_p\). Hence, the maximality of \(H^{\text{before}}_p\) implies the maximality of \(H^r_p\) (by Lemma 8 as any payable facility in \(H^r_p\) is also payable in \(H^{\text{before}}_p\)). ◻

Claim 5. One of the following is true.

  • For one of the sequences \(H^r_p\), CompleteSolution\((H_1, H_2, \ldots, H^r_p)\) opens \(k\) regular facilities.

  • \(\mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^{\text{after}}_p)\) and \(\mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^{0}_p)\) sandwich \(k\).

  • CompleteSolution\((H_1, H_2, \ldots, H^r_p)\) and CompleteSolution\((H_1, H_2, \ldots, H^{r+1}_p)\) sandwich \(k\) for some \(r\in \{0, 1, \ldots, \ell-1\}\).

Proof. Assume the first bullet point does not hold, i.e., the completion of no \(H^r_p\) leads to the opening of \(k\) regular facilities. Now notice that the second and third bullet points ask whether consecutive solutions sandwich \(k\), starting with \(H^{\text{after}}_p\) and ending with \(H^{\ell}_p\). By definition, \(H^{\ell}_p\) equals \(H^{\text{before}}_p\) except potentially for the placement of \(\tilde{i}_*\) and that \(\tilde{i}_*\) is the free copy of \(i_*\) present in \(H^{\text{before}}_p\). However, as \(u(\tilde{i}_t) = 0\), the two sequences have an identical impact when we complete the solution, which implies \[\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\ell}_p) = \mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{before}}_p).\] Thus, as \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{after}}_p)\) and \(\mathrm{\small CompleteSolution}(H_1, \ldots, H^{\text{before}}_p)\) sandwich \(k\), either the second or third bullet point of the statement must be valid (since no solution opened exactly \(k\) regular facilities). ◻

3.5.3.2 Outcome of this section of MergeSolutions.

We distinguish three cases based on the first bullet point that is true in Claim 5.

3.5.3.3 Case 1.

If one of the sequences \(H^r_p\) is such that \(\mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^r_p)\) opens \(k\) regular facilities, then we return that solution.

3.5.3.4 Case 2.

Otherwise, if the solutions \(\mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^{\text{after}}_p)\) and CompleteSolution\((H_1, H_2, \ldots, H^{0}_p)\) sandwich \(k\), then \(H^0_p\) is equal to \(H^{\text{after}}_p\) except that \(\tilde{i}_p\) was added in the end of \(H^{\text{after}}_p\) with \(u(\tilde{i}_p) = 0\). Note that the solution CompleteSolution\((H_1, H_2, \ldots, H^{\text{after}}_p)\) is equivalent to CompleteSolution\((H_1, H_2, \ldots, H^0_p)\) if we set \(u(\tilde{i}_{q+1}) = 10M\) (except the presence of \(\tilde{i}_*\)). We can thus do binary search on \(u(\tilde{i}_*)\) to find two values \(u'(\tilde{i}_*)\) and \(u(\tilde{i}_*)\) with \(|u'(\tilde{i}_*) - u(\tilde{i}_*)| \leq \eta\) so that the two solutions \(\mathrm{\small CompleteSolution}_{(f,u')}(H_1, \ldots, H^0_p)\) and \(\mathrm{\small CompleteSolution}_{(f,u)}(H_1, \ldots, H^0_p)\) sandwich \(k\) (where \(u\) and \(u'\) are identical except for \(\tilde{i}_{q+1}\)). We have thus finished phase \(p\), and we can restart MergeSolutions with the two solutions and phase \(p+1\), since they have the first \(p\), instead of \(p-1\), \(\eta\)-valid sequences in common and exactly one difference parameter.

3.5.3.5 Case 3.

Finally, consider the case when none of the above cases apply and thus (by Claim 5) there is an \(r\in \{0, 1, \ldots, \ell-1\}\) so that CompleteSolution\((H_1, H_2, \ldots, H^r_p)\) and
CompleteSolution\((H_1, H_2, \ldots, H^{r+1}_p)\) sandwich \(k\). The only difference between \(H^r_p\) and \(H^{r+1}_p\) is that \(H^r_p\) contains \(h_{r+1}\) which is not present in \(H^{r+1}\). Let \(H_p\) be the sequence obtained by adding a free copy \(\tilde{i}_{r+1}\) of \(h_{r+1}\) at the end of \(H^{r+1}\) (which clearly maintains that is \(\eta\)-valid), then \[\begin{align} \mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H_p) & = \mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^r_p)if u(\tilde{i}_{r+1}) = 0 \\ \intertext{and} \mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H_p) & = \mathrm{\small CompleteSolution}(H_1, H_2, \ldots, H^{r+1}_p)if u(\tilde{i}_{r+1}) = 10M. \end{align}\] Hence, doing a binary search on \(u(\tilde{i}_{r+1})\) as in the previous case finishes phase \(p\). We can restart MergeSolutions with the two solutions and phase \(p+1\), since they have the first \(p\), instead of \(p-1\), \(\eta\)-valid sequences in common and exactly one difference parameter.

4 \((2+\varepsilon)\)-Approximation for \((\frac{\zeta}{\log n})\)-Stable Instances↩︎

In this section, we give a \((2+\varepsilon)\)-approximation algorithm for \((\frac{\zeta}{\log n})\)-stable \(k\)-median instances. The proof of the theorem is presented in Section 4.7. We restate the theorem for the reader’s convenience.

To simplify notation, we let \(\varepsilon\) be the minimum of \(\varepsilon\) and \(\zeta\) in the above theorem and further assume that \(\varepsilon<1/12\) is sufficiently small. With this notation, we present a \((2+O(\varepsilon))\)-approximation algorithm for \(\varepsilon/\log(n)\)-stable instances. This implies the above theorem as any \(\zeta/\log(n)\)-stable instance is also \(\zeta'/\log(n)\)-stable with \(\zeta' \leq \zeta\).

The algorithm and the proof of the above theorem follow several steps where we iteratively simplify the instance by adding more structure. Finally, we obtain enough structure to solve the problem by maximizing a submodular function subject to a matroid partition constraint. We have not optimized constants in favor of simplifying the description, and throughout this section we let \(O_\varepsilon(\log n)\) denote \(O(\log(n)/\varepsilon^{O(1)})\). An overview of this section and the algorithm is as follows:

4.0.0.1 Overview of \(2\)-Approximation for \(k\)-median on \((\varepsilon/\log n)\)- Stable Instance \(k, D, F, d\).


  1. We start, in Section 4.1, by running a standard Local Search on \((k, D, F, d)\) to obtain a set of centers \(S\). It is well-known that \(S\) is a constant-factor approximation. Moreover, for a stable instance, we show that \(S\) “correctly” implicitly identifies all but \(O_\varepsilon(\log n)\) centers of \(\text{OPT}\). Specifically, this ensures that all but \(O_\varepsilon(\log n)\) clusters have the same cost as in \(\text{OPT}\) up to a \((1+O(\varepsilon))\) factor.

  2. In Section 4.2, we use a technique inspired from the classic \(k\)-means++ algorithm and its so called \(D^2\)-sampling procedure to sample clients proportional to their cost in solution \(S\), and we show that if we take \(O_\varepsilon(\log n)\) samples \(W\) then with good probability we “hit” all but an insignificant fraction of clusters of high cost in \(S\).

  3. In Section 4.3, we then, guess a subset of the sampled clients \(W\) so that each hit cluster has exactly one client, which we refer to as the leader of that cluster. In addition, for each client \(\ell\) that is a leader, we guess the (approximate) distance from \(\ell\) to the optimal center in the optimal cluster it hits. This defines a set \(\mathcal{B}\) of balls with the guarantee that the optimal solution opens one center in each of these balls. Moreover, if we let \(\hat{\text{OPT}}\) be the optimal centers corresponding to these balls, we prove in Section 4.3.1 that there is a swap of centers \(M_O = S-S_0 \cup \hat{\text{OPT}}\) that removes \(S_0\) and adds the optimal centers \(\hat{\text{OPT}}\) so that the cost of the solution \(M_O\) is good and in particular a \(2+O(\varepsilon)\)-approximation.

  4. The remaining steps are then focused on approximating this swap, i.e., intuitively to that of finding \(S_0\) and \(\hat{\text{OPT}}\):

    1. We first find the set \(\mathcal{Q}\) of expensive centers of \(S_0\) so that the centers \(S_0-\mathcal{Q}\) has total cost \(O(\varepsilon\text{opt})\) in Section 4.4. This allows us to think of the centers in \(S_0 - \mathcal{Q}\) as contracted, i.e., as single weighted points, and in particular, that all clients of these clusters are assigned to the same center when their center in \(S_0\) is removed. We then, in Section 4.4.1, use this structure to partition \(S_0 - \mathcal{Q}\) into two sets \(\mathcal{U}\) and \(\mathcal{R}\) where \(\mathcal{U}\) are those centers that are reassigned to other centers in \(S - S_0\) and \(\mathcal{R}\) are those centers that are assigned to \(\hat{\text{OPT}}\).

    2. The set \(\mathcal{U}\) is then approximated with a set \(\widetilde{\mathcal{U}}\) (with close to identical properties) in Section 4.5.

    3. At this stage, we have thus “guessed” all centers \(\mathcal{Q}\cup \widetilde{\mathcal{U}}\) to remove from \(S\) except for those in \(\mathcal{R}\). This is achieved in Section 4.6 where we reduce the problem of both finding \(\mathcal{R}\) and an approximate version of \(\hat{\text{OPT}}\) to that of submodular function optimization subject to a partition matroid (since we should open one center per ball in \(\mathcal{B}\)).

We remark that in each of Steps 3, 4a, 4b, and 4c, we will make guesses by enumerating polynomially \(n^{\varepsilon^{-O(1)}}\) many potential choices. In the following, we describe the algorithm and its analysis by presenting each of these steps. When presenting the next step, we analyze the branch of the algorithm that took the successful guesses up to that point. The algorithm outputs the solution of the smallest cost among the \(n^{\varepsilon^{-O(1)}}\) constructed solutions obtained by enumerating all possible guesses (see Section 4.7 for a more formal treatment where we put everything together). In particular, the final solution will have cost at most the solution that is output in the analyzed branch of “correct” guesses.

We end this section by introducing basic definitions and concepts, followed by the definition of matroids and submodular functions. We also state the known result, an \((1-1/e)\)-approximation algorithm for maximizing monotone submodular functions subject to a matroid constraint, that we use in the last step (Section 4.6).

4.0.0.2 Definitions of leaders.

We use the following definitions throughout this section. Given a set of centers \(A\subseteq F\), we let \(\text{cost}(A):=\sum_{p\in D}d(p,A)\) denote the cost of the corresponding clustering (where each client \(p\) is assigned to the closest center in \(A\) and pays the corresponding distance). Sometimes we will consider a (possibly suboptimal) assignment \(\mu:D\rightarrow A\) of clients to centers in \(A\), and let \(\text{cost}(A,\mu):=\sum_{p\in D}d(p,\mu(p))\) be the corresponding cost. Let \(\text{OPT}\) be a fixed optimum solution for the \(k\)-median instance, and let \(\text{opt}= \text{cost}(\text{OPT})\) be its cost. For a client \(p\in D\), let \(\text{OPT}_p:=d(p,\text{OPT})\) be the cost paid by \(p\) in \(\text{OPT}\).

Let \(C^*\) be an \(\text{OPT}\) cluster with center \(c^*\in \text{OPT}\). We let \(\text{avg}_{C^*, \text{OPT}}\) be the distance from \(c^*\) to the \(\varepsilon|C^*|\)th closest client of \(C^*\) to \(c^*\). We further let \(C^*_\text{avg}\) be the set of clients of \(C^*\) at a distance at most \(\text{avg}_{C^*, \text{OPT}}\) from \(c^*\), we refer to these clients as leaders for \(C^*\). So \(\text{avg}_{C^*, \text{OPT}}\) is the maximum distance from a leader to its center \(c^*\). Also note that we have, \(|C^*_{avg}|\geq {\varepsilon}|C^*|\). We thus have that \(\text{avg}_{C^*, \text{OPT}}\) is upper bounded by \(\frac{1}{1-\varepsilon}\) times the average cost \(\frac{1}{|C^*|} \sum_{p\in C^*} d(p, c^*)\), and at the same time \(C^*_{avg}\) contains a constant fraction of the clients.

4.0.0.3 Partition matroids.

In Section 4.6, we formulate a submodular function that we then maximize over a partition matroid using known results. We define those concepts and also state the result that we will use. First, recall the definition of a matroid and partition matroid. A matroid is a tuple \((E, \mathcal{I})\) defined on a ground set \(E\) with a family of independent sets \(\mathcal{I}\) that satisfy: (1) if \(A \in \mathcal{I}\) and \(A' \subseteq A\), then \(A' \in \mathcal{I}\); and (2) if \(A, B \in \mathcal{I}\) and \(|A| < |B|\), then there exists an element \(e \in B - A\) such that \(A \cup \{e\} \in \mathcal{I}\). In the special case of a partition matroid, the ground set \(E\) is partitioned into disjoint subsets \(E_1, E_2, \dots, E_k\), and there are non-negative integers \(r_1, r_2, \dots, r_k\) such that:

  • A subset \(I \subseteq E\) is independent if and only if \(|I \cap E_i| \leq r_i\) for each \(i = 1, 2, \dots, k\).

In other words, each subset \(E_i\) has a capacity limit \(r_i\), and an independent set \(I\) cannot contain more than \(r_i\) elements from \(E_i\). To work with matroids (to get a running time that is polynomial in the size of the ground set \(E\)), we often use independence queries, which allow us to determine if a given subset \(A \subseteq E\) is independent (i.e., whether \(A \in \mathcal{I}\)). Specifically, an independence query on a subset \(A\) returns true if \(A\) is independent and false otherwise.

4.0.0.4 Submodular functions.

Having defined matroids, we proceed to define non-negative monotone submodular functions. For a finite ground set \(E\), a set function \(f: 2^E \to \mathbb{R}\) is submodular if it satisfies the diminishing returns property: for every pair of sets \(A \subseteq B \subseteq E\) and any element \(e \in E - B\), it holds that \[f(A \cup \{e\}) - f(A) \geq f(B \cup \{e\}) - f(B).\] Intuitively, this means that adding an element \(e\) to a smaller set \(A\) provides at least as much additional value as adding \(e\) to a larger set \(B\). In addition, \(f\) is called monotone if for any pair of sets \(A \subseteq B \subseteq E\), we have \(f(A) \leq f(B)\). In other words, adding elements to a set does not decrease the function value. Finally, \(f\) is non-negative if \(f(A) \geq 0\) for all \(A \subseteq E\).

A celebrated result [47] gives a polynomial-time \((1-1/e)\)-approximation algorithm for the problem of maximizing a non-negative monotone submodular function over a matroid constraint. While the original result was a randomized algorithm, a recent striking result [48], building upon the work of [49], gives a deterministic algorithm with the same guarantee. We remark that polynomial time here refers to a running time that is polynomial in the size of the ground set \(E\). To summarize, they show the following theorem.

Theorem 5. Let \(f: 2^E \to \mathbb{R}\) be a non-negative monotone submodular function that we can evaluate in polynomial time, and let \((E, \mathcal{I})\) be a matroid on the same groundset, for which we can answer independence queries in polynomial time. Then, for every \(\zeta>0\), there is a polynomial-time algorithm that outputs a set \(X\subseteq E\) with \(X \in \mathcal{I}\) so that \[f(X) \geq (1-1/e - \zeta) \cdot \max_{X^*\in \mathcal{I}} f(X^*)\,.\]

4.1 Properties of a Locally Optimal Solution↩︎

Let \(S\) be a locally optimal solution output by the following standard local search algorithm9. We remark that its running time is polynomial since by Lemma 1 the cost of a solution is a polynomially bounded integer and, at each improving step, the cost decreases by at least one.

4.1.0.1 \(localSearch(\cdot)\)


\(S \leftarrow\) arbitrary solution for \(k\)-Median \(S \leftarrow S'\) return \(S\)

Let \(S\) be the solution returned by \(localSearch()\). Local search achieves a \(5\) approximation for \(k\)-median, see e.g. Chapter 9.2 in [50].

Lemma 9. \(\text{cost}(S) \leq {5}\cdot \text{opt}\).

In the remaining part of the algorithm and its analysis we fix \(S\), and recall that we fixed the reference optimal solution \(\text{OPT}\). We distinguish different types of clusters of \(\text{OPT}\) and analyze their properties in the next two sections. We let \(S_p\) be the cost paid by \(p\) in \(S\) and recall that \(\text{OPT}_p\) denotes the cost \(p\in D\) pays in \(\text{OPT}\).

4.1.1 Pure Clusters↩︎

We say that a cluster \(C^*\) of \(\text{OPT}\) is pure (w.r.t. \(S\)) if there exists a cluster \(C'\) of \(S\) such that \(|C' \Delta C^*| \le {3\varepsilon} \min(|C^*|,|C'|)\). In which case we also say that \(C'\) is pure w.r.t. \(\text{OPT}\). We say that \(C'\) and \(C^*\) are associated. The following lemma follows from the fact that the input is \(\beta\)-stable for \(\beta := \varepsilon/\log n\) and that the solution \(S\) is a \({5}\)-approximation by Lemma 9. Given a client or center \(a\) and a distance \(r\), we let \(B(a,r)\) be the set of clients and centers at distance at most \(r\) from \(a\). This lemma is originally proved in [45], we include a proof for completeness. In this proof we use in a few places the assumption that \(\varepsilon>0\) is upper bounded by a small enough constant.

Lemma 10 (Restatement from [45], Lemma IV.4). The number \(k_{imp}\) of clusters of \(\text{OPT}\) that are not pure w.r.t. \(S\) (and thus the number of clusters of \(S\) which are not pure w.r.t \(\text{OPT}\)) is at most \(\frac{\log n}{\varepsilon^3}\).

Proof. We let \(C^*_o\) denote the optimal cluster for each optimal center \(o\in \text{OPT}\) and we let \(C_c\) denote the cluster in \(S\) corresponding to center \(c\in S\). We refine \(\text{OPT}\) in steps so that the final set only consists of centers of pure clusters.

We start by removing expensive clusters in \(\text{OPT}\). Specifically, let \[\widetilde{\text{OPT}} = \{ o \in \text{OPT}\mid \sum_{p\in C^*_o} d(p, o) \geq \frac{5\varepsilon^3}{\log n}\text{opt}\}\,.\] Clearly \(|\widetilde{\text{OPT}}|\leq \frac{\log n}{5\varepsilon^3}\). Let \(\text{OPT}_1:=\text{OPT}-\widetilde{\text{OPT}}\).

For the next step, for every \(o \in \text{OPT}_1\), let \(\pi(o)\) be the closest center in \(\text{OPT}- \{o\}\) to \(o\), and let \(d_o = d(o, \text{OPT}- \{o\}) = d(o, \pi(o))\) be the distance. As the instance is \(\beta=\frac{\varepsilon}{\log n}\) stable we have for every \(o\in \text{OPT}_1\): \[\begin{gather} |C^*_o| d_o = |C^*_o| d(o, \pi(o)) \geq \sum_{p\in C^*_o} \left(d(p, \pi(o)) - d(p,o)\right) \geq \beta {\text{opt}}-\frac{5\varepsilon^3}{\log n}\text{opt}\geq \frac{\beta}{2}\text{opt}, \end{gather}\] where the first inequality is by the triangle inequality. Therefore, as the cluster \(C^*_o\) has cost less than \(5\varepsilon^3 \text{opt}/\log n\) for \(o\in \text{OPT}_1\), we have \[|C^*_o \cap B(o, 10\varepsilon\cdot d_o| \geq (1-\varepsilon) |C^*_o|\,.\] Indeed, otherwise, we would have the contradiction \[\sum_{p \in C^*_o} d(p, o) \geq |C^*_o - B(o, \varepsilon\cdot d_o)|\cdot 10\varepsilon\cdot d_o > |C^*_o| 10\varepsilon^2 d_o \geq 10 \varepsilon^2\frac{\beta}{2} \text{opt}= 5 \varepsilon^3 \frac{\text{opt}}{\log n}\,.\] Now let \(\widetilde{\text{OPT}}_1\) be the subset of of \(\text{OPT}_1\) so that for every \(o\in \widetilde{\text{OPT}}_1\), we have \(B(o, 20\varepsilon\cdot d_o) \cap S = \emptyset\). We claim that \(|\widetilde{\text{OPT}}_1| \leq \frac{\log n}{5\varepsilon^3}\). Indeed, for each \(o\in \widetilde{\text{OPT}}_1\), the cost of the points in \(C^*_o \cap B(o, 10\varepsilon\cdot d_o)\) in the solution \(S\) would be at least \(10\varepsilon d_o (1-\varepsilon) |C^*_o| \geq 10(1-\varepsilon)\varepsilon^2 \frac{\text{opt}}{\log n}\) . Therefore, using that local search gives a \(5\)-approximate solution, we must have \(|\widetilde{\text{OPT}}_1| \leq \frac{5 \log n}{10(1-\varepsilon)\varepsilon^2} \leq \frac{\log n}{5\varepsilon^3}\).

We define \(\text{OPT}_2 = \text{OPT}_1 - \widetilde{\text{OPT}}_1\) and so now we have \(B(o, 20\varepsilon\cdot d_o) \cap S \neq \emptyset\) for every \(o\in \text{OPT}_2\). Now let \(\widetilde{\text{OPT}}_2\) be the subset of \(\text{OPT}_2\) so that every \(o\in \widetilde{\text{OPT}}_2\) is such that \(|B(o, d_o/3) \cap S| > 1\). By the pigeon hole principle we must have that \(|\widetilde{\text{OPT}}_2| \leq |\text{OPT}| - |\text{OPT}_2| =|\widetilde{\text{OPT}}|+|\widetilde{\text{OPT}}_1| \leq \frac{2\log n}{5\varepsilon^3}\).

Let \(\text{OPT}_3:=\text{OPT}_2-\widetilde{\text{OPT}}_2\). For each center \(o\in \text{OPT}_3\) there is thus a center \(c(o)\in S\) such that \(d(o, c(o)) \leq 20 \varepsilon d_o\) and any other center \(c'\in S\) with \(c'\neq c(o)\) satisfies \(d(o, c') \geq d_o/3\). It follows that all points in \(B(o, d_o/8)\) are assigned to \(c(o)\) in \(S\), where we impose that \(\varepsilon\) is small enough so that \(d_o(\frac{1}{8}+20\varepsilon)<d_o(\frac{1}{3}-\frac{1}{8})\). In other words, at least a \((1-\varepsilon)\) fraction of the points of \(C^*_o\) are assigned to the cluster with center \(c(o)\) in \(S\). Now let \(\widetilde{\text{OPT}}_3\) be those centers in \(\text{OPT}_3\) so that for every \(o \in \widetilde{\text{OPT}}_3\) the associated center \(c(o) \in S\) is assigned more than \(\varepsilon|C^*|\) points from outside the ball \(B(o, d_o/8)\). Imposing that \(\varepsilon\) is small enough so that \(d_o(\frac{1}{8}-20\varepsilon)>\frac{d_o}{9}\), the cost of the cluster of \(c(o)\) in \(S\) is then at least \[\frac{d_o}{9} \cdot \varepsilon|C^*| \geq \frac{\varepsilon^2}{9 \log n} \text{opt}.\] It follows that \(\widetilde{\text{OPT}}_3\) has cardinality at most \(45 \frac{\log n}{\varepsilon^2} \leq \frac{\log n}{5\varepsilon^3}\), where the last inequality again holds for \(\varepsilon\) small enough. Our final set is \(\text{OPT}_4:=\text{OPT}_3-\widetilde{\text{OPT}}_3\).

Now for each center in \(c \in \text{OPT}_4\), with associated cluster \(C^*\), we have that it together with its associated center \(c(o) \in S\), with associated cluster \(C'\), satisfies the following:

  • All clients in \(B(o, d_o/8)\), i.e. at least \((1-\varepsilon) |C^*|\) many clients, are both assigned to \(o\) and \(c(o)\) in \(\text{OPT}\) and \(S\), respectively. Notice that this implies \(\min\{|C^*|,|C'|\}\geq (1-\varepsilon)|C^*|\).

  • The additional clients assigned to \(o\) and not to \(c(o)\) is at most \(\varepsilon|C^*|\).

  • The additional clients assigned to \(c(o)\) and not \(o\) is at most \(\varepsilon|C^*|\).

Notice that \(|C^*\Delta C'|\leq 2\varepsilon|C^*|\leq 3\varepsilon\min\{|C^*|,|C'|\}\), in particular \(C^*\) is pure. It follows that all centers in \(\text{OPT}_4\) correspond to pure clusters. Furthermore, \(\text{OPT}_4\) was obtained by removing at most \(\frac{\log n}{\varepsilon^3}\) centers. The claim follows. ◻

Let \(C^*\) be a pure cluster of \(\text{OPT}\) and \(C'\) be the associated cluster of \(S\). Let \(c^*\) be the center of \(C^*\) and \({c'}\) be the center of \({C'}\). We define \(t(c^*) := {c'}\). For any client \(p \in C^*\), let \(r(p) := d(p, {c'}) = d(p, t(c^*))\). We have the following lemma which is the only lemma that requires that the solution \(S\) is obtained via the local search (the proof of the previous lemma only used that it was a constant-factor approximation). In words, it says that \(S\) approximates the connection cost of clients belonging to pure clusters of the optimal solution almost perfectly.

Lemma 11 (Adapted from [45]). Let \(D^*_{\texttt{pure}}\subseteq D\) be the subset of clients that belong to pure clusters of the optimal solution \(\text{OPT}\). We have \[\begin{gather} \sum_{p\in D^*_{\texttt{pure}}} r(p) \leq \sum_{p\in D^*_{\texttt{pure}}} \text{OPT}_p + O(\varepsilon\cdot \text{opt})\,. \end{gather}\]

Proof. Recall that \(S_p = d(p,S)\). Consider a pair of pure clusters \(C^*\) and \(C'\) with the same notation as above. We prove the following:

  1. \(\sum_{p \in C^* \cap C'} r(p) = \sum_{p \in C^* \cap C'} d(p,S) \le \sum_{p \in C^* \cap C'} (1+{4\varepsilon}) \text{OPT}_p + {4\varepsilon} S_p\); and

  2. \(\sum_{p \in C^* {-} C'} r(p) {=} \sum_{p \in C^*{-} C'} d(p, c') \le \sum_{p \in C^*{-} C'} \text{OPT}_p + {4\varepsilon} \sum_{p \in C^*} (\text{OPT}_p + {S_p})\).

The statement of the lemma then follows by summing up the above bounds and using that \(\text{cost}(S) \leq {5} \cdot {\text{opt}}\) by Lemma 9.

For proving the first bullet, consider the swap that swaps in \(c^*\) and swaps out the center \(c'\). The cost change for the clients in \(C^* \cap C'\) is exactly \(\sum_{p \in C^*\cap C'} (\text{OPT}_p - S_p)\). For any \(p \not\in C^*\), if \(p\) is not served by \({c'}\) in \(S\) the cost is unchanged. Otherwise the cost of \(p \in C' - C^*\) in the new solution \(S - \{{c'}\} \cup \{c^*\}\) is by triangle inequality at most \(S_{{p}} + \frac{1}{|C^*\cap C'|} \sum_{p' \in C^*{\cap C'}} (S_{p'} + \text{OPT}_{p'})\). Summing over all clients \(p \in C'-C^*\), this is at most \(\sum_{p \in C'-C^*} S_{{p}} + \frac{|C'-C^*|}{|C^*\cap C'|} \sum_{p' \in C^*{\cap C'}} (S_{p'} + \text{OPT}_{p'})\). Thus, the cost difference \(\text{cost}(S- \{c'\} \cup \{c^*\}) - \text{cost}(S)\) for these clients is at most \(\frac{|C'-C^*|}{|C^*\cap C'|} \sum_{p' \in C^*{\cap C'}} (S_{p'} + \text{OPT}_{p'})\leq {4\varepsilon} \sum_{p' \in C^*{\cap C'}} (S_{p'} + \text{OPT}_{p'})\), where in the inequality we used the fact that \(C^*\) is pure, hence \(\frac{|C'-C^*|}{|C^*\cap C'|}\leq \frac{{3\varepsilon}|C^*|}{(1-\varepsilon)|C^*|}\leq 4\varepsilon\). The first bullet follows since, by local optimality, \(\text{cost}(S- \{c'\} \cup \{c^*\}) - \text{cost}(S) \ge {0}\).

We turn to the second bullet. By triangle inequality, for each \(p\in C^*-C'\), \(d(p,c')\) is at most \(d(p, c^*) + \frac{1}{|C^* \cap C'|} \sum_{p' \in C^* {\cap} C'} (S_{p'} + \text{OPT}_{p'})\). Summing up over all clients \(p \in C^* - C'\), we have that \[\sum_{p \in C^*{-} C'} d(p, c')\le \sum_{p \in C^*- C'} \text{OPT}_p + \frac{|C^*{-} C'|}{|C^*\cap C'|} \sum_{p' \in C^*{\cap}C'} (\text{OPT}_{p'} + S_{p'}).\] The second bullet follows from the assumption that \(C^*\) is pure, and hence \(\frac{|C^*{-} C'|}{|C^*\cap C'|}\leq {4\varepsilon}\) similarly to the first bullet. ◻

4.2 Cheap Clusters and \(D\)-Sample Process to Hit Expensive Clusters↩︎

In the previous section, we showed that the cost of pure clusters in \(\text{OPT}\) is close to to their optimal cost in our local search solution \(S\). Our goal in this section is to “hit” those non-pure clusters of \(\text{OPT}\) that have a high cost in \(S\). We say that a non-pure cluster \(C^*\) of \(\text{OPT}\) with center \(c^*\) is basic-cheap if the total cost in \(S\) of the clients in \(C^*_\text{avg}\) is less than \(\varepsilon^{5}\text{opt}/\log n\) or if there exists a center of \(S\) at distance at most \((1+\varepsilon)\text{avg}_{C^*,\text{OPT}} + \varepsilon\gamma_{C^*}\) from \(c^*\), where \(\gamma_{C^*} := \frac{1}{|C^*|} \sum_{p\in C^*} (\text{OPT}_p + S_p)\); in the latter case we also say that \(C^*\) is covered by \(S\).

The following procedure, that aims to “hit” all clusters of \(\text{OPT}\) that are non-pure and non-basic-cheap, is inspired by the classic \(k\)-means++ algorithm and its so-called \(D^2\)-sampling procedure to sample clients proportional to their cost in solution \(S\). For \(k\)-median this becomes \(D\)-sampling (instead of \(D^2\)-sampling).

4.2.0.1 \(D\)-\(Sample(S,s)\)


\(W \leftarrow \emptyset\) Add to \(W\) one client \(p\) sampled with probability \(\frac{d(p, S)}{\text{cost}(S)}\) return \(W\)

Next let \(W\) be the set returned by \(D\)-\(Sample(S,s^*)\) with \[s^* = {5} \cdot \frac{\log n}{\varepsilon^{5}}\ln\left( \frac{7}{\varepsilon^{2}}\right)\,.\] We say that \(W\) hits a cluster \(C^*\) of \(\text{OPT}\) if \(C^*_{\text{avg}}\cap W\neq \emptyset\), i.e., if \(W\) contains at least one leader of \(C^*\). We have the following lemma that says that we hit all non-pure and non-basic-cheap clusters except for a set \(V\) of clusters that have an insignificant cost in \(S\).

For a non-pure optimal cluster \(C^*\) with center \(c^* \in \text{OPT}\), we let \(t(c^*)\) be the closest center in \(S\) to \(c^*\), and for any \(p \in C^*\), we let the replacement cost of \(p\) be \(r(p) := d(p, t(c^*))\).

Lemma 12. Let \(V\) be the set of clusters \(C^*\) of \(\text{OPT}\) that are non-pure and non-basic-cheap such that \(C^*_\text{avg}\cap W = \emptyset\). With probability at least \(1-\varepsilon\), \[\begin{align} \sum_{C^* \in V} \sum_{p \in C^*} r(p) \le \varepsilon\cdot \text{opt}\,. \label{eq:probcost} \end{align}\qquad{(3)}\]

Proof. Recall that \(S_p = d(p,S)\). Consider a non-pure and non-basic-cheap cluster \(C^*\) of \(\text{OPT}\). We say that a sampled point \(p\in W\) hits \(C^*\) if \(p\in C^*_{avg}\) (i.e., \(p\) is a leader of \(C^*\)). As \(C^*\) is not basic-cheap, we have \(\sum_{p\in C^*_{avg}}S_p\geq \varepsilon^{5} \text{opt}/\log n\). Thus the probability that a sampled \(p\in W\) hits \(C^*\) is at least \(\frac{\sum_{p\in C^*_{\text{avg}}}S_p}{\text{cost}(S)}\geq \frac{\varepsilon^{5}}{{5} \log n}\), where we used that \(\text{cost}(S) \leq {5} \text{opt}\) (Lemma 9). Thus the probability that \(C^*\) is not hit by any point in \(W\) is at most \((1-\frac{\varepsilon^{5}}{{5} \log n})^{s^*}\) which by the selection of \(s^*\) is at most \(\varepsilon^{2}/{7}\). For a point \(p\in C^*\) which is assigned to \(c'\) in \(S\), one has \[\begin{align} r(p) & =d(p,t(c^*))\leq d(p,c^*)+d(c^*,t(c^*))\leq d(p,c^*)+d(c^*,c')\\ & \leq d(p,c^*)+d(p,c^*)+d(p,c')=2\text{OPT}_p+S_p. \end{align}\] Thus, by linearity of expectation, \[E[\sum_{C^*\in V}\sum_{p\in C^*}r(p)] \leq \sum_{p\in D} (2\text{OPT}_p+S_p)\cdot(\varepsilon^{2}/{7}) \leq \varepsilon^{2}\cdot \text{opt}\,,\] where we again used that \(\text{cost}(S) \leq {5} \text{opt}\) by Lemma 9. The total cost of the clusters in \(V\) is thus at most \(\varepsilon\cdot {\text{opt}}\) with probability at least \(1-\varepsilon\) by Markov’s inequality. ◻

4.2.0.2 Successful \(W\).

We say that the set of clients \(W\) obtained from the D-sample process is a successful sample if ?? holds. We define the following two types of \(\text{OPT}\) clusters. We say that a non-pure cluster \(C^*\) of \(\text{OPT}\) with center \(c^*\) is cheap if it is basic-cheap or is in \(V\); a non-pure cluster is expensive otherwise. In other words, a cluster \(C^*\) of the optimal solution is expensive if it is a non-pure and non-basic-cheap cluster such that \(C^*_{avg} \cap W \neq \emptyset\).

Assuming that \(W\) is successful, we have a good bound on the cost of the clients assigned to cheap centers in the optimal solution.

Lemma 13. Let \(D^*_{\texttt{cheap}}\subseteq D\) be the subset of clients that belong to cheap clusters of the optimal solution \(\text{OPT}\). If \(W\) is a successful sample, \[\begin{gather} \sum_{p\in D^*_{\texttt{cheap}}} r(p) \leq \sum_{p\in D^*_{\texttt{cheap}}} 2\text{OPT}_p + O(\varepsilon\cdot \text{opt})\,. \end{gather}\]

Proof. We claim that for any cluster \(C^*\) of \(\text{OPT}\) that is basic-cheap, and any \(p \in C^*\):

  1. If \(C^*\) is not covered, then \(r(p) = d(p, t(c^*)) \le \text{OPT}_p + {\text{avg}_{C^*,\text{OPT}}} + \frac{1}{\varepsilon|C^*|} \sum_{p \in C^*_{\text{avg}}} S_p\).

  2. If \(C^*\) is covered, then \(r(p) \le \text{OPT}_p + (1+\varepsilon) \text{avg}_{C^*,\text{OPT}} + \varepsilon\gamma_{C^*}\).

If \(C^*\) is covered, the bound follows immediately by the triangle inequality. Otherwise, observe that for any such cluster, we have that \(d(p, t(c^*)) \le \text{OPT}_p + d(t(c^*),c^*)\), and let us bound \(d(t(c^*),c^*)\). We have that \(d(t(c^*),c^*) \le \frac{1}{|C^*_\text{avg}|} \sum_{p \in C^*_\text{avg}} (S_p + \text{OPT}_p)\). Which is at most \({\text{avg}_{C^*,\text{OPT}}} + \frac{1}{|C^*_\text{avg}|} \sum_{p \in C^*_\text{avg}} S_p\) by definition. So the inequality follows from the fact that \(|C^*_{\text{avg}}| \ge \varepsilon|C^*|\).

Now, to prove the above lemma, we sum up the cost of all the clients of cheap clusters \(C^*\). For a covered cluster \(C^*\), by 2. we have \[\begin{align} \sum_{p\in C^*} r(p)& \leq \sum_{p\in C^*} \left(\text{OPT}_p + (1+\varepsilon)\text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*}\right)\\ &\leq \left( 1+ (1+2\varepsilon) (1+\varepsilon)\right) \sum_{p\in C^*} \text{OPT}_p + \varepsilon\sum_{p\in C^*} (\text{OPT}_p + S_p)\,, \end{align}\] where we used the definition of \(\gamma_{C^*} = \frac{1}{|C^*|} \sum_{p\in C^*} (\text{OPT}_p + S_p)\) and that \(|C^*| \cdot \text{avg}_{C^*, \text{OPT}} \leq (1+2\varepsilon) \sum_{p\in C^*} \text{OPT}_p\), which holds because \(C^*\) has at least \((1-\varepsilon) |C^*|\) clients \(p\in C^*\) so that \(\text{OPT}_p \geq \text{avg}_{C^*, \text{OPT}}\).

For a basic-cheap cluster \(C^*\) which is not covered, by 1. one has \[\sum_{p\in C^*} r(p) \leq \sum_{p\in C^*} \left( \text{OPT}_p + {\text{avg}_{C^*,\text{OPT}}} + \frac{1}{\varepsilon|C^*|} \sum_{p \in C^*_{\text{avg}}} S_p\right) \leq (2+2\varepsilon) \sum_{p\in C^*} \text{OPT}_p + \varepsilon^{4}\text{opt}/\log(n)\,,\] where we again used that \(|C^*| \cdot \text{avg}_{C^*, \text{OPT}} \leq (1+2\varepsilon) \sum_{p\in C^*} \text{OPT}_p\) and we additionally used that, by the definition of basic-cheap clusters, \(\sum_{p\in C^*_{avg}} S_p \leq \varepsilon^{5} \text{opt}/\log n\). Finally, we have that if we sum up all clusters in \(V\), i.e., clusters that are cheap but not basic-cheap, then Lemma 12 says \[\begin{gather} \sum_{C^* \in V} \sum_{p \in C^*} r(p) \le \varepsilon\cdot \text{opt}\,. \end{gather}\] The statement of the lemma now follows by summing up the above bounds for all cheap clusters and using that \(\text{cost}(S) \leq 5\cdot \text{opt}\) by Lemma 9 and the property that there are at most \(\log(n)/\varepsilon^3\) basic-cheap clusters. The latter claim is true because Lemma 10 says that there are at most \(\log(n)/\varepsilon^3\) non-pure clusters and basic-cheap clusters is a subset of non-pure clusters. ◻

Given \(S\) and \(W\), the set of clusters of the optimal solution \(\text{OPT}\) is thus partitioned into pure clusters, cheap clusters, and expensive clusters. We let \(\hat{\text{OPT}}\) be the centers of \(\text{OPT}\) that are expensive. We further define the set \(D^*_{\texttt{exp}}\subseteq D\) to be the subset of clients that belong to the expensive clusters in \(\text{OPT}\). We have thus partitioned \(D\) into sets \(D^*_{\texttt{pure}}, D^*_{\texttt{cheap}}\), and \(D^*_{\texttt{exp}}\) depending on the type of optimal cluster they belong to. Lemma 11 bounds the cost of the clients in \(D^*_{\texttt{pure}}\) in \(S\) and Lemma 13 bounds the cost of the clients in \(D^*_{\texttt{cheap}}\). For future reference, we summarize these two lemmas (by weakening the upper bound for clients in \(D^*_{\texttt{pure}}\)).

Lemma 14. Assuming \(W\) is a successful sample, \[\sum_{p\in D - D^*_{\texttt{exp}}} r(p) \leq \sum_{p \in D - D^*_{\texttt{exp}}} 2 \text{OPT}_p + O(\varepsilon\cdot \text{opt})\,.\]

It follows that the connection cost in solution \(S\) of clients in \(D- D^*_{\texttt{exp}}\) is within a factor \(2\) of their cost in the optimal solution. The remaining part of the algorithm is thus devoted to modifying \(S\) to obtain a small connection cost of the clients in \(D^*_{\texttt{exp}}\) without significantly increasing the cost of the other clients.

4.3 Identifying Balls of Expensive Clusters↩︎

By the definition of expensive clusters, each expensive cluster \(C^*\) of \(\text{OPT}\) satisfies \(C^*\cap W \neq \emptyset\) where \(W\) is the sample obtained by running the sampling procedure of the last subsection. Here, our goal is to guess a subset \(\mathcal{B}\) of balls so that for each expensive cluster \(C^*\) there is a ball \(B(\ell, \rho) \in \mathcal{B}\) so that \(\ell\), which we refer to as a leader, is in \(C^*_{avg}\) and \(\rho\) is a very close approximation to \(\text{avg}_{C^*, \text{OPT}}\). This guarantees that the center \(c^* \in \hat{\text{OPT}}\) of cluster \(C^*\) is in \(B(\ell, \rho)\) and that no other center in \(B(\ell, \rho)\) is "too" far from \(c^*\) since the radius of the ball is \(\approx \text{avg}_{C^*, \text{OPT}}\). The balls \(\mathcal{B}\) will then be used when we approximate the centers in \(\hat{\text{OPT}}\) via submodular function maximization subject to a partition matroid constraint (the balls will correspond to the partitions of the matroid). As the algorithm does not know the set of expensive clusters, it enumerates all subsets of \(W\), and for each guessed point, it enumerates a constant number of radii.

4.3.0.1 \(ballGuess(S,W)\)


\(\mathcal{L}_\texttt{ball} \leftarrow \emptyset\) add \(\mathcal{B}= \left\{B(p_1, (1+\varepsilon^3)^{i_1}), B(p_2, (1+\varepsilon^3)^{i_2}), \ldots, B(p_q, (1+\varepsilon^3)^{i_q}\right\}\) to \(\mathcal{L}_{\texttt{ball}}\) return \(\mathcal{L}_\texttt{ball}\)

We show that the \(ballGuess()\) runs in polynomial time and that one of the subsets \(\mathcal{B}\) of balls that the procedure constructs is a correct guess: every expensive cluster \(C^*\) has a leader, and \(\text{avg}_{C^*, \text{OPT}}\) is guessed approximately correctly. We say that a set of balls \(\mathcal{B}\) is a valid set of balls if it satisfies the following: For each expensive cluster \(C^*\) of \(\text{OPT}\), we have a ball \(B(\ell, \rho) \in \mathcal{B}\) such that \(\ell\in C^*_{avg}\) is a leader and \[\text{avg}_{C^*,\text{OPT}} \leq \rho \leq \text{avg}_{C^*,\text{OPT}} + \varepsilon\gamma_{C^*},\] where we recall that \(\gamma_{C^*} = \frac{1}{|C^*|} \sum_{p \in C^*} (\text{OPT}_p + S_p)\).

Lemma 15. \(ballGuess()\) runs in polynomial time \(n^{\varepsilon^{-O(1)}}\) and produces a collection \(\mathcal{L}_{\texttt{ball}}\) of sets of balls such that at least one set \(\mathcal{B}\in \mathcal{L}_{\texttt{ball}}\) is a valid set of balls.

Proof. We start by showing that the running time is bounded by \(n^{\varepsilon^{-O(1)}}\). Indeed, we have \(|W| = s^*\), and so the number of subsets of \(W\) is \(2^{s^*}= n^{\varepsilon^{-O(1)}}\) since \(s^* = {5} \cdot \frac{\log n}{\varepsilon^{5}}\ln\left( \frac{7}{\varepsilon^{2}}\right)\). Moreover, for a fixed subset \(\{p_1, p_2, \ldots, p_q\}\), we consider a constant number \(\alpha = \log_{1+\varepsilon^3}(1/\varepsilon^6)\) of balls (i.e., values of \(i_j\)) for each \(p_j\). So the total number of balls considered added for each subset \(\{p_1, p_2, \ldots, p_q\}\) is \(\alpha^{q}\) which is \(n^{\varepsilon^{-O(1)}}\) since \(q \leq |W| \leq s^*\).

We now turn our attention to showing that there is a set of balls \(\mathcal{B}\in \mathcal{L}_{\texttt{ball}}\) that satisfies the properties of the lemma. Let \(C^*(1), \ldots, C^*(|\hat{\text{OPT}}|)\) be the expensive clusters of . By definition, we have \(C^*_{avg}(j) \cap W\neq \emptyset\) for each such cluster. Now arbitrarily fix one client \(\ell_j\in C^*_{avg}(j) \cap W\) for \(j=1,2, \ldots, |\hat{\text{OPT}}|\), which we refer to the leader of \(C^*(j)\). Since the algorithm enumerates over all subsets of \(W\), there exists one such subset \(\{\ell_1, \ldots, \ell_{|\hat{\text{OPT}}|}\}\) that is a valid set of leaders for all the expensive clusters. We consider the set \[\mathcal{B}= \left\{B(\ell_1, (1+\varepsilon^3)^{i_1}), B(\ell_2, (1+\varepsilon^3)^{i_2}), \ldots, B(\ell_{|\hat{\text{OPT}}|}, (1+\varepsilon^3)^{i_{|\hat{\text{OPT}}|}})\right\}\] of balls, where \(i_j\) is the smallest integer so that \((1+\varepsilon^3)^{i_j} \geq \max\{\text{avg}_{C^*, \text{OPT}}, \varepsilon^3 S_{\ell_j}\}\).

It remains to prove that, for each leader \(\ell_j\), we have \((1+\varepsilon^3)^{i_j} \leq S_{\ell_j}/\varepsilon^3\) and \(\text{avg}_{C^*(j),\text{OPT}} \leq (1+\varepsilon^3)^{i_j}\leq \text{avg}_{C^*(j),\text{OPT}} + \varepsilon\gamma_{C^*(j)}\). The first property guarantees that \(\mathcal{B}\in \mathcal{L}_{\texttt{ball}}\) and the second property is the desired bound on each radius \(\rho\) for \(\mathcal{B}\) to be a valid set of balls.

We now verify these two properties for each leader \(\ell_j\). To simplify notation, we let \(\ell = \ell_j\), \(C^* = C^*(j)\) and \(\rho = (1+\varepsilon^3)^{i_j}\). We have \(d(\ell, S) = S_{\ell} > \varepsilon\, \text{avg}_{C^*,{\text{OPT}}}\) since otherwise \(C^*\) would be covered by \(S\), which would contradict that \(C^*\) is an expensive cluster. By the selection of \(i_j\), \(\rho = (1+\varepsilon^3)^{i_j}\leq (1+\varepsilon^3) \max\{\text{avg}_{C^*, \text{OPT}}, \varepsilon^3 S_\ell\} \leq (1+\varepsilon^3) S_\ell/\varepsilon\) and thus \((1+\varepsilon^3)^{i_j} \leq S_\ell/\varepsilon^3\) as required.

We further claim that \(\rho \in [\text{avg}_{C^*,\text{OPT}}, \text{avg}_{C^*,\text{OPT}} + {\varepsilon^2} S_\ell)\). Assume first that \(\text{avg}_{C^*,\text{OPT}}\geq \varepsilon^3 S_\ell\). Then \(\rho = (1+\varepsilon^3)^{i_j}\geq\text{avg}_{C^*,\text{OPT}}\), for the smallest possible integer \(i_j\) which satisfies this condition. The claim then follows since \(\rho \leq (1+\varepsilon^3)\text{avg}_{C^*,\text{OPT}}\leq \text{avg}_{C^*,\text{OPT}}+\varepsilon^2 S_\ell\) as required (where we used that \(\text{avg}_{C^*, \text{OPT}} \leq S_\ell/\varepsilon\)). In the complementary case, namely \(\text{avg}_{C^*,\text{OPT}}< \varepsilon^3 S_\ell\), one has that \(i_j\) was selected to be the smallest integer so that \((1+\varepsilon^3)^{i_j} \geq \varepsilon^3 S_\ell\). Moreover, the interval \([\text{avg}_{C^*,\text{OPT}}, \text{avg}_{C^*,\text{OPT}} + \varepsilon^2 S_\ell)\) contains the interval \([\varepsilon^3 S_\ell,\varepsilon^2 S_{\ell}]\), and the latter interval contains at least one power of \((1+\varepsilon^3)\). We thus have \[\text{avg}_{C^*, \text{OPT}} \leq \rho \leq \text{avg}_{C^*, \text{OPT}} + \varepsilon^2 S_{\ell}.\]

We conclude the proof by showing that \(S_\ell \le (2+2\varepsilon)\gamma_{C^*}\). Let \(\ell\) be assigned to \(c'\) in \(S\), and consider any \(p\in C^*\) which is assigned to \(c''\) in \(S\). Then one has \(S_\ell=d(\ell,c')\leq d(\ell,c'')\leq d(\ell,c^*)+d(c^*,p)+d(p,c'')=d(\ell,c^*)+\text{OPT}_p+S_p\). Hence, averaging over \(C^*\), one gets \(S_\ell \le d(\ell, c^*) + \frac{1}{|C^*|} \sum_{p \in C^*} (S_p + \text{OPT}_p)\). Since \(\ell\) is a leader, i.e., \(\ell \in C^*_{avg}\), \(d(\ell,c^*)\leq \text{avg}_{C^*,\text{OPT}}\leq \frac{1+2\varepsilon}{|C^*|}\sum_{p \in C^*}\text{OPT}_p\), where we used that there is at least \((1-\varepsilon)|C^*|\) clients \(p\in C^*\) so that \(d(p, c^*) \geq \text{avg}_{C^*, \text{OPT}}\). Therefore, \(S_\ell \leq (2+2\varepsilon) \gamma_{C^*}\), which, as aforementioned, concludes the proof of the lemma. ◻

We thus have that the ball procedure produces a family \(\mathcal{L}_{\texttt{ball}}\) such that a set \(\mathcal{B}\in \mathcal{L}_{\texttt{ball}}\) satisfies the conditions of the lemma. While our algorithm will try all possible sets in \(\mathcal{L}_{\texttt{ball}}\) (since it does not know which one is valid), we do our analysis by considering the run of the algorithm when it selects this set \(\mathcal{B}\) of valid balls.

4.3.1 Dummy Centers and Mixed Solutions \(M_O\) and \(M_D\)↩︎

Next, the algorithm creates, for each ball \(B(\ell, \rho) \in \mathcal{B}\) with center \(\ell\) and radius \(\rho\), a dummy center \(\delta\) at distance \(\rho\) from \(\ell\) and at distance \(\rho + d(\ell, p)\) from any other input point \(p\). Let \(\Lambda\) be the set of dummy centers, so \(|\Lambda| = |\mathcal{B}|\). Recall that \(D^*_{\texttt{exp}}\) is the set of clients that are in an expensive cluster of \(\text{OPT}\), i.e., served by a center in \(\hat{\text{OPT}}\) in the optimal solution.

Lemma 16. Suppose the sample \(W\) is successful, and that the set of balls \(\mathcal{B}\) is valid, then there exists a set of centers \(S_0\) of \(S\) that satisfies the following properties:

  1. \(|S_0| = |\hat{\text{OPT}}| \le \frac{\log n}{\varepsilon^3}\), and;

  2. \(\forall c \in S_0\), there is no \(c^* \in \text{OPT}-\hat{\text{OPT}}\) such that \(t(c^*) = c\), and;

  3. \(\text{cost}(S - S_0 \cup \Lambda) \le 3 \sum_{p \in D^*_{\texttt{exp}}}\text{OPT}_p + \sum_{p \in D{-} D^*_{\texttt{exp}}} r(p) + O(\varepsilon\cdot{\text{opt}})) \le (3+O(\varepsilon))\text{opt}\).

Proof. By definition, the centers in \(\hat{\text{OPT}}\) are not pure, hence \(|\hat{\text{OPT}}|\leq \frac{\log n}{\varepsilon^3}\) by Lemma 10. Furthermore, since there are \(|\text{OPT}- \hat{\text{OPT}}|\) centers of \(\text{OPT}\) not in \(\hat{\text{OPT}}\), there are (at least) \(|\hat{\text{OPT}}|\) centers \(c\) of \(S\) such that there is no \(c^* \in \text{OPT}-\hat{\text{OPT}}\) such that \(t(c^*) = c\), and we let \(S_0\) refer to these centers: 1. and 2. follow immediately.

Let us turn to 3. The bound on the cost of the clients that are not in \(D^*_{\texttt{exp}}\) follows from 2.: for each client \(p\) in a cluster of \(\text{OPT}\) whose center is \(c^* \in \text{OPT}-\hat{\text{OPT}}\), we have that \(t(c^*) \in S-S_0\) and so its cost is at most \(r(p)\). We finally consider the points in \(D^*_{\texttt{exp}}\). Since the balls are valid, Lemma 15 implies that for each expensive cluster \(C^*\) of \(\text{OPT}\), there is a ball \(B(\ell,\rho)\) where \(\rho \in [\text{avg}_{C^*,\text{OPT}}, \text{avg}_{C^*,\text{OPT}} + \varepsilon\gamma_{C^*})\) and \(\ell \in C^*_\text{avg}\). Therefore, if we let \(c^*\) be the center of \(C^*\), \[\begin{align} \sum_{p\in C^*} d(p, \Lambda) & \leq \sum_{p\in C^*} \left(d(p, c^*) + d(c^*, \ell) + d(\ell, \Lambda) \right)\\ &\leq\sum_{p\in C^*} \left(\text{OPT}_p + \text{avg}_{C^*,\text{OPT}}+ \rho \right)\\ & \leq \sum_{p\in C^*} \left(\text{OPT}_p + 2(\text{avg}_{C^*,\text{OPT}} + {\varepsilon} \gamma_{C^*}) \right) \\ & = \sum_{p\in C^*} \text{OPT}_p + |C^*|2(\text{avg}_{C^*,\text{OPT}} + {\varepsilon} \gamma_{C^*})\\ & \le (3+O(\varepsilon)) \sum_{p\in C^*} \text{OPT}_p + O(\varepsilon\sum_{p \in C^*} {S_p}). \end{align}\] The lemma follows from \(\text{cost}(S) \leq {5} \cdot {\text{opt}}\) (Lemma 9) and by invoking Lemma 14 to bound the sum of the \(r(p)\) values (where we use the assumption that the sample \(W\) is successful). ◻

4.3.1.1 Definition of the mixed solutions \(M_O\) and \(M_D\).

Next, let us analyze the cost of the swap \((\hat{\text{OPT}}, S_0)\). Namely, of the solution \(M_O = S - S_0 \cup \hat{\text{OPT}}\), where \(M\) in \(M_O\) stands for “mixed solution” and the subscript \(O\) stands for that the mixed solution is obtained by swapping in some elements from \(\text{OPT}\) (and removing \(S_0\)). We will also analyze the “dummy” version of \(M_O\) where instead of swapping in \(\hat{\text{OPT}}\), we swap in the dummy centers \({\Lambda}\). We denote that solution by \(M_D = S - S_0 \cup \Lambda\), where the subscript \(D\) stands for “dummy”.

Lemma 17. We have \(d(p, \hat{\text{OPT}}) = \text{OPT}_p\) if \(p\in D^*_{\texttt{exp}}\) and \(d(p, S- S_0)\leq r(p)\) if \(p\in D- D^*_{\texttt{exp}}\).

Proof. We have \(d(p, \hat{\text{OPT}}) = \text{OPT}_p\) when \(p\in D^*_{\texttt{exp}}\) because the center serving \(p\) in the optimal solution is in \(\hat{\text{OPT}}\). Consider the remaining case and let \(p\in D- D^*_{\texttt{exp}}\) be a client whose serving center in \(\text{OPT}\) is \(c^*\). By property 2. of Lemma [lemma:S0properties], the center \(t(c^*)\) is in \(S - S_0\) and so \(d(p, S- S_0) \leq d(p, t(c^*)) = r(p)\). ◻

Notice that \(M_{O}\) contains \(S- S_0\) and \(\hat{\text{OPT}}\). Therefore, if we sum up the above bounds for all clients we get \[\begin{align} \text{cost}(M_O) & \leq \sum_{p\in D^*_{\texttt{exp}}} \text{OPT}_p + \sum_{p\in D{-} D^*_{\texttt{exp}}} r(p)\,, \end{align}\] which by Lemma 14 is at most \(\sum_{p\in D^*_{\texttt{exp}}} \text{OPT}_p + \sum_{p\in D{-}D^*_{\texttt{exp}}} 2 \text{OPT}_p + O(\varepsilon\cdot \text{opt})\) (assuming that that the sample \(W\) was successful). By swapping \(S_0\) with \(\hat{\text{OPT}}\) we thus get a \(1\)-approximation on the clients \(D^*_{\texttt{exp}}\) and a \(2\)-approximation of the remaining clients (plus a small error term). Our goal in the next sections will thus be to approximate this swap. The next few steps will be aimed at simplifying (or guessing parts of) \(S_0\). The last step will then approximate \(\hat{\text{OPT}}\) and the remaining part of \(S_0\) by submodular function maximization subject to a partition matroid constraint. For that part, it will be helpful to have a bound on the dummy solution as well; specifically, a modified version of it (see Lemma 19 and Claim 7). For intuition of those statements, let us here say that one can show \[\begin{align} \text{cost}(M_D) & \leq \sum_{p\in D^*_{\texttt{exp}}} 3\text{OPT}_p + \sum_{p\in D- D^*_{\texttt{exp}}} r(p) + O(\varepsilon\cdot \text{opt})\,\, \end{align}\] by observing that only the clients \(D^*_{\texttt{exp}}\) have a different connection cost in \(M_D\) than in \(M_O\). Moreover, each such client \(p\in D^*_{\texttt{exp}}\) that was previously assigned to a center \(c^* \in \hat{\text{OPT}}\), and belongs to cluster \(C^*\) of \(\text{OPT}\), has an associated dummy center \(\delta\) at distance at most \(d(p, c^*) + 2 \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*}\) (assuming the set \(\mathcal{B}\) of balls is valid). Simplifications then give the stated inequality as \(|C^*| \text{avg}_{C^*, \text{OPT}} \leq (1+2\varepsilon) \sum_{p\in C^*} \text{OPT}_p\) and \(|C^*| \varepsilon\gamma_{C^*} = \varepsilon\sum_{p\in C^*} ( \text{OPT}_p + S_p)\).

4.4 Removal of Expensive Centers of \(S_0\)↩︎

Thus, it remains to show that our algorithm can yield a good approximation to the gain that the swap \((\hat{\text{OPT}}, S_0)\) would provide. Of course, it will not necessarily be optimum, but we can show it is enough to conclude the proof of our theorem. We focus on the iteration of the procedure that produces valid ball guesses. In particular, at this point given that \(W\) is successful and the ball guesses are valid, the number of balls in our ball guess is equal to \(|S_0|=|\hat{\text{OPT}}|=|\Lambda|\leq \frac{\log n}{\varepsilon^3}\). Our algorithm then makes use of the following procedure that takes as input the local search solution \(S\) and the set \(\Lambda\) of dummy centers.

4.4.0.1 \(expRem(S,\Lambda)\)


\(\mathcal{L}_{\text{exp}}\leftarrow \emptyset\) \(\mathcal{Q}\leftarrow \emptyset\) With probability 1/2 do the following. Consider the clustering induced by \(\Lambda\cup S-\mathcal{Q}\) and, for each \(c\in S-\mathcal{Q}\), let \(\text{cost}(c)\) be the cost of the cluster associated with \(c\) in the considered solution Sample one \(c\in S-\mathcal{Q}\) with probability \(\frac{\text{cost}(c)}{\sum_{c'\in S-\mathcal{Q}}\text{cost}(c')}\) Set \(\mathcal{Q}\leftarrow \mathcal{Q}\cup \{c\}\)

\(\mathcal{L}_{\text{exp}}\leftarrow \mathcal{L}_{\text{exp}}\cup \{\mathcal{Q}\}\) return \(\mathcal{L}_{\text{exp}}\)

The goal of the above procedure is to guess a subset \(\mathcal{Q}\) of all “costly” centers in \(S_0\) (the set \(\mathcal{L}_{\text{exp}}\) contains all guesses). Specifically, if we consider the solution \((S - \mathcal{Q}) \cup \Lambda\), then we wish that the cost of the clusters corresponding to the remaining centers in \(S_0 - \mathcal{Q}\) is at most \(\varepsilon\cdot \text{opt}\). Formally, the clusters corresponding to \(S_0 - \mathcal{Q}\) in \(S - \mathcal{Q}\cup \Lambda\) consists of all the clients whose closest center in \(S - \mathcal{Q}\cup \Lambda\) is from \(S_0 - \mathcal{Q}\). If we let \(D' \subseteq D\) be those clients then the total cost in solution \(S- \mathcal{Q}\cup \Lambda\) of the clusters with centers in \(S_0 - \mathcal{Q}\) is defined as \[\sum_{p\in D'} d(p, S- \mathcal{Q}\cup \Lambda) = \sum_{p\in D'} d(p, S_0 - \mathcal{Q})\,,\] where the equality holds because of the definition of \(D'\).

Lemma 18. \(expRem()\) runs in \(n^{1/\varepsilon^{O(1)}}\) time and produces a collection \(\mathcal{L}_{\text{exp}}\) of at most \(n^{1/\varepsilon^{O(1)}}\) subsets of \(S\) such that with probability at least \(1-1/n\) there exists \(\mathcal{Q}\in \mathcal{L}_{\text{exp}}\) satisfying

  1. \(\mathcal{Q}\subseteq S_0\), and

  2. The total cost in the solution \(S - Q \cup \Lambda\) of the clusters with centers in \(S_0 - \mathcal{Q}\) is at most \(\varepsilon\cdot \text{opt}\).

Proof. The claim on the running time and on the size of \(\mathcal{L}_{\text{exp}}\) is trivially satisfied since \(|\Lambda|=|S_0|\leq \frac{\log n}{\varepsilon^3}\).

It remains to show that with probability at least \(1-\frac{1}{n}\) at least one set \(\mathcal{Q}\in \mathcal{L}_{\text{exp}}\) satisfies the desired properties. Let us consider some iteration of the external for loop, and let \(\mathcal{Q}\) be the corresponding set. We say that the \(j\)-th iteration of the corresponding inner for loop is successful if the following happens:

  1. If condition (2) of the lemma is satisfied considering the current value of \(\mathcal{Q}\), then the event from line 5 does not happen (hence in particular \(\mathcal{Q}\) is not updated in this \(j\)-th iteration).

  2. Otherwise, the event from line 5 happens and furthermore the sampled \(c\) belongs to \(S_0\).

Let \(A_j\) denote the event that the considered \(j\)-th iteration is successful. Let us condition on the event \(A_{<j}\) that the previous iterations \(A_1,\ldots,A_{j-1}\) are successful. In particular, one has \(\mathcal{Q}\subseteq S_0\) at the beginning of the \(j\)-th iteration. Let \(B_j\) denote the event that condition (2) is satisfied at the beginning of the iteration. Then trivially \(Pr[A_j|B_j,A_{<j}]\geq 1/2\). Suppose next that \(B_j\) does not hold. In that case, with probability \(1/2\), the procedure samples a center \(c\). Since by assumption \(\sum_{c\in S_0-\mathcal{Q}}\text{cost}(c)>\varepsilon\text{opt}\), the probability that the procedure samples some \(c\in S_0-\mathcal{Q}\) is at least \[\frac{\varepsilon\text{opt}}{\sum_{c'\in S-\mathcal{Q}}\text{cost}(c')}\geq \frac{\varepsilon\text{opt}}{\text{cost}(\Lambda\cup S-\mathcal{Q})}\geq \frac{\varepsilon\text{opt}}{\text{cost}(\Lambda\cup S-S_0)}\geq \frac{\varepsilon}{4},\] where in the last inequality we used the fact that \(\text{cost}(\Lambda\cup S-S_0)\leq 4\cdot\text{opt}\) by Lemma 16.

Altogether \(Pr[A_j|\overline{B}_j,A_{<j}]\geq \varepsilon/8\). Thus \(Pr[A_j|A_{<j}]\geq \varepsilon/8\). Chaining the obtained inequalities we obtain that all the events \(A_1,\ldots,A_{|S_0|+1}\) are simultaneously true with probability at least \((\varepsilon/8)^{|S_0|+1}\). Notice that when the latter event happens, the corresponding \(\mathcal{Q}\) satisfies all the properties. Indeed, \(\mathcal{Q}\subseteq S_0\) and furthermore the event \(B_j\) must happen for some \(j\leq |S_0|+1\) (hence for the next iterations if any) since otherwise \(\mathcal{Q}\) would contain more than \(|S_0|\) elements.

Thus, the probability that the overall procedure fails is at most \((1-(\frac{\varepsilon}{8})^{|S_0|+1})^{(8/\varepsilon)^{|S_0|+1}\ln n}\leq \frac{1}{n}\). ◻

4.4.1 Consistently Assigning Clients in Mixed Solutions and the sets \(\mathcal{U}\) and \(\mathcal{R}\)↩︎

While our algorithm tries all possible \(\mathcal{Q}\in \mathcal{L}_{\text{exp}}\), we focus on the execution path of a set \(\mathcal{Q}\) of centers satisfying the properties of Lemma 18, i.e.,

  1. \(\mathcal{Q}\subseteq S_0\), and

  2. the cost in the solution \(S - \mathcal{Q}\cup \Lambda\) of the clusters with centers in \(S_0 - \mathcal{Q}\) is at most \(\varepsilon\cdot \text{opt}\).

We define the solution \(S_{\mathcal{Q}} := S- \mathcal{Q}\cup \Lambda\) and for a center \(c\in S_{\mathcal{Q}}\) we let \(S_{\mathcal{Q}}(c)\) be the subset of clients closest to \(c\) (i.e., assigned to \(c\)) in the solution \(S_{\mathcal{Q}}\). The second property above allows us to consider each cluster \(S_{\mathcal{Q}}(c)\), \(c\in S_0 - \mathcal{Q}\), as contracted by paying a small extra cost of \(\varepsilon\cdot \text{opt}\). In particular, this allows us to give a “consistent” assignment \(\mu_O\) of clients in the mixed solutions. Here, consistent means that all clients in \(S_Q(c)\), for \(c\in S_0 - \mathcal{Q}\), are assigned to the same center in the mixed solutions where all of \(S_0\) is removed.

4.4.1.1 Definition of \(\mu_O\) and \(\mu_D\).

We modify how the clients are assigned in the solution \(M_O\) to obtain the assignment \(\mu_O\). For every \(c \in S_0 - \mathcal{Q}\), all the clients in \(S_{\mathcal{Q}}(c)\) are reassigned to the same center of \(M_O\) as follows. Let \(c_1\) be the center of \(\hat{\text{OPT}}\) that is the closest to \(c\) and let \(c_2\) be the center of \(M_O-\hat{\text{OPT}}= S - S_0\) that is the closest to \(c\). The clients of \(S_{\mathcal{Q}}(c)\) are all assigned to either \(c_1\) or \(c_2\):

  • If \(d(c,c_1) \le d(c,c_2)/2\), assign \(S_{\mathcal{Q}}(c)\) to \(c_1\); \(S_{\mathcal{Q}}(c)\) is called a type-1 cluster.

  • Otherwise (\(d(c,c_1) > d(c,c_2)/2\)), assign \(S_{\mathcal{Q}}(c)\) to \(c_2\); \(S_{\mathcal{Q}}(c)\) is called a type-2 cluster.

Let \(T_1\) be the set of clients in a type-1 cluster and \(T_2\) the set of clients in a type-2 cluster. The remaining clients in \(D^*_{\texttt{exp}}- (T_1 \cup T_2)\) are assigned to their closest centers in \(\hat{\text{OPT}}\), and the remaining clients in \((D- D^*_{\texttt{exp}})- (T_1 \cup T_2)\) are assigned to their closest centers in \(S- S_0\). Notice that, even neglecting the extra cost due to the consistent assignment, the above assignment of clients in \(T_2\) is suboptimal when \(d(c,c_2)>d(c,c_1)>d(c,c_2)/2\). The motivation for this reassignment is technical. More specifically, it will be used in Lemma 19 to have a better upper bound on the cost of clients in \(C^*\cap T_1\) for a non-expensive cluster \(C^*\) (case b2). This leads to a larger upper bound on the cost of clients in \(C^*\cap T_2\) for an expensive cluster \(C^*\) (case a3), which is however tolerable.

We further obtain an assignment \(\mu_D\) of clients in \(M_D\) by modifying \(\mu_O\) as follows: each client \(p\) with \(\mu_O(p) \in \hat{\text{OPT}}\) is assigned to the associated dummy center by \(\mu_D\). So for each client \(p\) we have \(\mu_D(p) = \mu_O(p)\) unless \(\mu_O(p)\in \hat{\text{OPT}}\) in which case \(\mu_D(p)\) equals the dummy center associated with \(\mu_O(p)\).

4.4.1.2 Sets \(\mathcal{R}\) and \(\mathcal{U}\).

By the definition of type-1 and type-2 cluster, we can split the set of centers of \(S_0 - \mathcal{Q}\) into two groups \(\mathcal{R}\) and \(\mathcal{U}\). Let \(\mathcal{R}\) be the set of centers of \(S_0- \mathcal{Q}\) whose set of clients is completely assigned to a center of \(\hat{\text{OPT}}\) in the assignment \(\mu_O\), and let \(\mathcal{U}= S_0 - \mathcal{Q}- \mathcal{R}\) be the remaining ones that are assigned to centers in \(S- S_0\).

We end this section by analyzing the costs of the assignments \(\mu_O\) and \(\mu_D\). Recall that we use the notation \(\text{cost}(M_O,\mu_O)\) to denote the cost of \(M_O\) equipped with assignment \(\mu_O\) and, similarly \(\text{cost}(M_D, \mu_D)\) for the cost of \(M_D\) equipped with assignment \(\mu_D\). We say that the selection of \((W, \mathcal{B}, \mathcal{Q})\) is successful, if the sample \(W\) selected in 4.2 is successful, the set of balls \(\mathcal{B}\) from Section 4.3 is valid, and \(\mathcal{Q}\) selected in this section satisfies the properties of Lemma 18.

Lemma 19. If the selection of \((W, \mathcal{B}, \mathcal{Q})\) is successful, \[\text{cost}(M_O, \mu_O) + \text{cost}(M_D, \mu_D) \leq 4\cdot \text{opt}+ O(\varepsilon\cdot \text{opt})\,.\]

Proof. Throughout the proof of the lemma, we will repeatedly upper bound \(d(p,\mu_D(p))\) in terms of \(d(p,\mu_O(p))\) using the following bounds:

Claim 6. Consider a client \(p\in S_{\mathcal{Q}}(c)\) with \(\mu_O(p) \neq \mu_D(p)\) and so \(\mu_O(p)\in \hat{\text{OPT}}\) is the center of an expensive cluster \(C^*\) of \(\text{OPT}\). Then

  1. \(d(p, \mu_D(p)) \leq d(p, \mu_O(p)) + 2 ( \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*})\), and

  2. \(d(p,\mu_D(p)) \leq d(p, S_\mathcal{Q}) + 3 d(c, \mu_O(p))\).

Proof of Claim 6. Let \(\mu_O(p) = c^*\). By the assumption that \(\mathcal{B}\) is a valid set of balls, we have by Lemma 15 that there is a ball \(B(\ell, \rho) \in \mathcal{B}\) such that \(c^* \in B(\ell, \rho)\) and \[\text{avg}_{C^*, \text{OPT}} \leq \rho \leq \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*}\,.\] Thus, if we let \(\delta \in \Lambda\) be the dummy center associated with this ball (at a distance \(\rho\) from \(\ell\)), then \(\mu_D(p) = \delta\) and, by the triangle inequality, \[d(p, \mu_D(p)) \leq d(p, c^*) + d(c^*, \ell) + d(\ell, \delta) \leq d(p, \mu_O(p)) + 2 ( \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*})\,.\] For the second bound, we again use the triangle inequality: \[\begin{align} \notag d(p, \mu_D(p)) & \leq d(p, c) + d(c, c^*) + d(c^*, \ell) + d(\ell, \delta) \\ \notag &\leq d(p, S_\mathcal{Q}) + d(c, c^*) + 2 ( \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*}) \\ &\leq d(p, S_\mathcal{Q}) + 3d(c, c^*)\,, \label{eq:lastinequality} \end{align}\tag{12}\] where the last inequality follows from the fact that we must have \(d(c, c^*) > (1+\varepsilon) \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*}\) since otherwise we would have the contradiction that \(c^*\in \hat{\text{OPT}}\) is covered by \(S\); recall that \(\hat{\text{OPT}}\) only contains expensive centers of \(\text{OPT}\). ◻

Having proven Claim 6, we prove the lemma by distinguishing between expensive and non-expensive clusters \(C^*\) of \(\text{OPT}\).

4.4.1.3 Case a: \(C^*\) is an expensive cluster of \(\text{OPT}\).

Let \(c^*\in \hat{\text{OPT}}\) be the center of \(C^*\). Let \(p\in C^*\) be a client in \(C^*\) and let \(c\) be its closest center in \(S_\mathcal{Q}\), i.e., \(p\in S_\mathcal{Q}(c)\). We bound \(d(p, \mu_O(p)) + d(p, \mu_D(p))\) by considering three cases:

Case a1: \(p\in C^* - (T_1 \cup T_2)\):

By definition, we have \(\mu_O(p)\) is the closest center in \(\hat{\text{OPT}}\). Moreover, \(\mu_O(p)\) equals the cluster center \(c^*\) of \(C^*\) since \(p\) is closest to \(c^*\) among all centers in \(\text{OPT}\supseteq \hat{\text{OPT}}\). Claim 6.1 together with Lemma 17 thus gives us, \[d(p,\mu_O(p)) + d(p, \mu_D(p)) \leq 2\text{OPT}_p + 2 ( \text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*})\,.\]

Case a2: \(p\in C^* \cap T_1\):

By definition of type-1 clusters, \(\mu_{O}(p) = c_1\) is the closest center in \(\hat{\text{OPT}}\) to \(c\). Now, by Claim 6.2 and triangle inequality, \[\begin{align} d(p, \mu_O(p)) + d(p, \mu_D(p)) & \leq d(p,\mu_O(p)) + d(p, S_{\mathcal{Q}}) + 3 d(c, c_1) \leq 2 d(p, S_\mathcal{Q}) + 4 d(c,c_1)\\ & \leq 2 d(p, S_\mathcal{Q}) + 4 d(c,c^*) \leq 2 d(p, S_\mathcal{Q}) + 4 \left( d(c, p) + \text{OPT}_p\right) \\ & = 6 d(p, S_\mathcal{Q}) + 4 \text{OPT}_p\,. \end{align}\]

Case a3: \(p\in C^*\cap T_2\).

By the definition of type-2 clusters, \(\mu_O(p) = c_2\) is the closest center to \(c\) in \(S- S_0\), and \(d(c, c_2) \leq 2 d(c, \hat{\text{OPT}})\). So, by the triangle inequality, \(d(c, c_2) \leq 2( d(c,p) + \text{OPT}_p)\) where we additionally used that \(d(p, \hat{\text{OPT}}) \leq \text{OPT}_p\) by Lemma 17. As \(\mu_O(p) = \mu_D(p)\) in this case, \[\begin{align} d(p, \mu_O(p)) + d(p, \mu_D(p)) & = 2d(p,\mu_O(p)) \leq 2( d(p, c) + d(c, c_2)) \\ & \leq 2(d(p,c) + 2d(c, \hat{\text{OPT}})) \leq 2 d(p, c) + 4( d(c,p) + \text{OPT}_p) \\ & = 6 d(p, S_\mathcal{Q}) + 4 \text{OPT}_p\,. \end{align}\]

By the above bounds, we have that \[\begin{align} & \sum_{p\in C^*} (d(p, \mu_O(p)) + d(p, \mu_D(p)))\\ \leq & \sum_{p\in C^* - (T_1 \cup T_2)} \left(2\text{OPT}_p + 2(\text{avg}_{C^*, \text{OPT}} + \varepsilon\gamma_{C^*})\right) + \sum_{p\in C^*\cap (T_1 \cup T_2)}(4\text{OPT}_p + 6 d(p, S_\mathcal{Q}))\,. \end{align}\] We complete the analysis of the expensive clusters by upper bounding the terms \(2\varepsilon\gamma_{C^*}\) and \(2\text{avg}_{C^*, \text{OPT}}\). By definition we have \(|C^* - (T_1 \cup T_2)| \cdot 2\varepsilon\gamma_{C^*}\leq 2\varepsilon\sum_{p\in C^*} (\text{OPT}_p + S_p)\). For the other term, we claim that \[2 |C^* - (T_1 \cup T_2)|\cdot \text{avg}_{C^*, \text{OPT}} \leq \sum_{p\in C^* - (T_1 \cup T_2)} 2\text{OPT}_p + 3\varepsilon\cdot \sum_{p\in C^*} \text{OPT}_p\,.\] This holds because there are at least \((1-\varepsilon)|C^*|\) clients in \(C^*\) such that \(\text{OPT}_p \geq \text{avg}_{C^*, \text{OPT}}\), which implies \[\begin{align} \sum_{p\in C^* - (T_1 \cup T_2)} 2\text{OPT}_p + 3\varepsilon\cdot \sum_{p\in C^*} \text{OPT}_p &\geq 2(|C^* - (T_1 \cup T_2)|-\varepsilon|C^*|)\cdot \text{avg}_{C^*, \text{OPT}} + 3\varepsilon(1-\varepsilon)|C^*|\cdot \text{avg}_{C^*, \text{OPT}} \\ & \geq 2 |C^*- (T_1 \cup T_2)|\cdot \text{avg}_{C^*, \text{OPT}}\,. \end{align}\] In summary, for an expensive cluster \(C^*\) we have that \[\begin{align} & \sum_{p\in C^*} (d(p, \mu_O(p)) + d(p, \mu_D(p)))\nonumber\\ \leq & \sum_{p\in C^* - (T_1 \cup T_2)} 4\text{OPT}_p + \sum_{p\in C^*\cap (T_1 \cup T_2)}(4\text{OPT}_p + 6 d(p, S_\mathcal{Q})) + \sum_{p\in C^*} (5 \varepsilon\text{OPT}_p + 2\varepsilon S_p)\,. \label{eq:expensive95cluster95bound} \end{align}\tag{13}\]

4.4.1.4 Case b: \(C^*\) is a non-expensive cluster of \(\text{OPT}\).

We proceed with a similar analysis. Indeed, consider a client \(p\in C^*\) and let \(c\) be its closest center in \(S_\mathcal{Q}\), i.e., \(p\in S_\mathcal{Q}(c)\). We again bound \(d(p, \mu_O(p)) + d(p, \mu_D(p))\) by considering three cases:

Case b1: \(p\in C^* - (T_1 \cup T_2)\).

By the definition of \(\mu_O\), we have that \(\mu_O(p)\) is the closest center in \(S - S_0\) to \(p\). So \(\mu_D(p) = \mu_O(p)\) and \(d(p,\mu_O(p)) + d(p, \mu_D(p)) \leq 2r(p)\), by Lemma 17.

Case b2: \(p\in C^* \cap T_1\).

By the definition of type-1 clusters, \(\mu_{O}(p) = c_1\) is the closest center in \(\hat{\text{OPT}}\) to \(c\). Now, by Claim 6.2 and the triangle inequality, \[\begin{align} d(p, \mu_O(p)) + d(p, \mu_D(p)) & \leq d(p,\mu_O(p)) + d(p, S_{\mathcal{Q}}) + 3 d(c, c_1) \\ & \leq 2 d(p, S_\mathcal{Q}) + 4 d(c,c_1)\,. \end{align}\] We proceed by upper bounding \(d(c, c_1)\). Here we critically use the fact that, by the definition of \(T_1\), one has \(d(c, c_1) \leq d(c, c_2)/2\) where \(c_2\) is the closest center to \(c\) in \(S- S_0\). Let \(c_3\) be the closest center to \(p\) in \(S - S_0\). Then \[d(c, c_1) \leq d(c, c_2)/2\leq d(c,c_3)/2 \leq (d(c,p) + d(p, c_3))/2 = (d(p, S_\mathcal{Q}) + d(p, c_3))/2.\] Moreover, we have \(d(p, c_3) = d(p, S- S_0)\leq r(p)\) by Lemma 17 and so \(d(c,c_1) \le(d(p, S_\mathcal{Q}) + r(p))/2\), which gives us the bound \[\begin{align} d(p, \mu_O(p)) + d(p, \mu_D(p)) \leq 4 d(p, S_\mathcal{Q}) + 2 r(p)\,. \end{align}\]

Case b3: \(p\in C^*\cap T_2\).

By the definition of type-2 clusters, \(\mu_O(p) = c_2\) is the closest center to \(c\) in \(S- S_0\), and so \(\mu_O(p) = \mu_D(p)\). Now by Lemma 17 and the triangle inequality, \[d(p, \mu_O(p)) \leq d(p,c) + d(c, c_2) \leq 2d(p,c ) + d(p, S- S_0)\leq 2d(p,c) + r(p) = 2d(p, S_\mathcal{Q}) + r(p).\] So we get the bound \[\begin{align} d(p,\mu_O(p)) + d(p, \mu_D(p)) =2 d(p,\mu_O(p))\leq 4 d(p, S_\mathcal{Q}) + 2 r(p)\,. \end{align}\]

Summing up the above bounds, yields \[\sum_{p\in C^*} (d(p, \mu_O(p)) + d(p, \mu_D(p))) \leq \sum_{p\in C^*} 2 r(p) + \sum_{p\in C^* \cap (T_1 \cup T_2)} 4 d(p, S_\mathcal{Q})\] for a non-expensive cluster \(C^*\) of \(\text{OPT}\). If we sum up the above inequality for all non-expensive clusters and the bound 13 for expensive clusters of \(\text{OPT}\) we thus get \[\text{cost}(M_O, \mu_O) + \text{cost}(M_D, \mu_D) \leq \sum_{p\in D^*_{\texttt{exp}}} 4 \text{OPT}_p + \sum_{p\in D- D^*_{\texttt{exp}}} 2 r(p) + O( \varepsilon\cdot \text{opt})\,,\] where we used that \(\sum_{c \in S_0 - \mathcal{Q}} \sum_{p \in S_{\mathcal{Q}}(c)} d(p, S_\mathcal{Q}) = \sum_{p\in T_1 \cup T_2} d(p, S_\mathcal{Q}) \leq \varepsilon\cdot \text{opt}\) (Lemma 18) and \(\text{cost}(S) \leq 5 \text{opt}\) (Lemma 9) to bound the error term \(O(\varepsilon\cdot \text{opt})\).

The proof is now concluded by Lemma 14, which says that \(\sum_{p\in D- D^*_{\texttt{exp}}} r(p) \leq \sum_{p\in D- D^*_{\texttt{exp}}} 2\text{OPT}_p + O(\varepsilon\cdot \text{opt})\) if the sample \(W\) is successful. ◻

4.5 Removal of Cheap Centers in \(S_0\)↩︎

At this stage we have defined a clustering \(S_{\mathcal{Q}} = S - \mathcal{Q}\cup \Lambda\), where \(\Lambda\) is the set of dummy centers. Recall that the mixed solution \(M_O\) equals \(S-S_0 \cup \hat{\text{OPT}}\). So \(S_\mathcal{Q}- \Lambda\) represents progress compared to \(S\) in that we have already removed a subset \(\mathcal{Q}\) of \(S_0\). Furthermore, with respect to the assignment of clients \(\mu_O\), we have that the remaining centers \(S_0 - Q\), which we want to remove, are divided into two sets \(\mathcal{R}\) and \(\mathcal{U}\). The clusters with centers in \(\mathcal{R}\) are completely assigned (by \(\mu_O\)) to centers in \(\hat{\text{OPT}}\), and every cluster with center in \(\mathcal{U}\) is completely assigned to a center in \(S - S_0\). The task of this section is to make further progress by guessing the centers in \(\mathcal{U}\) and their reassignment to centers in \(S- S_0\). This turns out to be a difficult task, and we will instead “approximately” guess a set \(\widetilde{\mathcal{U}}\) and reassignment \(\widetilde{\mu}\) of the clients of those clusters. Specifically, we will output a solution \(S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}} = S_{\mathcal{Q}} - \widetilde{\mathcal{U}}\) (obtained by removing \(\widetilde{\mathcal{U}}\) from \(S_{\mathcal{Q}}\)) and an assignment \(\widetilde{\mu}\) of clients to centers in \(S_\mathcal{Q}-\widetilde{\mathcal{U}}\). This is done through the following lemma. Recall that for \(c\in S_{\mathcal{Q}}\), \(S_{\mathcal{Q}}(c)\) is the set of clients assigned to \(c\) in \(S_\mathcal{Q}\), i.e., closest to \(c\) among all centers in \(S_\mathcal{Q}\).

Lemma 20. Given \(S\) and \(\mathcal{Q}\) as described above, there is a polynomial-time algorithm that produces a collection \(\mathcal{L}_{cheap}\) of subsets \(\widetilde{\mathcal{U}}\) of \(S-\mathcal{Q}\), and for each such \(\widetilde{\mathcal{U}}\) and assignment \(\widetilde{\mu}\) of clients to centers in \(S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}} = S_\mathcal{Q}-\widetilde{\mathcal{U}}\), such that at least one such pair \((\widetilde{\mathcal{U}},\widetilde{\mu})\) satisfies the following properties:

  1. \(|\widetilde{\mathcal{U}}| = |\mathcal{U}|\).

  2. \(\widetilde{\mathcal{U}}\cap \mathcal{R}= \emptyset\), i.e., \(\widetilde{\mathcal{U}}\) does not contain any center of \(S_0 - \mathcal{Q}\) whose set of clients is completely assigned to a center of \(\hat{\text{OPT}}\) in the assignment \(\mu_O\).

  3. \(\widetilde{\mu}\) satisfies:

    1. For every center \(c\in S_{\mathcal{Q}} - \widetilde{\mathcal{U}}\), we have \(\widetilde{\mu}(p)= c\) for every \(p\in S_{\mathcal{Q}}(c)\).

    2. For a center \(c\in \widetilde{\mathcal{U}}\), the clients in \(S_\mathcal{Q}(c)\) are reassigned to a center \(c' \in S- \mathcal{Q}- \widetilde{\mathcal{U}}- \mathcal{R}\), i.e., \(\widetilde{\mu}(p) = c'\) for every \(p\in S_{\mathcal{Q}}(c)\).

    3. The cost increase of the reassignment \(\widetilde{\mu}\) of clients previously assigned to \(\widetilde{\mathcal{U}}\) compared to that of the reassignment \(\mu_O\) of clients previously assigned to \(\mathcal{U}\) is bounded by \(O(\varepsilon\cdot \text{opt})\): \[\begin{gather} \sum_{c \in \mathcal{U}\cup \widetilde{\mathcal{U}}} \sum_{p\in S_\mathcal{Q}(c)} \left( d(p, \widetilde{\mu}(p)) - d(p, \mu_O(p)) \right) = O (\varepsilon\cdot \text{opt})\,. \end{gather}\]

In words, the above properties of \(\widetilde{\mu}\) say that we maintain the assignment of clients whose closest center remains the same, and the clients associated to the removed centers \(\widetilde{\mathcal{U}}\) are reassigned to centers not in \(\mathcal{R}\) at no higher cost (up to \(O(\varepsilon\cdot \text{opt})\)) than the cost of the reassignment of \(\mathcal{U}\) in the modified solution \(M_O\).

Let \(\mathcal{X}\) be the centers in \(S-S_0\) to which the points \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \mathcal{U}\) are assigned according to \(\mu_O\). Notice that \(|\mathcal{X}|\leq |\mathcal{U}|\) and \(\mathcal{X}\cap (\mathcal{Q}\cup \mathcal{U}\cup \mathcal{R})=\emptyset\). We assume that the values of \(|\mathcal{U}|\), \(|\mathcal{R}|\), and \(|\mathcal{X}|\) are known. This can be achieved by trying, for each such value, all the integers between \(0\) and \(|S_0|\leq \frac{\log n}{\varepsilon^3}\). Let \(\ell:=|\mathcal{U}|+|\mathcal{R}|+|\mathcal{X}|\leq 2|\mathcal{U}|+|\mathcal{R}|\leq 2|S_0 - \mathcal{Q}|\). Then we run the recursive procedure \(cheapRem()\) described in the box with input \((\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})=(\emptyset,\emptyset,\emptyset,\emptyset,\emptyset)\). We assume that \(cheapRem()\) has access to the quantities \(S\), \(\mathcal{Q}\), \(|\mathcal{U}|\), \(|\mathcal{R}|\), \(|\mathcal{X}|\) and \(\ell\), as well as to a global variable \(\mathcal{L}_{cheap}\), which is initialized to \(\emptyset\). The intuition for the parameters is as follows. Intuitively \(\mathcal{U}'\), \(\mathcal{R}'\) and \(\mathcal{X}'\) are subsets of \(\mathcal{U}\), \(\mathcal{R}\) and \(\mathcal{X}\), resp., that we have already identified, while \(\widetilde{\mathcal{U}}\) is the current value of the set \(\widetilde{\mathcal{U}}\) under construction. Intuitively, \(\mathcal{N}\) are the centers to which the points \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \widetilde{\mathcal{U}}\) are reassigned, namely \(\widetilde{\mu}(p)\in \mathcal{N}\). At the end of the root call, the global variable \(\mathcal{L}_{cheap}\) contains the desired collection of sets \(\widetilde{\mathcal{U}}\) as in Lemma 20. Whenever some \(\widetilde{\mathcal{U}}\) is added to \(\mathcal{L}_{cheap}\), we define a corresponding \(\widetilde{\mu}\) as follows: For each \(p\in S_{\mathcal{Q}}(c)\), \(\widetilde{\mu}(p)=c\) if \(c\in S_{\mathcal{Q}}-\widetilde{\mathcal{U}}\). Otherwise, i.e. if \(c\in \widetilde{\mathcal{U}}\), \(\widetilde{\mu}(p)=next(c)\in \mathcal{N}\), where \(next(c)\) is defined in the recursive call when \(c\) is added to \(\widetilde{\mathcal{U}}\).

4.5.0.1 \(cheapRem(\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})\)


Add \(\widetilde{\mathcal{U}}\) to \(\mathcal{L}_{cheap}\) and, for each \(c\in \widetilde{\mathcal{U}}\), set \(next(c)\) to the closest center to \(c\) in \(S-\mathcal{Q}-\widetilde{\mathcal{U}}-\widetilde{\mathcal{R}}\) halt Add \(\widetilde{\mathcal{U}}\) to \(\mathcal{L}_{cheap}\) and halt Let \(c\in S-\mathcal{Q}-\mathcal{R}'-\mathcal{X}'-\mathcal{N}-\widetilde{\mathcal{U}}\) minimize \(R(c):=\sum_{p\in S_{\mathcal{Q}}(c)}d(p,next(c))\), where \(next(c)\) is the closest center to \(c\) in \(S-\mathcal{Q}-\mathcal{U}'-\mathcal{R}'-\widetilde{\mathcal{U}}-\{c\}\). \(cheapRem(\mathcal{U}',\mathcal{R}',\mathcal{X}'\cup \{c\},\mathcal{N},\widetilde{\mathcal{U}})\) \(cheapRem(\mathcal{U}',\mathcal{R}'\cup \{c\},\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})\) \(cheapRem(\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N}\cup \{next(c)\},\widetilde{\mathcal{U}}\cup \{c\})\) \(cheapRem(\mathcal{U}',\mathcal{R}'\cup \{next(c)\},\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})\) \(cheapRem(\mathcal{U}'\cup \{next(c)\},\mathcal{R}',\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})\) \(cheapRem(\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N}\cup \{next(c)\},\widetilde{\mathcal{U}}\cup \{c\})\)

Proof of Lemma 20. Consider the execution of the above procedure for the correct guess of the values \(|\mathcal{R}|\), \(|\mathcal{X}|\) and \(|\mathcal{U}|\). We remark that, when line [alg:cheapRem:selectc] is executed, the set \(S-\mathcal{Q}-\mathcal{R}'-\mathcal{X}'-\mathcal{N}-\widetilde{\mathcal{U}}\) is not empty (so that we can choose an appropriate \(c\)). Indeed, at each recursive call we add at most two elements to \(\mathcal{R}'\cup \mathcal{X}'\cup \mathcal{N}\cup \widetilde{\mathcal{U}}\) and the value of \(|\mathcal{U}'|+|\mathcal{R}'|+|\mathcal{X}'|+|\widetilde{\mathcal{U}}|\) grows by at least \(1\). The latter value cannot grow more than \(2|\mathcal{U}|+|\mathcal{R}|+|\mathcal{X}|\leq 2\ell\) times since at that point we would have necessarily \(|\widetilde{\mathcal{U}}|=|\mathcal{U}|\), which makes the condition of line [alg:cheapRem:termination] true. Since the condition of line [alg:cheapRem:fewCenters] cannot hold if line [alg:cheapRem:selectc] is executed at least once, we have that \(|S- \mathcal{Q}|> 4\ell\). Thus \(S-\mathcal{Q}\) contains sufficiently many elements to remove up to \(2\) elements for up to \(2\ell\) times.

Concerning the running time of the procedure, each recursive step involves a branching on at most \(4\) subproblems, and in each one of them the value of \(|\mathcal{U}'|+|\mathcal{R}'|+|\mathcal{X}'|+|\widetilde{\mathcal{U}}|\) grows by at least \(1\). Thus, by the same argument as before, the depth of the recursion is at most \(2\ell\). So the number of recursive calls is at most \(4^{2\ell}=n^{{1/\varepsilon^{O(1)}}}\), implying a polynomial running time.

It remains to show that at least one set \(\widetilde{\mathcal{U}}\in \mathcal{L}_{cheap}\) (with the associated \(\tilde{\mu}\)) at the end of the procedure satisfies the claim. If the condition of line [alg:cheapRem:fewCenters] holds, it must happen that in one of the executions of line [alg:cheapRem:optimalGuess] one has \(\widetilde{\mathcal{U}}=\mathcal{U}\) and \(\widetilde{\mathcal{R}}=\mathcal{R}\). In that case \(\widetilde{\mathcal{U}}\) and the corresponding \(\widetilde{\mu}\) trivially satisfy the claim. In particular we remark that for each \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \widetilde{\mathcal{U}}=\mathcal{U}\), \(\widetilde{\mu}(p)=next(c)=\mu_{O}(p)\).

Otherwise, it is sufficient to show that there exists a chain of recursive calls that leads to a solution \(\widetilde{\mathcal{U}}\) with the desired properties. In more detail, let us focus on the solution \(\widetilde{\mathcal{U}}\in \mathcal{L}_{cheap}\) which is generated by the following chain of recursive calls starting from the root call with \((\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})=(\emptyset,\emptyset,\emptyset,\emptyset,\emptyset)\). Consider the current input parameters \((\mathcal{U}',\mathcal{R}',\mathcal{X}',\mathcal{N},\widetilde{\mathcal{U}})\) and let \(c\) be selected in line [alg:cheapRem:selectc]. During the process, we will maintain the following invariants: \[\label{inv:UpRpXp} \mathcal{U}'\subseteq \mathcal{U};\,\mathcal{R}'\subseteq \mathcal{R}; \mathcal{X}'\subseteq \mathcal{X}.\tag{14}\] \[\label{inv:N} \mathcal{N}\cap (\mathcal{U}\cup \mathcal{R})=\emptyset.\tag{15}\] \[\label{inv:tU} \widetilde{\mathcal{U}}\cap (\mathcal{X}\cup \mathcal{R}\cup \mathcal{N})=\emptyset.\tag{16}\] The root call satisfies the mentioned invariants trivially since \(\widetilde{\mathcal{U}}=\mathcal{U}'=\mathcal{R}'=\mathcal{X}'=\mathcal{N}=\emptyset\).

If \(c\in \mathcal{X}\), we continue with the recursive call of line [alg:cheapRem:discoveredX]. The invariants are maintained since \(\mathcal{X}'\cup\{c\}\subseteq \mathcal{X}\) and \(c\notin \widetilde{\mathcal{U}}\). Observe that this choice is excluded if \(c\in \mathcal{U}'\) or \(|\mathcal{X}'|=|\mathcal{X}|\), however by Invariant 14 the latter conditions cannot happen when \(c\in \mathcal{X}\).

Similarly, if \(c\in \mathcal{R}\), we continue with the recursive call of line [alg:cheapRem:discoveredR]. The invariants are maintained since \(\mathcal{R}'\cup\{c\}\subseteq \mathcal{R}\), \(c\notin \mathcal{N}\), and \(c\notin \widetilde{\mathcal{U}}\). Observe that this choice is excluded if \(c\in \mathcal{U}'\) or \(|\mathcal{R}'|=|\mathcal{R}|\), however by Invariant 14 the latter conditions cannot happen when \(c\in \mathcal{R}\).

Otherwise, namely if \(c\notin \mathcal{R}\cup \mathcal{X}\), if the condition of line [alg:cheapRem:easyAddtU] is true, we continue with the recursive call of the same line. Let us show that invariants are preserved. Suppose first that \(next(c)\in \mathcal{N}\). In this case the first two invariants are not affected, and the third one is maintained since \(c\notin \mathcal{N}\) (and by assumption \(c\notin \mathcal{R}\cup \mathcal{X}\)). Otherwise one has \(|\mathcal{U}'|+|\mathcal{R}'|=|\mathcal{U}|+|\mathcal{R}|\), which by Invariant 14 implies \(\mathcal{U}'=\mathcal{U}\) and \(\mathcal{R}'=\mathcal{R}\). Thus one has \(next(c)\notin \mathcal{U}\cup \mathcal{R}\) and \(c\notin \mathcal{R}\cup \mathcal{X}\cup \mathcal{N}\).

Otherwise, i.e., if the condition of line [alg:cheapRem:easyAddtU] is false, depending on whether \(next(c)\) belongs to \(\mathcal{R}\), \(\mathcal{U}\), or none of the previous cases, we continue with the recursive calls of lines [alg:cheapRem:guessNextR], [alg:cheapRem:guessNextU], and [alg:cheapRem:guessNextNotRU], resp. Suppose first that \(next(c)\in \mathcal{R}\). Observe that Invariant 14 guarantees that in this case \(|\mathcal{R}'|<|\mathcal{R}|\) as required by the condition of line [alg:cheapRem:guessNextR]. Invariant 14 is maintained since \(\mathcal{R}'\cup \{next(c)\}\subseteq \mathcal{R}\), while Invariants 15 and 16 are maintained since \(\mathcal{N}\) and \(\widetilde{\mathcal{U}}\) are not modified. Suppose next that \(next(c)\in \mathcal{U}\). Observe that Invariant 14 guarantees that in this case \(|\mathcal{U}'|<|\mathcal{U}|\) as required by the condition of line [alg:cheapRem:guessNextU]. Similarly to the previous case, Invariant 14 is maintained since \(\mathcal{U}'\cup \{next(c)\}\subseteq \mathcal{U}\), while Invariants 15 and 16 are maintained since \(\mathcal{N}\) and \(\widetilde{\mathcal{U}}\) are not modified. The remaining case if that \(next(c)\notin \mathcal{R}\cup \mathcal{U}\). Invariant 15 is maintained since \(next(c)\notin \mathcal{R}\cup \mathcal{U}\). Invariant 16 is maintained since \(c\notin \mathcal{X}\cup \mathcal{R}\) by the assumptions of this case, \(c\notin \mathcal{N}\cup \{next(c)\}\) by construction, and \(c\notin \widetilde{\mathcal{U}}\) by construction.

Let us show that the final \(\tilde{U}\) obtained with the above procedure with the associated \(\tilde{\mu}\) satisfies the claim. Condition (1) is trivially satisfied. Invariant 16 directly implies property (2). We next focus on property (3). Property (a) is satisfied by definition. When a center \(c\) is added to \(\widetilde{\mathcal{U}}\), the respective \(c':=next(c)=\widetilde{\mu}(p)\) for all \(p\in S_{\mathcal{Q}}(c)\) is added to \(\mathcal{N}\) (if not already there). Invariant 15 guarantees that \(c'\notin \mathcal{R}\), while Invariant 16 guarantess that \(c'\notin \widetilde{\mathcal{U}}\). Property (b) follows.

It remains to prove property (c). Consider first any \(c\in \mathcal{U}\cap \widetilde{\mathcal{U}}\). We claim that for the corresponding \(p\in S_{\mathcal{Q}}(c)\) one has \(\tilde{\mu}(p)=\mu_O(p)\). Indeed, let \(c_1,c_2,\dots\) be the centers in \(S- \mathcal{Q}- \{c\}\) in non-decreasing order of distance from \(c\). Let also \(c_q\) be the first such center belonging to \(S- S_0\). In particular \(\mu_O(p)=c_q\). By construction all the centers \(c_1,\ldots,c_{q-1}\) must have been already added to \(\mathcal{U}'\cup \mathcal{R}'\) in previous recursive steps when \(c\) is added to \(\widetilde{\mathcal{U}}\). Furthermore, when the latter event happens either \(c_q\in \mathcal{N}\) already or \(c_q\) is added to \(\mathcal{N}\). In both cases one has that \(\tilde{\mu}(p)=c_q\) as desired. As a consequence \[\begin{align} \sum_{c\in \mathcal{U}\cap \widetilde{\mathcal{U}}}\sum_{p\in S_{ \mathcal{Q}}(c)}(d(p,\tilde{\mu}(p))-d(p,\mu_O(p)))=0.\label{lem:successcheapremove:eqn1} \end{align}\tag{17}\] Consider next any \(c\in \mathcal{U}- \widetilde{\mathcal{U}}\). For any \(p\in S_{\mathcal{Q}}(c)\) by construction one has \(\tilde{\mu}(p)=c\). Thus \[\begin{align} \sum_{c\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{ \mathcal{Q}}(c)}(d(p,\tilde{\mu}(p))-d(p,\mu_O(p))) & \leq \sum_{c\in S_0- \mathcal{Q}}\sum_{p\in S_{ \mathcal{Q}}(c)}d(p,c) -\sum_{c\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{ \mathcal{Q}}(c)}d(p,\mu_O(p)) \nonumber \\ & \leq O(\varepsilon) opt-\sum_{c\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{ \mathcal{Q}}(c)}d(p,\mu_O(p)),\label{lem:successcheapremove:eqn2} \end{align}\tag{18}\] where in the last inequality above we used the assumption that \(\mathcal{Q}\) satisfies property (2) of Lemma 18, and the fact that \(\mathcal{U}- \widetilde{\mathcal{U}}\subseteq \mathcal{U}\subseteq S_0-\mathcal{Q}\).

Finally consider any \(c\in \widetilde{\mathcal{U}}- \mathcal{U}\). Define any bijection between each such \(c\) and some distinct \(c'\in \mathcal{U}- \widetilde{\mathcal{U}}\) (this is possible since \(|\widetilde{\mathcal{U}}|=|\mathcal{U}|\)). Consider the recursive call when \(c\) is added to \(\widetilde{\mathcal{U}}\). Let \(\mathcal{U}'\), \(\mathcal{R}'\), \(\mathcal{X}'\), \(\mathcal{N}\), \(next(c)\), \(R(c)\), \(next(c')\), \(R(c')\) be the associated quantities in that call. Notice that at that time \(c'\) was an available candidate to be added to \(\widetilde{\mathcal{U}}\) since \(c'\in S-\mathcal{Q}-\mathcal{R}-\mathcal{X}-\widetilde{\mathcal{U}}\subseteq S-\mathcal{Q}-\mathcal{R}'-\mathcal{X}'-\widetilde{\mathcal{U}}\) (using Invariant 14 ) and \(\mathcal{N}\cap \mathcal{U}=\emptyset\) by Invariant 15 , hence \(c'\in S-\mathcal{Q}-\mathcal{R}'-\mathcal{X}'-\mathcal{N}-\widetilde{\mathcal{U}}\). Since we added \(c\) instead of \(c'\), it must be the case that \(R(c)\leq R(c')\). For every \(p\in S_{\mathcal{Q}}(c')\), \(\mu_O(p)\in \mathcal{X}\), hence \(\mu_O(p)\notin \widetilde{\mathcal{U}}\) by Invariant 16 . It follows that \(\mu_O(p)\in S-\mathcal{Q}-\mathcal{U}- \mathcal{R}- \widetilde{\mathcal{U}}-\{c'\}\subseteq S-\mathcal{Q}-\mathcal{U}'- \mathcal{R}'- \widetilde{\mathcal{U}}-\{c'\}\), where we used again Invariant 14 . Thus \(d(c',next(c'))\leq d(c',\mu_O(p))\). Hence for every \(p\in S_{\mathcal{Q}}(c')\), \[d(p,next(c')) \leq d(p,c')+d(c',next(c'))\leq d(p,c')+d(c',\mu_O(p))\leq 2d(p,c')+d(p,\mu_O(p)).\] Summarizing, \[\begin{align} & \sum_{c\in \widetilde{\mathcal{U}}- \mathcal{U}}\sum_{p\in S_{\mathcal{Q}}(c)}(d(p,\tilde{\mu}(p))-d(p,\mu_O(p))) \leq \sum_{c\in \widetilde{\mathcal{U}}- \mathcal{U}}\sum_{p\in S_{\mathcal{Q}}(c)}d(p,\tilde{\mu}(p))= \sum_{c\in \widetilde{\mathcal{U}}- \mathcal{U}}R(c)\leq \sum_{c'\in \mathcal{U}- \widetilde{\mathcal{U}}}R(c')\nonumber \\ & = \sum_{c'\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{\mathcal{Q}}(c')}d(p,next(c')) \leq \sum_{c'\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{\mathcal{Q}}(c')}(2d(p,c')+d(p,\mu_O(p)))\nonumber\\ & \leq O(\varepsilon) opt+ \sum_{c\in \mathcal{U}- \widetilde{\mathcal{U}}}\sum_{p\in S_{\mathcal{Q}}(c)}d(p,\mu_O(p)),\label{lem:successcheapremove:eqn3} \end{align}\tag{19}\] where in the last inequality above we used again the assumption on \(\mathcal{Q}\), i.e., property (2) of Lemma 18. Property (c) follows by summing 17 , 18 , and 19 . ◻

4.5.1 Mixed Solutions after the Removal of \(\widetilde{\mathcal{U}}\)↩︎

We let \((S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}, \widetilde{\mu})\) be the output of a successful run of the \(cheapRem()\) procedure, i.e., where \(\widetilde{\mathcal{U}}\in \mathcal{L}_{cheap}\) and its associated assignment \(\widetilde{\mu}\) satisfies the properties of Lemma 20. Recall that \(S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}\) consists of the centers \(S' = S - \mathcal{Q}- \widetilde{\mathcal{U}}\) and the dummy centers \(\Lambda\). Further recall that \(M_O\) consists of the centers \(S- S_0 = S - \mathcal{Q}- \mathcal{U}- \mathcal{R}\) and \(\hat{\text{OPT}}\). \(M_D\) is the same set of centers except that \(\hat{\text{OPT}}\) is replaced by \(\Lambda\). Notice that some centers of \(M_O\) and \(M_D\) are now removed if \(\widetilde{\mathcal{U}}- \mathcal{U}\neq \emptyset\). To take care of this, we modify these mixed solutions to obtain \(M'_O\) and \(M'_D\).

We first define \(M'_O\); the definition of \(M'_D\) is then very similar. The centers of \(M'_O\) are \(S- \mathcal{Q}- \widetilde{\mathcal{U}} - \mathcal{R}\) and \(\hat{\text{OPT}}\). Hence, the difference between \(M_O\) and \(M'_O\) is that in \(M_O\) we remove \(\mathcal{U}\) from \(S\) and in \(M'_O\) we remove \(\widetilde{\mathcal{U}}\). In other words, \(M'_O = M_O \cup \mathcal{U}- \widetilde{\mathcal{U}}\). Similarly, we let \(M'_D = M_D \cup \mathcal{U}- \widetilde{\mathcal{U}}\). We update the assignment \(\mu_O\) of \(M_O\) to an assignment \(\mu'_O\) of \(M'_O\) (and the assignment \(\mu_D\) to \(\mu'_D\)). Recall that \(\mu_O\) assigns each client \(p\) to its closest center in \(\hat{\text{OPT}}\) (if \(p\in D^*_{\texttt{exp}}\)) or its closest center in \(S- S_0\) (if \(p\in D- D^*_{\texttt{exp}}\)) except for those clients that belong to a cluster \(S_{\mathcal{Q}}(c)\) with \(c\in \mathcal{U}\cup \mathcal{R}\). Indeed, the clients in \(S_\mathcal{Q}(c)\) are all assigned to the center of \(\hat{\text{OPT}}\) that is closest to \(c\) if \(c\in \mathcal{R}\), and if \(c\in \mathcal{U}\) they are all assigned to the center in \(S - S_0\) that is closest to \(c\). We also recall that \(\mu_D\) is the same as \(\mu_O\) except when \(\mu_O(p) \in \hat{\text{OPT}}\) in which case \(\mu_O(p)\) is replaced by its corresponding dummy center.

4.5.1.1 Definitions of \(\mu_O'\) and \(\mu_D'\).

For clients \(p\in S_{\mathcal{Q}}(c)\) with \(c \not\in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda\), we define \(\mu_O'(p) = \mu_O(p)\). For \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \Lambda\), we let \(\mu'_O(p)\) be the closest center in \(\hat{\text{OPT}}\). Finally, for \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \mathcal{U}\cup \widetilde{\mathcal{U}}\), we define \(\mu'_O(p) = \widetilde{\mu}(p)\).

The assignment \(\mu'_D\) is obtained in the same way from \(\mu_D\) with the difference that we use \(\Lambda\) instead of \(\hat{\text{OPT}}\): For clients \(p\in S_{\mathcal{Q}}(c)\) with \(c \not\in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda\), we define \(\mu_D'(p) = \mu_D(p)\). For \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \Lambda\), we let \(\mu'_D(p)\) be the closest center in \(\Lambda\). Finally, for \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \mathcal{U}\cup \widetilde{\mathcal{U}}\), we define \(\mu'_D(p) = \widetilde{\mu}(p)\).

This completes the definition of \(\mu'_O\) and \(\mu'_D\). We remark that we have \(\mu'_O(p) = \mu_O(p)\) and \(\mu'_D(p) = \mu_D(p)\) for all \(p\in S_\mathcal{Q}(c)\) with \(c\not \in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda\).

We continue by arguing that \(\mu'_O\) is well-defined, i.e., that \(\mu'_O(p) \in M_O'\) for every \(p\in D\) (the proof for \(\mu'_D\) is the same). This is immediate for a client \(p\in S_\mathcal{Q}(c)\) with \(c \in \Lambda\). For a client \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \cal U \cup \widetilde{\mathcal{U}}\), it holds because, by Lemma 20, \(\widetilde{\mu}(p)\) equals \(c\in M'_O\) if \(c \in \mathcal{U}- \widetilde{\mathcal{U}}\) and otherwise \(\widetilde{\mu}(p) \in S- \mathcal{Q}- \widetilde{\mathcal{U}}- \mathcal{R}\subseteq M'_O\). It remains to verify that \(\mu_O(p) \in M_O'\) for a client \(p\in S_\mathcal{Q}(c)\) with \(c\not \in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda\). If \(c\in \mathcal{R}\), we have \(\mu_O(p) \in \hat{\text{OPT}}\subseteq M'_O\). Similarly, if \(c \not \in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda \cup \mathcal{R}\) and \(p\in D^*_{\texttt{exp}}\) we have \(\mu_O(p) \in \hat{\text{OPT}}\subseteq M'_O\). In the remaining case when \(c \not \in \mathcal{U}\cup \widetilde{\mathcal{U}}\cup \Lambda \cup \mathcal{R}\) and \(p\in D- D^*_{\texttt{exp}}\), \(\mu_O(p)\) equals \(p\)’s closest center in \(S- S_0\). As \(p\in S_\mathcal{Q}(c)\), we thus have \(\mu_O(p) = c \in S - (S_0 \cup \widetilde{\mathcal{U}}) \subseteq M'_O\).

The following upper bound on \(\text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D)\) is a fairly immediate consequence of the assumption that the cheap-removal process is successful (Property 3c of Lemma 20). Similarly to before, we say that the selection of \((W, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}},\widetilde{\mu})\) is successful, if the sample \(W\) selected in 4.2 is successful, the set of balls \(\mathcal{B}\) from Section 4.3 is valid, \(\mathcal{Q}\) selected in Section 4.4 satisfies the properties of Lemma 18, and \(\widetilde{\mathcal{U}},\widetilde{\mu}\) selected in this section satisfies the properties of Lemma 20.

Claim 7. If \((W, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}},\widetilde{\mu})\) is successful, \[\text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D) \leq \sum_{p\in D} 4 \text{OPT}_p + O(\varepsilon\cdot \text{opt})\,.\]

Proof. For \(x\in \{O, D\}\) the only differences between \(\mu'_x\) and \(\mu_x\) are clients in \(S_{\mathcal{Q}}(c)\) with \(c\in \Lambda\cup \mathcal{U}\cup \widetilde{\mathcal{U}}\). Consider first a client \(p \in S_{\mathcal{Q}}(c)\) with \(c \in \Lambda\). Then, as \(c\) is the closest center among \((S - \mathcal{Q}) \cup \Lambda\), which both contains \(M_O - \hat{\text{OPT}}\) and \(M'_O - \hat{\text{OPT}}\), we have that the closest center to \(p\) in both \(M'_O\) and \(M_O\) is in \(\hat{\text{OPT}}\) (because by the definition of dummy centers, \(d(p, \hat{\text{OPT}}) \leq d(p, \Lambda)\)). Similarly, the closest center to \(p\) in both \(M'_D\) and \(M_D\) is in \(\Lambda\). Hence, the definitions of \(\mu'_O\) and \(\mu'_D\) to assign \(p\) to its closest center in \(\hat{\text{OPT}}\) and \(\Lambda\), respectively, cannot increase the cost, i.e., \(d(p, \mu'_O(p)) \leq d(p, \mu_O(p))\) and \(d(p, \mu'_D(p)) \leq d(p, \mu_D(p))\) for such a client \(p\).

Finally, for those clients \(p\in S_\mathcal{Q}(c)\) with \(c\in\mathcal{U}\cup \widetilde{\mathcal{U}}\) we have \(\mu'_x = \widetilde{\mu}\) by definition and \(d(p, \mu_O(p)) \leq d(p, \mu_D(p))\) since \(\mu_O(p) = \mu_D(p)\) unless \(\mu_O(p)\in \hat{\text{OPT}}\) in which case \(\mu_D(p)\) is the dummy center associated with \(\mu_O(p)\) that can only be farther away from \(p\) than \(\mu_O(p)\). Hence: \[\begin{gather} \sum_{c \in \mathcal{U}\cup \widetilde{\mathcal{U}}} \sum_{p\in S_\mathcal{Q}(c)} \left( d(p, \widetilde{\mu}(p)) - d(p, \mu_D(p)) \right) \leq \sum_{c \in \mathcal{U}\cup \widetilde{\mathcal{U}}} \sum_{p\in S_\mathcal{Q}(c)} \left( d(p, \widetilde{\mu}(p)) - d(p, \mu_O(p)) \right) = O (\varepsilon\cdot {\text{opt}})\,, \end{gather}\] where in the equality we used Property (c) of Lemma 20. The claim follows since \[\text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D)\leq \text{cost}(M_O, \mu_O) + \text{cost}(M_D, \mu_D) +O(\varepsilon\cdot \text{opt}) \overset{Lem. \ref{lemma:costboundofMOandMDwithassignments}}\leq 4 \text{OPT}_p + O(\varepsilon\cdot \text{opt})\,.\] ◻

To better understand \(\text{cost}(M'_O, \mu'_O)\), let us consider the cost \(d(p, \mu'_O(p))\) of a single client \(p\):

  • If \(p \in S_{\mathcal{Q}}(c)\) with \(c\not\in \widetilde{\mathcal{U}}\cup \mathcal{R}\) then \(\widetilde{\mu}(p) = c\) by Property 3a of Lemma 20. Moreover, \(\mu'_O(p)\) assigns \(p\) either to a center in \(\hat{\text{OPT}}\) or to one in \(S - \mathcal{Q}- \widetilde{\mathcal{U}}- \cal R\) and we have \(d(p, c) \leq d(p, S - \mathcal{Q}- \widetilde{\mathcal{U}}- \cal R)\). Hence, in either case, we have \[d(p, \mu'_O(p)) \geq d(p, \{\widetilde{\mu}(p)\} \cup \hat{\text{OPT}}) = d(p, \{\widetilde{\mu}(p)\} \cup \hat{\text{OPT}}\cup \Lambda) \,.\]

  • If \(p\in S_{\mathcal{Q}}(c)\) with \(c\in \mathcal{R}\) then \(\mu'_O(p) = \mu_O(p) = c^*\in \hat{\text{OPT}}\) where \(c^*\) is the center of \(\hat{\text{OPT}}\) that is closest to \(c\). So \[d(p, \mu_O'(p)) = d(p, c^*)\,.\]

  • If \(p \in S_{\mathcal{Q}}(c)\) with \(c\in \widetilde{\mathcal{U}}\) then \(\mu'_O(p) = \widetilde{\mu}(p)\) and so \[d(p, \mu_O'(p)) \geq d(p, \{\widetilde{\mu}(p)\} \cup \hat{\text{OPT}}\cup \Lambda).\]

Similarly, we can analyze \(d(p, \mu_D(p))\) by replacing \(\hat{\text{OPT}}\) with the set \(\Lambda\) of dummy centers (and \(c^*\) by its associated dummy center). Summarizing, we have \[\begin{align} \text{cost}(M'_O, \mu'_O) &\geq \sum_{c\in S_{\mathcal{Q}} - \mathcal{R}}\sum_{p\in S_{\mathcal{Q}}(c)} d\left(p, \{c\} \cup \hat{\text{OPT}}\cup \Lambda\right) + \sum_{c\in \mathcal{R}} \min_{c' \in \hat{\text{OPT}}} \sum_{p\in S_{\mathcal{Q}}(c)} d\left(p, c' \right)\\ \intertext{and} \text{cost}(M'_D, \mu'_D) &\geq \sum_{c\in S_{\mathcal{Q}} - \mathcal{R}}\sum_{p\in S_{\mathcal{Q}}(c)} d\left(p, \{c\} \cup \Lambda\right) + \sum_{c\in \mathcal{R}} \min_{c'\in \Lambda}\sum_{p\in S_{\mathcal{Q}}(c)} d\left(p, c'\right) \end{align}\]

Furthermore, by Properties 3a and 3b of Lemma 20, we have that, for every \(c\in \mathcal{R}\), the set \(S_{\mathcal{Q}}(c)\) of clients assigned to \(c\) in \(S_{\mathcal{Q}}\) equals the set \(\widetilde{\mu}^{-1}(c)\) of clients assigned by \(\widetilde{\mu}\). So, if we let \(\{C_c\}_{c\in S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}}\) be the partitioning of the set \(D\) of clients according to \(\widetilde{\mu}\), i.e., \(C_c = \{p\in D\mid \widetilde{\mu}(p) =c\}\), we can thus rewrite the above bounds on the cost as \[\begin{align} \text{cost}(M'_O, \mu'_O) &\geq \sum_{c\not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \hat{\text{OPT}}\cup \Lambda\right) + \sum_{c\in \mathcal{R}}\min_{c' \in \hat{\text{OPT}}}\sum_{p\in C_c} d\left(p, c'\right) \tag{20}\\ \intertext{and} \text{cost}(M'_D, \mu'_D) &\geq \sum_{c \not\in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \Lambda\right) + \sum_{c\in \mathcal{R}}\min_{c' \in \Lambda}\sum_{p\in C_c} d\left(p, c'\right)\,.\tag{21} \end{align}\] In the next section, we use these bounds to give a polynomial-time algorithm that outputs a solution \(S^*\) with \(k\) centers so that (see Lemma 21) \[\begin{align} \text{cost}(S^*) \leq \frac{(1+2\varepsilon)}{2} \left( \text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D) \right) + O(\varepsilon\text{opt}) \leq \sum_{p\in D} 2 \text{OPT}_p + O(\varepsilon\cdot \text{opt}) \end{align}\] where the second inequality is by Claim 7. So the proof of Lemma 21 in the next subsection is the final step in the proof of Theorem [thm:mainadditivecenters] (see also Section 4.7 where we put everything together to prove Theorem [thm:mainadditivecenters]).

4.6 Finding \(S^*\) via Submodular Optimization↩︎

In this section, we give a polynomial-time algorithm for finding the solution \(S^*\) by reducing the problem to maximizing a submodular function subject to a partition matroid constraint. Specifically, we prove the following lemma:

Lemma 21. We can in polynomial-time find a clustering \(S^*\) with \(k\) centers of cost at most \[\frac{(1+2\varepsilon)}{2} \left( \text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D) \right) + O(\varepsilon\text{opt})\,.\]

Recall that at this point the algorithm calculated the local search solution \(S\), sampled \(W\), guessed \(\mathcal{B}\), \(\mathcal{Q}\), and \(\widetilde{\mathcal{U}}\) with the assignment \(\widetilde{\mu}\) of the clustering \(S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}\). We assume that all these choices were successful guesses, i.e., that \((W, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}}, \widetilde{\mu})\) is successful. Further recall the notation that we partition the clients into the clusters \(\{C_c\}_{c\in S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}}\) where \(C_c = \{ p\in D: \widetilde{\mu}(p) =c\}\).

Our goal is to give a polynomial-time algorithm that finds approximations of the sets \(\hat{\text{OPT}}\) and \(\mathcal{R}\) that only have slightly worse cost. We start by defining the feasible set of candidates for \(\hat{\text{OPT}}\) as a partition matroid. Recall that \(\hat{\text{OPT}}\) contains one center from each ball in \(\mathcal{B}\).

4.6.0.1 Definition of partition matroid \(\mathcal{M}_\mathcal{B}\).

We define the partition matroid that captures the constraint that we wish to open a center in each ball in \(\mathcal{B}\). Let \(F_\mathcal{B}\) be the (multi) subset of facility/center locations containing \(B\cap F\) for each ball \(B\in \mathcal{B}\). If a center \(c\) is in multiple balls in \(\mathcal{B}\), then \(F_\mathcal{B}\) contains one distinct copy of \(c\) for each ball. We let \(F_{\mathcal{B}}(B) \subseteq F_\mathcal{B}\) denote the facilities associated with \(B\in \mathcal{B}\). These sets satisfy the following two properties:

  • The sets \(F_{\mathcal{B}}(B)\) partition \(F_\mathcal{B}\).

  • For \(B \in \mathcal{B}\), \(F_{\mathcal{B}}(B)\) contains (a copy of) every facility in \(F\cap B\).

The first property holds since we took a unique copy of each center for each ball, and they are thus disjoint: \(F_\mathcal{B}(B) \cap F_\mathcal{B}(B') = \emptyset\) for distinct \(B,B' \in \mathcal{B}\). Indeed, while it is not better for the cost to open multiple copies of a center, we make the copies to ensure the above two properties. This allows us to define the partition matroid \(\mathcal{M}_\mathcal{B}= (F_\mathcal{B}, \mathcal{I})\) where \[\mathcal{I}= \{X \subseteq F_\mathcal{B}: |X\cap F_\mathcal{B}(B)| \leq 1for everyB\in \mathcal{B}\}\,.\] Moreover, since there is exactly one ball in \(\mathcal{B}\) for each center in \(\hat{\text{OPT}}\), we have \(\hat{\text{OPT}}\in \mathcal{I}\) (where we slightly abuse notation as we should take the copy of center \(c^*\in \hat{\text{OPT}}\) that belongs to its associated ball).

4.6.0.2 Core, concentrated and hit clusters.

Our goal is now to define a submodular function \(f\) so that we obtain a good approximation to \(\hat{\text{OPT}}\) by maximizing \(f\) over the matroid constraint \(\mathcal{M}_\mathcal{B}\). In particular, the domain of \(f\) is every subset of \(F_\mathcal{B}\). However, we need some additional steps before defining \(f\). In particular, we introduce the concept of the core of a cluster \(C_c\) and the notions of concentrated and hit clusters, which allow us to simplify the structure of centers in \(\mathcal{R}\). For a cluster \(C_c\), we define the core of \(C_c\) as \[\begin{gather} C^{\text{core}}_c = \left\{p \in C_c: d(p, c) \leq \varepsilon\cdot \frac{\text{cost}(S)}{|\mathcal{R}|\cdot |C_c|}\right\}\,. \end{gather}\] We further say that cluster \(C_c\) is concentrated if \[\begin{gather} |C^{\text{core}}_c| \geq (1-\varepsilon) |C_c| \end{gather}\] and it is hit by a set \(X\) of centers if there is a point \(p \in C^{\text{core}}_c\) such that \[\begin{gather} d(p, X) < d(p,c)\,. \end{gather}\] For shortness we will sometimes say that a center is concentrated (resp., hit), if the corresponding cluster is so.

4.6.0.3 Guessing the centers of \(\mathcal{R}\) that are not concentrated.

We further simplify the task of finding the set of centers \(\mathcal{R}\) by guessing the centers of \(\mathcal{R}\) that are not concentrated. Specifically, partition the set \(\mathcal{R}\) into \(\mathcal{R}_0\) and \(\mathcal{R}_1\), where \(\mathcal{R}_1\) contain those centers of \(\mathcal{R}\) that are concentrated and \(\mathcal{R}_0\) contains those that are not. We can correctly guess \(\mathcal{R}_0\) in polynomial time since the following simple claim shows that it is a subset of the centers whose cluster costs at least \(\varepsilon^2 \cdot \text{opt}/|\mathcal{R}|\), of which there are only \(O(|\mathcal{R}|/\varepsilon^2)\) many, and so guessing \(\mathcal{R}_0\) can thus be done in time \(2^{O(|\mathcal{R}|/\varepsilon^2)}\).

Claim 8. Suppose that \(C_c\) is not concentrated. Then the cost of \(C_c\) is at least \(\varepsilon^2 \cdot \text{opt}/|\mathcal{R}|\).

Proof. Since \(C_c\) is not concentrated we have \(|C_c - C^{\text{core}}_c| \geq \varepsilon|C_c|\). Moreover, each point \(p\in C_c - C^{\text{core}}_c\) has \(d(p,c) > \varepsilon\frac{\text{cost}(S)}{|\mathcal{R}| \cdot |C_c|}\) by definition. Hence, as \(\text{cost}(S) \geq \text{opt}\), \[\sum_{p\in C_c} d(p,c) \geq \sum_{p\in C_c - C^{\text{core}}_c} d(p,c) \geq |C_c- C^{\text{core}}_c|\cdot \varepsilon\frac{\text{opt}}{|\mathcal{R}| \cdot |C_c|} \geq \varepsilon^2 \frac{\text{opt}}{|\mathcal{R}|}\,.\] ◻

Now let \(\mathcal{P}\) be the potential centers that can be in \(\mathcal{R}\). Specifically, we let \(\mathcal{P}\) be the set that contains a center \(c\) in \(S -\mathcal{Q}- \widetilde{\mathcal{U}}\) if \(C_c\) equals the set of clients in \(S_{\mathcal{Q}}(c)\), where we recall that \(S_{\mathcal{Q}}(c)\) is the set of clients that are closest to \(c\) in the clustering \(S_{\mathcal{Q}}\). Notice that the algorithm has all the information \(S, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}}\) and \(\widetilde{\mu}\) to calculate \(\mathcal{P}\). Furthermore, by Lemma 20, we have that no client from \(\widetilde{\mathcal{U}}\) was reassigned by \(\widetilde{\mu}\) to a center in \(\mathcal{R}\). So for \(c\in \mathcal{R}\) we have \(C_c = S_{\mathcal{Q}}(c)\). Hence, \(\cal R \subseteq \mathcal{P}\) and we can guess \(\mathcal{R}_0\) as follows:

4.6.0.4 Guessing \(\mathcal{R}_0\)


  1. Let \(\mathcal{C}\) be the clusters of \(\mathcal{P}\) whose cost is at least \(\varepsilon^2 \cdot \text{opt}/|\mathcal{R}|\).

  2. Output each subset of \(\mathcal{C}\).

By the above claim and the definition of \(\mathcal{P}\), one of the outputs is \(\mathcal{R}_0\). Furthermore, the above guessing procedure outputs a family of polynomial many subsets. Indeed, we have \(|\mathcal{R}| \leq \log(n)/\varepsilon^3\) by Lemma 10. Moreover, the total cost of the clusters in \(\mathcal{P}\) is \(O(\text{opt})\). To see this notice that the clusters corresponding to \(\mathcal{P}\) is a subset of the clusters of \(S_{\mathcal{Q}}\) and the cost of \(S_{\mathcal{Q}}\) is at most \(\text{cost}(S - S_0 \cup \Lambda)\) (since \(S_{\mathcal{Q}}\supseteq S- S_0 \cup \Lambda\)), which has cost at most \(O(\text{opt})\) by Lemma [lemma:S0properties]. This implies that \(|\mathcal{C}| = O(\log(n)/\varepsilon^5)\), so the total number of subsets is \(n^{1/\varepsilon^{O(1)}}\). The algorithm proceeds by trying all possible subsets in the output, and we analyze the algorithm when it takes the correct guess of \(\mathcal{R}_0\).

4.6.0.5 Definition of the submodular function \(f\).

We first define another function \(g\) on the same domain as \(f\), i.e., on all subsets \(X\) of \(F_\mathcal{B}\). We will then define \(f\) by \(f(X) = g(\emptyset) - g(X)\). Let the closed cost of a cluster \(C_c\) be defined as \[\text{closedcost}_c(X) := \begin{cases} \sum_{p\in C_c} d(p, \{c\} \cup X \cup \Lambda) & if C_c is hit by X, \\ \min_{c'\in X \cup \Lambda} \sum_{p\in C^{\text{core}}_c} d(p, c') + \sum_{p\in C_c - C^{\text{core}}_c} d(p, \{c\} \cup X \cup \Lambda) & otherwise. \end{cases}\] Further, let \(\mathcal{P}_1\) be the potential centers for \(\mathcal{R}_1\): it contains each center \(c\in \mathcal{P}- \mathcal{R}_0\) so that \(c\) is concentrated, i.e., \(|C^{\text{core}}_c| \geq (1-\varepsilon) |C_c|\). We remark that the algorithm can calculate this set \(\mathcal{P}_1\) as it only depends on \(\mathcal{P}\), the guessed set \(\mathcal{R}_0\), the value \(\text{cost}(S)\), and the clusters \(C_c\) defined by \(\widetilde{\mu}\). Moreover, by definition, we have \(\mathcal{R}_1 \subseteq \mathcal{P}_1\). For a subset \(X \subseteq F_\mathcal{B}\), we then then define \(g(X)\) to be the minimum value of \[\begin{gather} \sum_{c \not \in \mathcal{R}_0 \cup \mathcal{R}'_1}\sum_{p\in C_c} d\left(p, \{c\} \cup X \cup \Lambda\right) + \sum_{c\in \mathcal{R}_0} \sum_{p\in C_c} d(p, X \cup \Lambda) + \sum_{c\in \mathcal{R}'_1} \text{closedcost}_c(X) \end{gather}\] over all subsets \(\mathcal{R}'_1 \subseteq \mathcal{P}_1\) with \(|\mathcal{R}_1'| = |\mathcal{R}_1| = |\mathcal{R}| - |\mathcal{R}_0|\). In words, over the best \(\mathcal{R}_1'\), \(g(X)\) is the cost of the solution obtained by removing the centers \(\mathcal{R}_0 \cup \mathcal{R}_1'\) and assigning clients as follows:

  • If \(p\in C_c\) for a remaining center \(c \not\in \mathcal{R}_0 \cup \mathcal{R}_1'\) or \(p \not \in C^{\text{core}}_c\) with \(c\in \mathcal{R}'_1\), \(p\) is assigned to its closest center in \(\{c\} \cup X \cup \Lambda\).

  • If \(p \in C_c\) for a removed center \(c\in \mathcal{R}_0\), \(p\) is assigned to its closest center in \(X \cup \Lambda\).

  • If \(p \in C^{\text{core}}_c\) for a removed center \(c\in \mathcal{R}'_1\), \(p\) is assigned to its closest center in \(\{c\} \cup X \cup \Lambda\) if \(X\) hits \(C_c\), and otherwise all clients in \(C^{\text{core}}_c\) are assigned to the same center \(c'\in X \cup \Lambda\) that minimizes the cost.

We remark that this assignment is infeasible in the sense that it may assign clients to removed centers in \(\mathcal{R}'_1\). Nevertheless, we relate the values of \(g(\emptyset)\) and \(g(\hat{\text{OPT}})\) to \(\text{cost}(M'_D, \mu'_D)\) and \(\text{cost}(M'_O, \mu'_O)\), respectively; and, we show that given an \(X \subseteq F_\mathcal{B}\) that is independent in \(M_\mathcal{B}\), i.e., \(X\in \mathcal{I}\), we can in polynomial-time output \(k\) centers whose cost is at most \((1+2\varepsilon)g(X) + 15\varepsilon\text{opt}\). Finally, the definition of \(g\) allows us to prove that \(f\) (defined by \(f(X) = g(\emptyset) - g(X)\)) is a monotone submodular function.

Lemma 22. We have that \(g\) and \(f\) satisfy the following properties:

  1. We can evaluate \(g(X)\) in polynomial time for every \(X \subseteq F_\mathcal{B}\), and we can thus evaluate \(f(X)\) in polynomial time.

  2. \(f\) is a non-negative monotone submodular function.

  3. The value \(g(\emptyset)\) is at most \(\text{cost}(M'_D, \mu'_D)\).

  4. The value \(g(\hat{\text{OPT}})\) is at most \(\text{cost}(M'_O, \mu'_O)\).

  5. Given an \(X \subseteq F_\mathcal{B}\) that is independent in \(M_\mathcal{B}\), i.e., \(X\in \mathcal{I}\), we can in polynomial-time output \(k\) centers \(S^*\) whose associated cost is at most \((1+2\varepsilon) g(X) + 15\varepsilon\text{opt}\).

We give the proof of the lemma in the next subsection. We explain here how it implies Lemma 21.

Proof of Lemma 21. By the first property of Lemma 22, we can evaluate \(f\) in polynomial time. Moreover, it is easy to see that we can answer independence queries in polynomial time for any partition matroid, particularly for \(\mathcal{M}_\mathcal{B}\). We can thus apply Theorem 5 on \(f\) and \(\mathcal{M}_\mathcal{B}\) with \(\zeta = (1-1/e - 1/2)\) to find a solution \(X \in \mathcal{I}\) such that10 \[\begin{gather} g(\emptyset) - g(X) = f(X) \geq (1-1/e - \zeta)f(\hat{\text{OPT}}) = (1-1/e - \zeta)( g(\emptyset) - g(\hat{\text{OPT}})) = \frac{1}{2} ( g(\emptyset) - g(\hat{\text{OPT}}))\,, \end{gather}\] where we used that \(\hat{\text{OPT}}\) is one feasible solution, i.e., \(\hat{\text{OPT}}\in \mathcal{I}\). This in turn implies that \[\frac{1}{2} \left(g(\hat{\text{OPT}}) + g(\emptyset) \right) \geq g(X)\,.\]

Using the upper bounds on \(g(\emptyset)\) and \(g(\hat{\text{OPT}})\) of Lemma 22 we thus have found a set \(X\) such that \[\begin{gather} \frac{1}{2} (\text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D)) \geq g(X)\,. \end{gather}\] Now using the last property of Lemma 22 we can output a solution \(S^*\) whose cost is at most \[\begin{gather} \frac{(1+2\varepsilon)}{2} \left( \text{cost}(M'_O, \mu'_O) + \text{cost}(M'_D, \mu'_D) \right) + O(\varepsilon\text{opt})\,. \end{gather}\] as required.

Finally, each of the above steps runs in polynomial time: the algorithm of Theorem 5 is polynomial time, and the last property of Lemma 22 used to obtain \(S^*\) is polynomial-time. Moreover, the number of guesses of \(\mathcal{R}_0\) is at most \(n^{1/\varepsilon^{O(1)}}\), as argued after the description of that procedure. So we can, in polynomial time, try all possibilities and, among all solutions found (one for each guess of \(\mathcal{R}_0\)), return one that minimizes the cost and, in particular, has cost at most that of \(S^*\) (which was analyzed assuming the guess of \(\mathcal{R}_0\) was correct). We thus have a polynomial time algorithm that returns a solution that satisfies the guarantee of the lemma. ◻

4.6.1 Proof of Lemma 22↩︎

4.6.1.1 Proof of Property 1.

Given \(X \subseteq F_{\mathcal{B}}\), we argue that we can evaluate \(g(X)\) in polynomial time. For a center \(c \in \mathcal{P}_1\), define \[\text{cost-inc}_c(X) = \text{closedcost}_c(X) - \sum_{p\in C_c} d(p, \{c\} \cup X \cup \Lambda)\,.\] In other words, using that \(d(p,c ) \leq d(p, X)\) for \(p\in C^{\text{core}}_c\) if \(C_c\) is not hit by \(X\), \[\begin{align} \text{cost-inc}_c(X) = \begin{cases} 0 & if C_c is hit by X, \\ \min_{c'\in X \cup \Lambda} \sum_{p\in C^{\text{core}}_c} (d(p, c') - d(p,\{c\} \cup \Lambda)) & otherwise. \end{cases} \label{eq:increase} \end{align}\tag{22}\] We remark that \(\text{cost-inc}_c(X)\geq 0\) by definition. Let \(D_0\) denote the clients belonging to clusters \(C_c\) with \(c\in \mathcal{R}_0\). With this notation, \(g(X)\) is the minimum value \[\begin{align} \sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda) + \sum_{p\in D_0} d(p, X \cup \Lambda) + \sum_{c \in \mathcal{R}'_1} \text{cost-inc}_c(X) \label{eq:nicedefofg} \end{align}\tag{23}\] over all subsets \(\mathcal{R}'_1 \subseteq \mathcal{P}_1\) with \(|\mathcal{R}'_1| = |\mathcal{R}_1|\). We further have that the value of \(\text{cost-inc}_c(X)\) for \(c\in \mathcal{R}'_1\) is independent of other centers in \(\mathcal{R}'_1\). We can thus obtain the best choice of \(\mathcal{R}'_1\) by evaluating \(\text{cost-inc}_c(X)\) for every \(c\in \mathcal{P}_1\) and choose the \(|\mathcal{R}_1|\) ones of smallest value. Notice that the algorithm knows \(|\mathcal{R}_1|\) since it equals \(|S_0| - |\mathcal{Q}| - |\widetilde{\mathcal{U}}| - |\mathcal{R}_0| =|\mathcal{B}| - |\mathcal{Q}| - |\widetilde{\mathcal{U}}| - |\mathcal{R}_0|\). After we have obtained \(\mathcal{R}'_1\) in polynomial time, we can evaluate \(g(X)\) in polynomial time by simply calculating the sum.

4.6.1.2 Proof of Property 2.

In the proof of this property it will be convenient to use definition 23 of \(g\). We start by verifying that \(f\) is monotone. I.e., that \(f(Y) \geq f(X)\) when \(X \subseteq Y\), which is equivalent to verifying that \(g(Y) \leq g(X)\). Let \(g(X)\) equal \[\sum_{ p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda) + \sum_{p\in D_0} d(p, X \cup \Lambda)+ \sum_{c \in \mathcal{R}'_1} \text{cost-inc}_c(X)\] for some set \(\mathcal{R}'_1\). Then \(g(Y)\) is at most \[\sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda)+ \sum_{p\in D_0} d(p, Y \cup \Lambda) + \sum_{c \in \mathcal{R}'_1} \text{cost-inc}_c(Y)\] As trivially \(d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda) \leq d(p, \{\widetilde{\mu}(p)\}\cup X \cup \Lambda)\), \(d(p, Y \cup \Lambda) \leq d(p, X \cup \Lambda)\) and \(\text{cost-inc}_c(Y) \leq \text{cost-inc}_c(X)\) (see 22 ), we have \(g(Y) \leq g(X)\) as required. Moreover, as \(f(\emptyset) = 0\) by definition, non-negativity follows.

We proceed to verify that \(f\) is submodular, i.e., that for every \(X \subseteq Y \subseteq F_B\) and \(c_0 \in F_B - Y\), \(f(X \cup \{c_0\}) - f(X) \geq f(Y \cup \{c_0\}) - f(Y)\), or equivalently \[\begin{align} g(X \cup \{c_0\}) - g(X) \leq g(Y \cup \{c_0\}) - g(Y)\,. \label{eq:submodularineq} \end{align}\tag{24}\] Let \(\mathcal{R}_1^X, \mathcal{R}_1^Y\), and \({\mathcal{R}}_1^{Y+c_0}\) be subsets of \(\mathcal{P}_1\) of cardinality \(|\mathcal{R}_1|\) such that \[\begin{align} g(X) &= \sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda) + \sum_{p\in D_0} d(p, X \cup \Lambda) + \sum_{c \in \mathcal{R}^X_1} \text{cost-inc}_c(X)\\ g(Y) &= \sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda)+ \sum_{p\in D_0} d(p, Y \cup \Lambda) + \sum_{c \in \mathcal{R}^Y_1} \text{cost-inc}_c(Y)\\ g(Y \cup \{c_0\}) & = \sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup (Y \cup \{c_0\}) \cup \Lambda)+ \sum_{p\in D_0} d(p, (Y \cup \{c_0\}) \cup \Lambda) + \sum_{c \in {\mathcal{R}}^{Y+c_0}_1} \text{cost-inc}_c(Y\cup \{c_0\}) \end{align}\] We shall define \({\mathcal{R}}^{X+c_0}_1\) to be a subset of \(\mathcal{P}_1\) of cardinality \(|\mathcal{R}_1|\) so that the upper bound \[\begin{align} g(X\cup \{c_0\}) \leq \sum_{p\in D- D_0} d(p, \{\widetilde{\mu}(p)\} \cup (X\cup \{c_0\}) \cup \Lambda)+ \sum_{p\in D_0} d(p, (X \cup \{c_0\}) \cup \Lambda) + \sum_{c \in {\mathcal{R}}^{X+c_0}_1} \text{cost-inc}_c(X \cup \{c_0\}) \end{align}\] allows us to verify Inequality 24 . First notice that no matter the definition of \({\mathcal{R}}^{X+c_0}_1\), we have that \[\begin{align} \sum_{p\in D- D_0} (d(p, \{\widetilde{\mu}(p)\} \cup (X\cup \{c_0\}) \cup \Lambda) - d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda) ) +\sum_{p\in D_0} (d(p, (X\cup \{c_0\}) \cup \Lambda) - d(p, X \cup \Lambda) ) \label{eq:boringsubmodular1} \end{align}\tag{25}\] is upper bounded by \[\begin{align} \sum_{p\in D- D_0} (d(p, \{\widetilde{\mu}(p)\} \cup (Y \cup \{c_0\}) \cup \Lambda) - d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda)) + \sum_{p\in D_0}(d(p, (Y \cup \{c_0\}) \cup \Lambda) - d(p, Y \cup \Lambda))\,. \label{eq:boringsubmodular2} \end{align}\tag{26}\] Indeed, if we let \(D' \subseteq D- D_0\) be the subset of clients for which \(d(p, c_0) < d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda)\) and \(D'_0 \subseteq D_0\) be the subset of clients for which \(d(p, c_0) < d(p, Y \cup \Lambda)\), then 26 equals \[\sum_{p\in D'} (d(p, c_0) - d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda))+ \sum_{p\in D'_0} (d(p, c_0) - d(p, Y \cup \Lambda))\] and we have \[\eqref{eq:boringsubmodular1} \leq \sum_{p\in D'} (d(p, c_0) - d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda)) + \sum_{p\in D'_0} (d(p, c_0) - d(p, X \cup \Lambda))\,.\] It follows that 25 is at most 26 because \[\sum_{p\in D'} ( d(p, \{\widetilde{\mu}(p)\} \cup Y \cup \Lambda) - d(p, \{\widetilde{\mu}(p)\} \cup X \cup \Lambda)) + \sum_{p\in D'_0} ( d(p, Y \cup \Lambda) - d(p, X \cup \Lambda)) \leq 0\,.\] To prove that \(f\) is submodular, it is thus sufficient to define \({\mathcal{R}}^{X+c_0}_1\) so that \[\begin{align} \sum_{c\in {\mathcal{R}}^{X+c_0}_1} \text{cost-inc}_c(X \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^X_1} \text{cost-inc}_c(X)\leq \sum_{c\in {\mathcal{R}}^{Y+c_0}_1} \text{cost-inc}_c(Y \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^Y_1} \text{cost-inc}_c(Y)\,. \label{eq:mainsubmodular} \end{align}\tag{27}\] To this end, let \(\Delta_{\text{new}}\) contain the centers in \({\mathcal{R}}^{Y+c_0}_1 - {\mathcal{R}}^Y_1\) and those centers \(c \in {\mathcal{R}}^{Y+c_0}_1 \cap \mathcal{R}^Y_1\) with \(\text{cost-inc}_c(Y \cup \{c_0\}) < \text{cost-inc}_c(Y)\). Notice that we may assume that, for each \(c\in \Delta_{\text{new}}\), \[\text{cost-inc}_c(Y \cup \{c_0\})= \text{cost-inc}_c(\{c_0\}) = \begin{cases} 0 & if C_c is hit by c_0, \\ \sum_{p\in C^{\text{core}}_c} (d(p, c_0) - d(p,\{c\} \cup \Lambda)) & otherwise. \end{cases}\] because the addition of \(c_0\) caused a decrease in \(\text{cost-inc}(\cdot)\) for these clusters. Further, let \(\Delta_{\text{old}}^Y\) contain \(\Delta_{\text{new}} \cap \mathcal{R}^{Y}_1\) and the centers \(\mathcal{R}^{Y}_1 - \mathcal{R}^{Y+c_0}_1\). So \(\mathcal{R}^{Y+c_0}_1 = (\mathcal{R}^{Y}_1 - \Delta_{\text{old}}^Y) \cup \Delta_{\text{new}}\) and \(|\Delta_{\text{new}}| = |\Delta_{\text{old}}^Y|\). We now define \(\mathcal{R}^{X+c_0}_1 = (\mathcal{R}^{X}_1 - \Delta_{\text{old}}^X) \cup \Delta_{\text{new}}\) where \(\Delta^X_{\text{old}}\) is obtained as follows:

  • Initialize \(\Delta_{\text{old}}^X =\mathcal{R}^X_1\cap \Delta_{\text{new}}\).

  • While \(|\Delta_{\text{old}}^X|< |\Delta_{\text{new}}|\), add a center according to the following priorities:

    • If there is a center \(c\in \mathcal{R}^X_1 - \Delta_{\text{old}}^X\) so that \(c\not \in \mathcal{R}^{Y}_1\), add \(c\) to \(\Delta_{\text{old}}^X\).

    • Else add a center \(c\in \mathcal{R}^X_1- \Delta_{\text{old}}^X\) with \(c \in \Delta_{\text{old}}^Y\).

We claim that the above is well-defined, i.e., that if \(|\Delta_{\text{old}}^X|< |\Delta_{\text{new}}|\) and there is no center \(c\in \mathcal{R}^X_1 - \Delta_{\text{old}}^X\) so that \(c\not \in \mathcal{R}^{Y}_1\), then there must be a center \(c\in \mathcal{R}^X_1- \Delta_{\text{old}}^X\) with \(c \in \Delta_{\text{old}}^Y\). This is because \(|\Delta_{\text{old}}^X| < |\Delta_{\text{new}}| = |\Delta_{\text{old}}^Y|\) and all remaining centers \(\mathcal{R}_1^X - \Delta_{\text{old}}^X\) are in \(\mathcal{R}^Y_1\) in this case, so at least one of them must be in \(\Delta_{\text{old}}^Y\) (recall that \(|\mathcal{R}_1^X| = |\mathcal{R}_1^Y|\)).

With this notation we have \[\begin{align} \notag \sum_{c\in {\mathcal{R}}^{Y+c_0}_1} \text{cost-inc}_c(Y \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^Y_1} \text{cost-inc}_c(Y ) & = \sum_{c\in \Delta_{\text{new}}} \text{cost-inc}_c(Y \cup \{c_0\}) - \sum_{c\in \Delta_{\text{old}}^Y}\text{cost-inc}_{c}(Y) \\ &= \sum_{c\in \Delta_{\text{new}}} \text{cost-inc}_c(\{c_0\}) - \sum_{c\in \Delta_{\text{old}}^Y}\text{cost-inc}_{c}(Y)\,. \label{eq:firstsubmodular} \end{align}\tag{28}\] Similarly, \[\begin{align} \sum_{c\in {\mathcal{R}}^{X+c_0}_1} \text{cost-inc}_c(X \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^X_1} \text{cost-inc}_c(X ) & \leq \sum_{c\in \Delta_{\text{new}}} \text{cost-inc}_c(X \cup \{c_0\}) - \sum_{c\in \Delta_{\text{old}}^X} \text{cost-inc}_{c}(X) \notag\\ & = \sum_{c\in \Delta_{\text{new}}} \text{cost-inc}_c(\{c_0\}) - \sum_{c\in \Delta_{\text{old}}^X} \text{cost-inc}_{c}(X)\,, \label{eq:secondsubmoular} \end{align}\tag{29}\] where we used that \(\text{cost-inc}_c(X \cup \{c_0\}) \leq \text{cost-inc}_c(X)\) for any center \(c\).

To analyze this, let \(\pi\) be a bijection from \(\Delta_{\text{old}}^Y\) to \(\Delta_{\text{old}}^X\) so that \(\pi(c) =c\) for all \(c\in \Delta_{\text{old}}^Y \cap \Delta_{\text{old}}^X\).

Claim 9. For every \(c\in \Delta_{\text{old}}^Y\) we have \[\text{cost-inc}_c(Y) \leq \text{cost-inc}_{\pi(c)}(X)\,.\]

Proof. If \(c\in \Delta_{\text{old}}^Y \cap \Delta_{\text{old}}^X\), the claim holds because \(\text{cost-inc}_c(Y) \leq \text{cost-inc}_c(X)\) for every \(c\in \mathcal{P}_1\). Otherwise, we have \(\pi(c) \not \in \mathcal{R}^Y_1\). This is because \((\Delta_{\text{old}}^X - \Delta_{\text{new}}^Y) \cap \mathcal{R}_1^Y = \emptyset\). Indeed, in the construction of \(\Delta_{\text{old}}^X\), we initialized with \(\mathcal{R}^X_1\cap \Delta_{\text{new}}\) and, as \(\Delta_{\text{old}}^Y\) contains \(\Delta_{\text{new}} \cap \mathcal{R}^Y_1\), all elements in \(\mathcal{R}^X_1\cap \Delta_{\text{new}}\) are either in \(\Delta_{\text{old}}^Y\) or not in \(\mathcal{R}^Y_1\). The property is then maintained by definition of the while-loop in the construction of \(\Delta_{\text{old}}^X\).

It follows that \(\mathcal{R}^Y_1\) where we remove \(c\) and add \(\pi(c)\) is another subset of \(\mathcal{P}_1\) of cardinality \(|\mathcal{R}_1|\). Hence, by the selection of \(\mathcal{R}^Y_1\) (to be the collection of centers with smallest \(\text{cost-inc}(\cdot)\)) we have \[\text{cost-inc}_c(Y) \leq \text{cost-inc}_{\pi(c)}(Y) \leq \text{cost-inc}_{\pi(c)}(X)\,.\] ◻

By the above claim, \[\begin{align} \sum_{c\in \Delta_{\text{old}}^Y}\text{cost-inc}_{c}(Y) - \sum_{c\in \Delta_{\text{old}}^X} \text{cost-inc}_{c}(X) = \sum_{c\in \Delta_{\text{old}}^Y}(\text{cost-inc}_{c}(Y) - \text{cost-inc}_{\pi(c)}(X)) \leq 0 \end{align}\] and thus by the above arguments (see 28 and 29 ) \[\sum_{c\in {\mathcal{R}}^{X+c_0}_1} \text{cost-inc}_c(X \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^X_1} \text{cost-inc}_c(X)\leq \sum_{c\in {\mathcal{R}}^{Y+c_0}_1} \text{cost-inc}_c(Y \cup \{c_0\}) - \sum_{c\in {\mathcal{R}}^Y_1} \text{cost-inc}_c(Y)\,.\] We have thus verified 27 , which concludes the proof that \(f\) is submodular.

4.6.1.3 Proof of Property 3.

For every \(c\in \mathcal{R}_1\), we have \[\begin{align} \text{closedcost}_c(\emptyset) & =\min_{c'\in \Lambda}\sum_{p\in C^{core}_c}d(p,c')+\sum_{p\in C_c-C^{core}_c}d(p,\{c\}\cup \Lambda)\\ & \leq \min_{c'\in \Lambda}(\sum_{p\in C^{core}_c}d(p,c')+\sum_{p\in C_c-C^{core}_c}d(p,c'))=\min_{c'\in \Lambda}\sum_{p\in C_c}d(p,c'). \end{align}\] Thus \[\begin{align} g(\emptyset) &\leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \Lambda\right) + \sum_{p\in D_0} d(p, \Lambda) + \sum_{c\in \mathcal{R}_1} \text{closedcost}_c(\emptyset) \\ &\leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \Lambda\right)+ \sum_{p\in D_0} d(p, \Lambda) + \sum_{c\in \mathcal{R}_1} \min_{c'\in \Lambda} \sum_{p\in C_c} d(p, c') \\ & \leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \Lambda\right) + \sum_{c\in \mathcal{R}} \min_{c'\in \Lambda} \sum_{p\in C_c} d(p, c') \overset{\eqref{eq:MprimeDbound}}{\leq}\text{cost}(M'_D, \mu'_D)\,. \end{align}\]

4.6.1.4 Proof of Property 4.

Consider any \(c\in \mathcal{R}_1\). If \(C_c\) is hit by \(\hat{\text{OPT}}\) one has \[\begin{align} \text{closedcost}_c(\hat{\text{OPT}}) & = \sum_{p\in C_c}d(p,\{c\}\cup \hat{\text{OPT}}\cup \Lambda)\leq \min_{c'\in \hat{\text{OPT}}}\sum_{p\in C_c}d(p,c'). \end{align}\] Otherwise \[\begin{align} \text{closedcost}_c(\hat{\text{OPT}}) & =\min_{c'\in \hat{\text{OPT}}\cup \Lambda}\sum_{p\in C^{core}_c}d(p,c')+\sum_{p\in C_c-C^{core}_c}d(p,\{c\}\cup \hat{\text{OPT}}\cup \Lambda)\\ & \leq \min_{c'\in \hat{\text{OPT}}}(\sum_{p\in C^{core}_c}d(p,c')+\sum_{p\in C_c-C^{core}_c}d(p,c'))=\min_{c'\in \hat{\text{OPT}}}\sum_{p\in C_c}d(p,c'). \end{align}\] Hence in both cases \(\text{closedcost}_c(\hat{\text{OPT}})\leq \min_{c'\in \hat{\text{OPT}}}\sum_{p\in C_c}d(p,c')\). Thus \[\begin{align} g(\hat{\text{OPT}}) &\leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \hat{\text{OPT}}\cup \Lambda\right) + \sum_{p\in D_0}d(p, \hat{\text{OPT}}\cup \Lambda) + \sum_{c\in \mathcal{R}_1} \text{closedcost}_c(\hat{\text{OPT}}) \\ &\leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \hat{\text{OPT}}\cup \Lambda\right)+ \sum_{p\in D_0} d(p, \hat{\text{OPT}}\cup \Lambda) + \sum_{c\in \mathcal{R}_1} \min_{c'\in \hat{\text{OPT}}} \sum_{p\in C_c} d(p, c') \\ & \leq \sum_{c \not \in \mathcal{R}}\sum_{p\in C_c} d\left(p, \{c\} \cup \hat{\text{OPT}}\cup \Lambda\right) + \sum_{c\in \mathcal{R}} \min_{c'\in \hat{\text{OPT}}} \sum_{p\in C_c} d(p, c')\overset{\eqref{eq:MprimeObound}}{\leq}\,\text{cost}(M'_O, \mu'_O). \end{align}\]

4.6.1.5 Proof of Property 5.

Let \(X \subseteq F_\mathcal{B}\) be independent in \(M_\mathcal{B}\), i.e., \(X\in \mathcal{I}\). We give a polynomial-time algorithm that outputs \(k\) centers \(S^*\) whose cost is at most \((1+2\varepsilon)g(X) +15\varepsilon\text{opt}\). Let \(\mathcal{R}'_1\) be a subset of \(\mathcal{P}_1\) of cardinality \(|\mathcal{R}_1|\) so that \[\begin{gather} g(X) = \sum_{c \not \in \mathcal{R}_0 \cup \mathcal{R}'_1}\sum_{p\in C_c} d\left(p, \{c\} \cup X \cup \Lambda\right)+ \sum_{p \in D_0} d(p, X \cup \Lambda) + \sum_{c\in \mathcal{R}'_1} \text{closedcost}_c(X) \end{gather}\] By the arguments in the proof of the first property, we can calculate \(\mathcal{R}'_1\) in polynomial time. Now we obtain \(S^*\) from \(S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}}\) as follows:

  • Initialize \(S^* = S_{\mathcal{Q}\cup \widetilde{\mathcal{U}}} = S \cup \Lambda- \mathcal{Q}- \widetilde{\mathcal{U}}\).

  • Remove centers \(\mathcal{R}_0\) and \(\mathcal{R}'_1\) from \(S^*\) to obtain a set of cardinality \(k\).

  • Finally, for each ball in \(\mathcal{B}\), if \(X\) contains a center \(c\) in that ball, replace the associated dummy center by \(c\); otherwise, replace the dummy center with an arbitrary center in the ball.

By the definition of the dummy centers \(\Lambda\), the cost of \(S^*\) is at most \[\sum_{c \not \in \mathcal{R}_0 \cup \mathcal{R}'_1}\sum_{p\in C_c} d\left(p, \{c\} \cup X \cup \Lambda\right)+ \sum_{p \in D_0} d(p, X \cup \Lambda) + \sum_{c\in \mathcal{R}'_1} \sum_{p\in C_c} d(p, X \cup \Lambda)\,.\] To relate this to \(g(X)\) we need to compare \(\text{closedcost}_c(X)\) to \(\sum_{p\in C_c} d(p, X\cup \Lambda)\) for every \(c\in \mathcal{R}'_1\). Recall that \[\text{closedcost}_c(X) = \begin{cases} \sum_{p\in C_c} d(p, \{c\} \cup X \cup \Lambda) & if C_c is hit by X, \\ \min_{c'\in X \cup \Lambda} \sum_{p\in C^{\text{core}}_c} d(p, c') + \sum_{p\in C_c - C^{\text{core}}_c} d(p, \{c\} \cup X \cup \Lambda) & otherwise. \end{cases}\] Consider a cluster \(C_c\) with \(c\in \mathcal{R}'_1\) and partition \(C_c- C^{\text{core}}_c\) into sets \(A\) and \(B\) where \(A\) contain those clients \(p\) so that \(d(p, \{c\} \cup X \cup \Lambda) =d(p, c)\) and \(B\) contain the remaining clients \(p\) with \(d(p, \{c\} \cup X \cup \Lambda) = d(p, X \cup \Lambda)\). Suppose first that there is a client \(p_0 \in C^{\text{core}}_c\) so that \(d(p_0, X \cup \Lambda) < d(p_0, c)\), i.e., \(C_c\) is hit by \(X \cup \Lambda\). By the definition of \(C^{\text{core}}_c\), we have \(d(p_0, c) \leq \varepsilon\cdot \frac{\text{cost}(S)}{|\mathcal{R}| \cdot |C_c|}\leq 5 \varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}| \cdot |C_c|}\) where we used that \(\text{cost}(S) \leq 5 \cdot \text{opt}\) by Lemma 9. So, by the triangle inequality, \[\begin{align} \sum_{p\in C_c} d(p, X \cup \Lambda)& \leq \sum_{p\in C_c - B} (d(p, c) + d(c, p_0) + d(p_0, X\cup \Lambda)) + \sum_{p\in B} d(p, X \cup \Lambda)\\ &\leq \sum_{p\in A} d(p, c) + \sum_{p\in B} d(p, X \cup \Lambda) + 15\varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}|}\,, \end{align}\] where we used \(d(p_0, X\cup \Lambda) \leq d(c, p_0) \leq 5\varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}| \cdot |C_c|}\) and \(d(p, c) \leq 5\varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}| \cdot |C_c|}\) for any \(p\in C^{\text{core}}_c\) for the last inequality. Moreover, by definition of \(A\) and \(B\), we have \(d(p, c) = d(p, \{c\} \cup X \cup \Lambda)\) for any \(p\in A\) and \(d(p, X \cup \Lambda) = d(p, \{c\} \cup X \cup \Lambda)\) for any \(p\in B\). Hence, in this case, \[\begin{align} \sum_{p\in C_c} d(p, X \cup \Lambda) \leq \sum_{p\in C_c - C^{\text{core}}_c} d(p, \{c\} \cup X \cup Y) + 15 \varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}|} \leq \text{closedcost}_c(X) + 15\varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}|}\,. \end{align}\] Let us now consider a cluster \(C_c\) with \(c\in \mathcal{R}'_1\) that is not hit by \(X \cup \Lambda\), particularly not by \(X\). Then \[\begin{align} \text{closedcost}_c(X) &= \min_{c'\in X \cup \Lambda} \sum_{p\in C^{\text{core}}_c} d(p, c') + \sum_{p\in C_c - C^{\text{core}}_c} d(p, \{c\} \cup X \cup \Lambda) \\ & \geq \sum_{p\in C^{\text{core}}_c \cup B} d(p, X \cup \Lambda) + \sum_{q\in A} d(q, c) \end{align}\] We further have \[\begin{align} \sum_{p\in C_c} d(p, X \cup \Lambda) & = \sum_{p\in C^{\text{core}}_c \cup B} d(p, X \cup \Lambda) + \sum_{q\in A} d(q, X \cup \Lambda)\\ & \leq \sum_{p\in C^{\text{core}}_c \cup B} d(p, X \cup \Lambda) + \sum_{q\in A} \frac{1}{|C^{\text{core}}_c|}\sum_{p\in C^{\text{core}}_c} (d(q, c) + d(c, p) + d(p, X \cup \Lambda)) \end{align}\] by the triangle inequality. Now using that \(d(c,p) \leq 5 \varepsilon\cdot \frac{\text{opt}}{|\mathcal{R}| \cdot |C_c|}\) we obtain the upper bound \[\begin{align} \sum_{p\in C_c} d(p, X \cup \Lambda) & \leq \left(1 + \frac{|A|}{|C^{\text{core}}_c|}\right) \sum_{p\in C^{\text{core}}_c\cup B} d(p, X \cup \Lambda) + \sum_{q\in A} d(q,c) + 5\varepsilon\frac{\text{opt}}{|\mathcal{R}|} \\ &\leq \left(1 + \frac{\varepsilon}{(1-\varepsilon)}\right) \sum_{p\in C^{\text{core}}_c \cup B} d(p, X \cup \Lambda) + \sum_{q\in A} d(q,c) + 5\varepsilon\frac{\text{opt}}{|\mathcal{R}|} \\ & \leq (1+ 2\varepsilon) \text{closedcost}_c(X) + 5\varepsilon\frac{\text{opt}}{|\mathcal{R}|} \end{align}\] where for the second inequality we used that every cluster in \(\mathcal{R}_1' \subseteq \mathcal{P}_1\) is concentrated. In more detail \(|C^{\text{core}}_c|\geq (1-\varepsilon)|C_c|\), hence \(|A|\leq |C_c-C^{\text{core}}_c|\leq \varepsilon|C_c|\).

Hence, for any \(c\in \mathcal{R}_1'\) we proved that \(\sum_{p\in C_c} d(p,X \cup \Lambda) \leq (1+2\varepsilon) \text{closedcost}_c(X) + 15 \varepsilon\frac{\text{opt}}{|\mathcal{R}|}\). We thus get that the cost of \(S^*\) is at most

\[\begin{align} & \sum_{c \not \in \mathcal{R}_0 \cup \mathcal{R}'_1}\sum_{p\in C_c} d\left(p, \{c\} \cup X \cup \Lambda\right)+ \sum_{p \in D_0} d(p, X \cup \Lambda) + \sum_{c\in \mathcal{R}'_1}\left( (1+2\varepsilon) \text{closedcost}_c(X) + 15 \varepsilon\frac{\text{opt}}{|\mathcal{R}|}\right) \\ \leq & (1+2\varepsilon) \left(\sum_{c \not \in \mathcal{R}_0 \cup \mathcal{R}'_1}\sum_{p\in C_c} d\left(p, \{c\} \cup X \cup \Lambda\right)+ \sum_{p \in D_0} d(p, X \cup \Lambda) + \sum_{c\in \mathcal{R}'_1} \text{closedcost}_c(X) \right) + 15\varepsilon\text{opt} \end{align}\] which equals \((1+2\varepsilon) g(X) + 15\varepsilon\text{opt}\).

4.7 Putting Everything Together – Proof of Theorem [thm:mainadditivecenters]↩︎

We now turn to proving Theorem [thm:mainadditivecenters]. We first describe the algorithm we analyse.

4.7.0.1 A \((2{+\varepsilon})\)-Approximation for \(k\)-Median on an \(\varepsilon/\log n\)- Stable Instance \(k, D, F, d\).


\(S\leftarrow localSearch()\) \(W\leftarrow D\)-\(Sample(S,s^*)\) \(\mathcal{L}_{\texttt{ball}} \leftarrow ballGuess(S,W)\) Compute the dummy centers \(\Lambda\) according to \(\mathcal{B}\) \(\mathcal{L}_{\text{exp}}\leftarrow epxRem(S,\Lambda)\) \(\mathcal{L}_{cheap} \leftarrow \emptyset\) \(cheapRem(\emptyset,\emptyset,\emptyset,\emptyset,\emptyset)\) Approximately solve the submodular maximization problem subject to a partition matroid induced by \((S,W,\mathcal{B},\mathcal{Q},\widetilde{\mathcal{U}},\widetilde{\mu})\) and turn the obtained solution into a \(k\)-median solution \(S_{S,W,\mathcal{B},\mathcal{Q},\widetilde{\mathcal{U}},\widetilde{\mu}}\) return the cheapest solution of type \(S_{S,W,\mathcal{B},\mathcal{Q},\widetilde{\mathcal{U}},\widetilde{\mu}}\)

Proof of Theorem [thm:mainadditivecenters]. Our approach consists of running the above algorithm \(\log n\) times and taking the minimum cost solution output. In the remaining, we argue that the above algorithm yields a \(2+O(\varepsilon)\)-approximation with probability at least \((1-\varepsilon)(1-1/n)\). The claim then follows as the probability that all \(\log n\) executions of the above algorithm would fail is at most \(\left( 1- (1-\varepsilon)(1-1/n)\right)^{\log n} < 1/n\), and so with high probability we output a \(2+O(\varepsilon)\)-approximation.

We first discuss the algorithm’s running time. The local search algorithm runs in polynomial time. The submodular optimization step also runs in polynomial time by Lemma 21. The output of \(D\)-\(Sample()\) (which is clearly a polynomial time procedure) is a subset of size \(s^*\). By Lemma 18, we construct \(\mathcal{L}_{\texttt{ball}}\) in polynomial time and \(|\mathcal{L}_{\texttt{ball}}| \leq n^{1/\varepsilon^{O(1)}}\). Similarly, by Lemma 18, we construct \(\mathcal{L}_{\text{exp}}\) in polynomial time and \(|\mathcal{L}_{\text{exp}}| \leq n^{1/\varepsilon^{O(1)}}\). Finally, by Lemma 20, we construct in polynomial-time \(n^{1/\varepsilon^{O(1)}}\) candidate pairs \(\widetilde{\mathcal{U}},\widetilde{\mu}\). It follows that we solve \(n^{1/\varepsilon^{O(1)}}\) submodular function optimization problems, each in polynomial time, and thus the total running time is polynomial.

We turn to proving the approximation guarantee. We aim to show that there exists a \((W,\mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}}, \widetilde{\mu})\) that is successful with probability at least \((1-\varepsilon)(1-1/n)\). Assuming this, the \((2+O(\varepsilon))\)-approximation follows by combining Claim 7 and Lemma 21.

The local search step provides a 5 approximation \(S\) that satisfies Lemma 11. Our algorithm next applies \(D\)-\(Sample()\) and by Lemma 12 finds a successful \(W\) with probability at least \(1-\varepsilon\). Condition on having a successful \(W\), we then have that Lemma 13 holds, and so does Lemma 14 by combining Lemma 11 and Lemma 13.

Next, Lemma 15 implies that one set of balls \(\mathcal{B}\) is a valid set of balls. This set of balls induces a set of dummy centers \(\Lambda\). From there, by Lemma 18 we have that with probability at least \(1-1/n\), the \(expRem()\) procedure produces a set of center \(\mathcal{Q}\) such that

  1. \(\mathcal{Q}\subseteq S_0\), and

  2. The total cost in solution \(S - Q \cup \Lambda\) of the clusters in \(S_0 - \mathcal{Q}\) is at most \(\varepsilon\cdot \text{opt}\).

and so we have obtained a successful \((W,\mathcal{B},\mathcal{Q})\) and Lemma 19 applies. Condition on the event that we obtain a successful \((W, \mathcal{B}, \mathcal{Q})\), then, applying Lemma 20 we have that the \(cheapRem()\) procedure outputs a pair \((\widetilde{\mathcal{U}}, \widetilde{\mu})\) satisfying the properties of Lemma 20. We thus have a \((W, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}},\widetilde{\mu})\) such that \(W\) is successful, the set of balls \(\mathcal{B}\) from Section 4.3 is valid, \(\mathcal{Q}\) selected in Section 4.4 satisfies the properties of Lemma 18, and \(\widetilde{\mathcal{U}},\widetilde{\mu}\) selected in this section satisfies the properties of Lemma 20 and so \((W, \mathcal{B}, \mathcal{Q}, \widetilde{\mathcal{U}},\widetilde{\mu})\) is successful. Finally, note that the only probabilistic steps were the sampling of \(W\) and of \(\mathcal{Q}\), and both steps are successful with probability at least \((1-\varepsilon) \cdot (1-1/n)\), as required. ◻

5 Analysis of Robust LogAdaptive↩︎

In this section, we prove Theorem 4, showing that a solution \(\mathcal{H}\) of \(\eta\)-valid sequences yields an almost \(2\)-LMP approximation. The proof is almost identical to that for LogAdaptive presented in Section 3.3. There are only two minor changes:

  1. Definition 3 of \(\eta\)-openability allows a facility to be paid up to an \(n \eta\)-additive difference. This difference only appears in Lemma [lemma:approx95guarantee95robust] below, which is an analog of Lemma 6.

    lemmalemmaapproxguaranteerobust We have \(\sum_{j\in D} \alpha^*_j \geq (1-\delta) \sum_{j\in D} d(j, S^*) + \sum_{i\in S_{\mathsf{reg}}^*} (\hat{f} - n \eta)\).

  2. Definiton 4 of a \(\eta\)-valid sequence allows \(h_t\) is \(\eta\)-openable with respect to a super set \(S' \supseteq S \cup \{ h_1, \dots, h_{t-1} \}\). This difference only appears in (the last part of) the proof of Lemma [lemma:dual95feasibility95robust], an analog of Lemma [lemma:dual95feasibility].

    lemmalemmadualfeasibilityrobust For a facility \(i\), \(\; \sum_{j \in D} [\alpha^*_j - 2d(i,j)]^+ \leq \hat{f}.\)

These two lemmas immediately imply Theorem 4. The other supporting claims and lemmas (Claim 10 and Lemma 23) remain identical.

In order to use mostly the same analysis, one syntactic difference between the setting of Section 3.3 and the current setting that we have to reconcile is that the former analyzes the outcome of LogAdaptive while the latter analyzes a solution \(\mathcal{H} = \{ H_1, \dots, H_L \}\) of \(\eta\)-valid sequences. To use the same terminology from Section 3.3, let us consider the execution of the solution \(\mathcal{H}\) where for \(p = 1, \dots, L\), we run the \(p\)-th phase according to the sequence \(H_p\); in Stage 1, each facility in the sequence becomes open one by one with the corresponding \((\tau_j)_j\) values, and in Stage 2 at the end of the phase, \(\theta \leftarrow \theta(1+\varepsilon^2)\).

Then an atomic step can still be defined in the same way as in LogAdaptive; it corresponds to opening a facility in Stage 1 (and updating \(\alpha, S, A\) accordingly) or increasing \(\alpha\) values in Stage 2 simultaneously (and updating \(S\) accordingly). By “at any point of the algorithm”, we mean any point in the algorithm’s execution that is not in the middle of an atomic step. The set of open facilities \(S\) can be partitioned to be the set of the open free facilities \(S_{\mathsf{free}}\) and the set of the open regular facilities \(S_{\mathsf{reg}}\).

Throughout the analysis, we let \(\alpha^*_j\) be the final \(\alpha\)-value of a client \(j\in D\), and we let \(S^*\) be the set of opened facilities. (Also let \(S_{\mathsf{free}}^*\) and \(S_{\mathsf{reg}}^*\) be the set of finally open free and regular facilities respectively.) We start by analyzing the approximation guarantee of the algorithm with respect to \(\alpha^*\), and we then prove that \(\alpha^*/2\) is a feasible solution to the dual.

5.1 Approximation Guarantee.↩︎

We prove Lemma [lemma:approx95guarantee95robust] restated below. The only difference from Lemma 6 is that opening a facility only requires \(\hat{f} - n \eta\) instead of \(\hat{f}\).

Proof of Lemma [lemma:approx95guarantee95robust]. The proof is by induction on the algorithm that at any point of the algorithm \[\begin{gather} \sum_{j\in I} \alpha_j \geq \sum_{j\in I} (1-\delta)d(j, S) + \sum_{i\in S_{\mathsf{reg}}} (\hat{f} - n\eta)\,. \label{eq:IH95approx95guarantee95robust} \end{gather}\tag{30}\] The equality is initially true since \(A= D\) (thus \(I = \emptyset\)) and \(S = \emptyset\). We now analyze each of the two stages separately.

5.1.0.1 Stage 1.

Consider what happens when we open a facility \(h\), i.e., add it to \(S\).

If \(h\) is a free facility, the \(\alpha\) values and \(S_{\mathsf{reg}}\) do not change, and the only change is some client \(j\) with \(\alpha_j \geq (1 - \delta)d(j, S)\) becoming inactive. The amount of the increase of the left-hand side of 30 is at least that of the right-hand side.

If \(h\) is a regular facility \(i\), let \((\alpha, S, A, \theta)\) be the state right before opening \(i\), \(A'\) be the clients that are removed from \(A\) by the opening, which means \(A' = \{ j \in A : \tau_j \geq (1 - \delta)d(i, j) \}\). (Recall that the opening lets \(\alpha_j \leftarrow \tau_j\) for \(j \in A\).) Further, let \(X := \{j \in I: d(j, i) < d(j, S) \}\) be the subset of clients of \(I\) that make positive bids to \(i\). The change of cost of the right-hand side of 30 is at most \[(\hat{f} - n\eta) + \sum_{j\in A'} (1-\delta) d(i,j) + \sum_{j \in X} (1 - \delta)(d(i,j) - d(j, S))\,.\] Since \(i\) is paid up to \(\eta\) (the third bullet of Definition 3), we also have \[\begin{align} \hat{f} - n \eta & \leq \sum_{j\in A'} ( \tau_j - (1-\delta) d(i,j) ) + \sum_{j \in X} (1-\delta)(d(j, S) - d(i,j)) \,. \end{align}\] We thus get that the change of cost of the right-hand-side is at most \(\sum_{j\in A'} \tau_j\), which is the change of the left-hand-side.

5.1.0.2 Stage 2.

No facility is open at this stage, and every client \(j\) that becomes inactive at this stage has \(\alpha_j = (1 - \delta)d(j ,S)\), which implies that the left-hand-side and right-hand-side both increase with the same amount when a client \(j\) becomes inactive. ◻

5.2 Dual Feasibility↩︎

We prove Lemma [lemma:dual95feasibility95robust] for dual feasibility. The following claim is identical to Claim [claim:dual-feasible-induction] without any modification.

Claim 10 (No Over-Bidding). At any point of the algorithm, for every facility \(i\), \[\sum_{j \in A} [\alpha_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}. \label{eq:dual-feasible-induction95robust}\qquad{(4)}\]

Proof. In the beginning, it is true because every client is active and \(\alpha_j = 1 \leq d(i, j)\) for every \(j \in D\). Let us prove that each step of the algorithm maintains this invariant. We first consider the steps that happen during the first stage and then those during the second stage.

5.2.0.1 Stage 1.

Suppose that facility \(h'\) is open with the bids \((\tau_j)_{j \in A}\). It does (1) potentially increase the \(\alpha\)-values of clients in \(B(h', \varepsilon\theta) \cap A\), and (2) make clients in \(A \cap B(h', \theta/(1 - \delta))\) inactive, which includes \(B(h', \varepsilon\theta) \cap A\) considered in (1).

Consider any facility \(i\) and see how ?? is impacted by this change. First, observe that a client \(j\) that was inactive before the opening of \(h'\) does not increase its contribution to ?? . This is because \(d(j,S)\) monotonically decreases in \(S\). We now turn our attention to the more interesting case. For a client \(j\) becoming inactive from active, the contribution to ?? changes from \([\alpha_j - d(i,j)]^+\) (where \(\alpha\)-values are measured right before the opening) to \([(1 - \delta)d(j, S) - d(j, i)]^+\) (where \(S\) includes \(h'\)).

If \(\alpha_j\) does not change by the opening of \(h'\), the fact that \(j\) becomes inactive means \((1 - \delta)d(j, S) \leq \alpha_j\), so \(j\)’s contribution to ?? cannot increase. If \(\alpha_j\) does strictly increase by the opening of \(h'\), it means that \(d(j, S) \leq d(j, h') \leq \varepsilon\theta\) after the opening, so the contribution to ?? decreases by at least \(\theta / 2\) or becomes \(0\).

We have thus proved that no client increases their contribution to ?? during the steps of the first stage, and so these steps maintain the inequality.

5.2.0.2 Stage 2.

Assume towards contradiction that at the end of the phase, if we increase \(\alpha_j\) of every \(j \in A\) to \(\min((1 + \varepsilon^{2})\theta, (1 - \delta)d(j, S))\), the claim is violated for a non-empty subset of facilities. Since any free facility is only farther away in the metric (depending on \(u(\cdot)\)) we thus must have that the claim is violated by a set of regular facilities. Let \(F'\) be that set. We select a “minimal” such counter example in the following way: let \(\tau' \leq (1+\varepsilon^2) \theta\) be the smallest value so that \(\alpha'_j := \min(\tau', (1 - \delta)d(j, S))\) satisfies \[\sum_{j \in A} [\alpha_j' - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ = \hat{f},\] for some \(i\in F'\). We remark that \(\tau' \geq \theta\) since ?? is satisfied for all facilities after the first stage by the previous arguments. Furthermore, \(i\not \in S\) is not yet open since if it was open then there would be no client \(j\in A\) for which \(\alpha'_j-d(i,j)\) is strictly positive. Hence the increase in \(\alpha\)-values cannot cause \(i\) to violate ?? if it were already opened, which would contradict \(i\in F'\).

We now show that this \(i\) with \(\tau_j = \alpha'_j\) for \(j \in A \cap B(i, \varepsilon\theta)\) and \(\tau_j = \alpha_j\) for \(j \in A \setminus B(i, \varepsilon\theta)\) satisfies the conditions of Definition 3 for \(i\) with respect to \(S\). In other words, \(i\) is an \(\eta\)-openable facility with respect to \(S\) (that was not yet opened), which contradicts the maximality in Definition 4 for a \(\eta\)-valid sequence.

We verify the conditions of Definition 3 one-by-one. The first two bullets are satisfied by the definition of the bids \((\tau_j)_{j\in A}\). For the third bullet, \[\begin{align} & \sum_{j \in A} [\tau_j - (1 - \delta)d(i,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(i, j)]^+ \\ = \quad & \sum_{j \in A \cap B(i, \varepsilon\theta)} [\alpha'_j - (1 - \delta)d(i,j)]^+ + \sum_{j \in A \setminus B(i, \varepsilon\theta)} [\alpha_j - (1 - \delta)d(i,j)]^+ + (1 - \delta)\sum_{j \in I} [d(j, S) - d(i, j)]^+ \\ \geq \quad & \sum_{j \in A \cap B(i, \varepsilon\theta)} [\alpha'_j - d(i,j)]^+ + \sum_{j \in A \setminus B(i, \varepsilon\theta)} [\alpha'_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i, j)]^+\,. \end{align}\] For the second summation we used that \(\alpha_j - (1 - \delta)d(i,j) \geq (1 + \varepsilon^{2})\alpha_j - d(i, j) \geq \alpha'_j - d(i,j)\) when \(d(i, j) \geq \varepsilon\theta\) (recall that \(\alpha_j = \theta\) for all \(j\in A\)).

It remains to verify the fourth bullet of Definition 3. Suppose toward contradiction that there is a regular facility \(i_0\) and \(k \in A\), \[\begin{gather} \sum_{j\in A } [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_k - d(i_0,k) - 2d(i_0, j)]^+ > \hat{f}. \end{gather}\] We would like to show \[\begin{align} & \sum_{j \in A} [\tau_j - d(i_0,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i_0, j)]^+ \\ \geq \quad & \sum_{j\in A} [\tau_{j} - d(i_0, j)]^+ + \sum_{j\in I} [\tau_k - d(i_0,k) - 2d(i_0, j)]^+ \end{align}\] which concludes the proof because then \(i_0\) is violated with a smaller value of \(\tau'\) which contradicts the minimal selection of \(\tau'\). To prove the above inequality, note that \(k \in A\) implies \(\tau_k \leq (1 - \delta)d(k, S)\) and for every \(j \in I\), \[(1 - \delta)d(k, S) \leq (1 - \delta)(d(k, i_0) + d(i_0, j) + d(j, S)),\] and so \[\tau_k - d(i_0, k) - 2d(i_0, j) \leq (1-\delta) d(j,S) - d(i_0,j) \,.\] ◻

As usual, fix an arbitrary regular facility \(i \in F\). The setup in this paragraph is also identical to Section 3.3. Let \(D^* = \{ j \in D : \alpha^*_j > 2d(i, j) \}\) be those clients that contribute to the left-hand-side. Further, order the clients in \(D^*\) according to \(\alpha^*\) values by the time they are removed from \(A\) (in the algorithm) and break ties according to \(\alpha^*\) values (in increasing order). We will use \(j, k\) to denote clients in \(D^*\), and let us slightly abuse notation and use \(j \leq k\) with respect to this ordering. In other words, we have \(j\leq k\) if \(j\) was removed from \(A\) in an atomic step before \(k\) was removed, \(j\) and \(k\) was removed during the same atomic step and \(\alpha^*_j \leq \alpha^*_k\). We also use the terminology that a facility \(i\) freezes \(i_0\) if \(i\) becomes open when \(i_0\) is not, and \(d(i, i_0) \leq (1+3\varepsilon)\theta/2\). (Of course, \(i\) freezes itself when it is open.)

The following lemma and the proof are also identical to Lemma 7.

Lemma 23. For any \(k \in D^*\) that becomes inactive strictly before \(i\) becomes frozen, \[\sum_{j \in D^* : j \geq k} [\alpha^*_k - d(i, j)]^+ + \sum_{j \in D^* : j < k} [\alpha^*_k - 2d(i, j) - d(i, k)]^+ \leq \hat{f}. \label{eq:dual-feasible-inactive95robust}\qquad{(5)}\]

Proof. Let us do the following case analysis depending on the stage \(k\) becomes inactive.

5.2.0.3 Stage 1.

\(k\) becomes inactive because of the opening of some \(h_0\). By the statement of the lemma, it suffices to handle the case that \(h_0\) does not freeze \(i\). So \(d(i, h_0) > (1 + 3\varepsilon)\theta / 2\). The opening of \(h_0\) might have strictly increased the \(\alpha\)-value of the clients in \(B(h_0, \varepsilon\theta)\), but no such client \(j\) will be in \(D^*\), since they immediately become inactive while \[d(i, j) \geq d(i, h_0) - d(h_0, j) > ((1 + 3\varepsilon) / 2 - \varepsilon) \theta \geq (1+\varepsilon^2) \theta/2 \geq \alpha^*_j / 2.\] Applying this argument to every facility open in this phase (which did not freeze \(i\)), we can conclude that, right before \(h_0\) is open, every \(j \in D^*\) has \(\alpha_j \leq \theta\) and all active ones have \(\alpha_j = \theta\). (So, \(\alpha^*_k = \theta\) as well since the opening of \(h_0\) does not strictly increase \(\alpha_k\).) Claim 10, applied right before \(h_0\) is open, ensures that \[\sum_{j \in A} [\alpha_j - d(i, j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(i, j)]^+ \leq \hat{f}.\] This satisfies ?? as (1) every \(j \in D^*\) with \(j \geq k\) is in \(j \in A\) at that point, and (2) for every \(j < k\) with \(j \in I\), \[\alpha^*_k < (1 - \delta)d(k, S) \leq (1 - \delta)d(j, S) + d(j, i) + d(i, k)\] implies \[\alpha^*_k - 2d(i, j) - d(i, k) \leq (1 - \delta)d(j, S) - d(i, j).\] (Note that this \(S\) does not contain \(h_0\) and \(k\) was not connected yet.)

5.2.0.4 Stage 2.

Suppose that \(k\) becomes inactive by the increase of the \(\alpha\)-values at the end of a phase. Then Claim 10 ensures that, at the end of this phase (after \(k\) becomes inactive), \[\sum_{j \in A} [\alpha_j - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}. \label{eq:dual-feasible-induction-again95robust}\tag{31}\]

Let us see that the left-hand-side of 31 is at least that of ?? by comparing the contribution of \(j \in D^*\) to both. If \(j \in A\), its contribution to the former is definitely at least that to the latter, since any active \(j\) has \(\alpha_j = (1 + \varepsilon^{2})\theta \geq \alpha^*_k\).

For \(j \in I\), we must have \[\alpha^*_k \leq (1-\delta) d(k,S) \leq (1-\delta) ( d(k,j) + d(j,S))\,.\] (since \(\alpha_k\) is never increased above \((1-\delta) d(k,S)\)). and so by rearranging and using the triangle inequality \((d(k,j) \leq d(k,i) + d(i,j)\)) we get \[\alpha^*_k - 2d(i,j) - d(i,k) \leq (1-\delta) d(j,S) - d(i,j)\] which satisfies our goal when \(j<k\). Finally, when \(j\in I\) but \(j \geq k\), it means that \(j\) was removed at the same time as \(k\) at the end of the phase. In that case \((1-\delta) d(j,S) = \alpha^*_j\) and, as we break ties with \(\alpha^*\)-values, \(\alpha^*_j \geq \alpha^*_k\), which again satisfies our goal. ◻

Equipped with the above lemma, we are ready to complete the proof of dual feasibility.

Proof of Lemma [lemma:dual95feasibility95robust]. Consider the case that \(i\) is frozen by \(h_0\) with \((\tau_j)_{j \in A}\). The following claim also remains unchanged from Section 3.3.

Claim 2. We have \(\alpha^*_j = \tau_j\) for every \(j \in D^* \cap A\).

Proof of Claim. Consider \(j \in A\). First, note that if \(\tau_j \geq (1-\delta) d(j,h_0)\) then \(j\) is removed from \(A\) when \(h_0\) is opened and so \(\alpha^*_j = \tau_j\).

In the other case, when \(\alpha_j \leq \tau_j < (1-\delta) d(j,h_0)\) we show that \(j \not \in D^*\). Consider the (future) time right after \(j\) is removed from the active clients. The \(\alpha\)-value of \(j\) then (which is equal to the final \(\alpha^*_j\)) cannot be strictly greater than \((1 - \delta)d(j, h_0)\); whether it is increased in Stage 1 (as \(\alpha \leftarrow \tau\)) or Stage 2, since \(h_0 \in S\) (where \(S\) is the set of open facilities right before \(j\) becomes inactive), the algorithm ensures that it cannot be strictly more than \((1 - \delta)d(j, S) \leq (1 - \delta)d(j, h_0)\). By the triangle inequality \[\begin{gather} d(j, i) \geq d(j, h_0) - d(h_0, i) = \left(1 - \frac{d(h_0, i)}{\theta}\frac{\theta}{d(j,h_0)}\right)d(j,h_0)\,, \end{gather}\] where \(\theta\) is the value when \(h_0\) was open. As \(h_0\) freezes \(i\), we have \(d(h_0, i) \leq (1+3\varepsilon)\theta/2\) and, by the assumption of the case we have \(\theta = \alpha_j \leq (1-\delta) d(j,h_0)\). Plugging in those bounds to the above inequality yields, \[\begin{gather} d(j,i) \geq \left(1 - \frac{(1+3\varepsilon)}{2}(1-\delta)\right)d(j,h_0)\,. \end{gather}\] We rewrite the above inequality (multiplying both sides by two and using that \(\delta = 3\varepsilon\)) to obtain \[\begin{gather} 2d(j,i) \geq \left(2 - {(1+3\varepsilon)}(1-\delta)\right)d(j,h_0) = \left(1+ 9\varepsilon^2 \right) d(j,h_0) \,. \end{gather}\] In other words we have \(\alpha^*_j \leq d(j,h_0) < 2d(j,i)\), so \(j\) cannot be in \(D^*\). ◻

The following remaining part of the proof needs some changes from Section 3.3, since when \(h_0\) is \(\eta\)-openable in the \(\eta\)-openable sequence, it might be with respect to a superset \(S' \supseteq S\). (Here \(S\) denotes the set of all opened facilities right before \(h_0\).) Let \(A'\) the subset of \(A\) that is still active with respected to the superset \(S'\) for opening \(h_0\) and let \(I' = A \setminus A'\). As the \(\alpha\)-values of clients in \(A\cap D^*\) remain unchanged after the opening of \(h_0\), the fourth bullet of Definition 3 ensures that for any \(k \in A' \cap D^*\), \[\sum_{j \in A' \cap D^*} [\alpha^*_j - d(i, j)]^+ + \sum_{j \in (I \cup I') \cap D^*} [\alpha^*_k - 2d(i, j) - d(k, i)]^+ \leq \hat{f}. \label{eq:openable-fourth-again-again-again95robust}\tag{32}\]

Moreover, for every client \(k\in D^* \cap I\) that became inactive strictly before \(h_0\) was opened, Lemma 23 says

\[\sum_{j \in D^* : j \geq k} [\alpha^*_k - d(i, j)]^+ + \sum_{j \in D^* : j < k} [\alpha^*_k - 2d(i, j) - d(i, k)]^+ \leq \hat{f}. \label{eq:dual-feasible-inactive-again-again95robust}\tag{33}\]

Finally for a client in \(k\in D^* \cap I'\), note that \(\alpha^*_k = \alpha_k = \theta\), because \(k\) was not active with respect to \(S'\). Therefore, by Claim 10 applied right before \(h_0\) was opened \[\sum_{j \in A} [\alpha^*_k - d(i,j)]^+ + \sum_{j \in I} [(1 - \delta)d(j, S) - d(j, i)]^+ \leq \hat{f}.\] which by the same argument as in the proof of Lemma [lemma:dual95feasibility], \[\sum_{j \in A} [\alpha^*_k - d(i,j)]^+ + \sum_{j \in I} [\alpha^*_k- 2d(j, i) - d(i,k)]^+ \leq \hat{f}. \label{eq:dual-feasible-induction-again-again95robust}\tag{34}\]

Let us consider the summation of 33 for every \(k \in I \cap D^*\)34 for every \(k\in I' \cap D^*\), and 32 for every \(k \in A' \cap D^*\), and consider how many times each term appears. Let \(a' = |A' \cap D^*|, i' = |I' \cap D^*|, d = |D^*|\).

  • \(-d(i, j')\) when \(j' \in I\cap D^*\): Say \(j'\) is the \(\ell\)th client in \(D^*\) for some \(\ell \leq d- i' - a'\). Then \(-d(i, j')\) appears \(d + (d - \ell)\) times in 32 , 33 , and 34 as \(-d(i,j)\), and \((\ell - 1)\) times as \(-d(i, k)\) in 33 when \(k = j'\), so the total is \(2d - 1\).

  • \(-d(i, j')\) when \(j' \in I'\cap D^*\): It appears \(d + a'\) times in 32 , 33 , and 34 as \(-d(i,j)\), and \((d - i' - a')\) times as \(-d(i, k)\) in 34 when \(k = j'\), so the total is \(2d - i'\).

  • \(-d(i, j')\) when \(j' \in A'\cap D^*\): It appears \(d\) times in 32 , 33 , and 34 as \(-d(i,j)\), and \((d - a')\) times as \(-d(i, k)\) in 32 when \(k = j'\), so the total is \(2d - a'\).

  • \(\alpha^*_{j'}\) for \(j' \in I\cap D^*\): \(d\) times in 33 as \(\alpha^*_k\) when \(k = j'\).

  • \(\alpha^*_{j'}\) for \(j' \in I' \cap D^*\): \(d\) times in 34 as \(\alpha^*_k\) when \(k = j'\).

  • \(\alpha^*_{j'}\) for \(j' \in A'\cap D^*\): \((d - a')\) times in 32 as \(\alpha^*_k\) when \(k = j'\) and once as \(\alpha^*_j\) in 32 for each \(k \in A'\), so it is still \(d\) times.

Therefore, \(\sum_{j\in D^*} \left(\alpha^*_j - 2 d(i,j)\right) \leq \hat{f}\), which proves the lemma in the case the opening of a facility \(h_0\) freezes \(i\). To complete the proof, we note that the remaining case, when no facility freezes \(i\), corresponds to the easier situation in the above analysis when \(D^*\cap A = \emptyset\), i.e., it corresponds to summing up 33 over all clients in \(D^*\), and so \(\sum_{j\in D^*} \left(\alpha^*_j - 2 d(i,j)\right) \leq \hat{f}\) also in that case. ◻

Acknowledgment↩︎

The authors are grateful to Rares-Darius Buhai for valuable feedback on the writing. In particular, for identifying the need to explicitly write Lemma 8.

References↩︎

[1]
V. Cohen-Addad, F. Grandoni, E. Lee, and C. Schwiegelshohn, “Breaching the 2 LMP approximation barrier for facility location with applications to k-median,” in Proceedings of the 2023 ACM-SIAM symposium on discrete algorithms, SODA 2023, florence, italy, january 22-25, 2023, 2023, pp. 940–986, doi: 10.1137/1.9781611977554.CH37.
[2]
K. N. Gowda, T. W. Pensyl, A. Srinivasan, and K. Trinh, “Improved bi-point rounding algorithms and a golden barrier for k-median,” in Proceedings of the 2023 ACM-SIAM symposium on discrete algorithms, SODA 2023, florence, italy, january 22-25, 2023, 2023, pp. 987–1011, doi: 10.1137/1.9781611977554.CH38.
[3]
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., vol. 33, no. 3, pp. 544–562, 2004, doi: 10.1137/S0097539702416402.
[4]
Y. Bartal, “Probabilistic approximations of metric spaces and its algorithmic applications,” in 37th annual symposium on foundations of computer science, FOCS ’96, burlington, vermont, USA, 14-16 october, 1996, 1996, pp. 184–193, doi: 10.1109/SFCS.1996.548477.
[5]
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 thirtieth annual ACM symposium on the theory of computing, dallas, texas, USA, may 23-26, 1998, 1998, pp. 114–123, doi: 10.1145/276698.276719.
[6]
M. Charikar, S. Guha, Éva Tardos, and D. B. Shmoys, “A constant-factor approximation algorithm for the k-median problem (extended abstract),” in Proceedings of the thirty-first annual ACM symposium on theory of computing, may 1-4, 1999, atlanta, georgia, USA, 1999, pp. 1–10, doi: 10.1145/301250.301257.
[7]
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, vol. 48, no. 2, pp. 274–296, 2001, doi: 10.1145/375827.375845.
[8]
K. Jain, M. Mahdian, and A. Saberi, “A new greedy approach for facility location problems,” in Proceedings on 34th annual ACM symposium on theory of computing, may 19-21, 2002, montréal, québec, canada, 2002, pp. 731–740, doi: 10.1145/509907.510012.
[9]
K. Jain, M. Mahdian, E. Markakis, A. Saberi, and V. V. Vazirani, “Greedy facility location algorithms analyzed using dual fitting with factor-revealing LP,” J. ACM, vol. 50, no. 6, pp. 795–824, 2003, doi: 10.1145/950620.950621.
[10]
S. Li and O. Svensson, “Approximating k-median via pseudo-approximation,” SIAM J. Comput., vol. 45, no. 2, pp. 530–547, 2016, doi: 10.1137/130938645.
[11]
J. Byrka, T. W. Pensyl, B. Rybicki, A. Srinivasan, and K. Trinh, “An improved approximation for k-median and positive correlation in budgeted optimization,” ACM Trans. Algorithms, vol. 13, no. 2, pp. 23:1–23:31, 2017, doi: 10.1145/2981561.
[12]
V. Cohen-Addad, A. Gupta, A. Kumar, E. Lee, and J. Li, “Tight FPT approximations for k-median and k-means,” in 46th international colloquium on automata, languages, and programming, ICALP 2019, july 9-12, 2019, patras, greece, 2019, vol. 132, pp. 42:1–42:14, doi: 10.4230/LIPICS.ICALP.2019.42.
[13]
A. Kumar, Y. Sabharwal, and S. Sen, “Linear-time approximation schemes for clustering problems in any dimensions,” J. ACM, vol. 57, no. 2, pp. 5:1–5:32, 2010, doi: 10.1145/1667053.1667054.
[14]
V. Cohen-Addad, H. Esfandiari, V. S. Mirrokni, and S. Narayanan, “Improved approximations for Euclidean k-means and k-median, via nested quasi-independent sets,” in STOC ’22: 54th annual ACM SIGACT symposium on theory of computing, rome, italy, june 20 - 24, 2022, 2022, pp. 1621–1628, doi: 10.1145/3519935.3520011.
[15]
V. Cohen-Addad, A. Gupta, L. Hu, H. Oh, and D. Saulpic, “An improved local search algorithm for k-median,” in Proceedings of the 2022 ACM-SIAM symposium on discrete algorithms, SODA 2022, virtual conference / alexandria, VA, USA, january 9 - 12, 2022, 2022, pp. 1556–1612, doi: 10.1137/1.9781611977073.65.
[16]
A. Gupta and K. Tangwongsan, “Simpler analyses of local search algorithms for facility location,” CoRR, vol. abs/0809.2554, 2008, [Online]. Available: http://arxiv.org/abs/0809.2554.
[17]
T. Kanungo, D. M. Mount, N. S. Netanyahu, C. D. Piatko, R. Silverman, and A. Y. Wu, “A local search approximation algorithm for k-means clustering,” Comput. Geom., vol. 28, no. 2–3, pp. 89–112, 2004, doi: 10.1016/j.comgeo.2004.03.003.
[18]
R. R. Mettu and C. G. Plaxton, “The online median problem,” SIAM J. Comput., vol. 32, no. 3, pp. 816–832, 2003, doi: 10.1137/S0097539701383443.
[19]
Y. Bartal, “On approximating arbitrary metrices by tree metrics,” in Proceedings of the thirtieth annual ACM symposium on the theory of computing, dallas, texas, USA, may 23-26, 1998, 1998, pp. 161–168, doi: 10.1145/276698.276725.
[20]
A. Archer, R. Rajagopalan, and D. B. Shmoys, “Lagrangian relaxation for the k-median problem: New insights and continuity properties,” in Algorithms - ESA 2003, 11th annual european symposium, budapest, hungary, september 16-19, 2003, proceedings, 2003, vol. 2832, pp. 31–42, doi: 10.1007/978-3-540-39658-1\_6.
[21]
M. Charikar, S. Guha, Éva Tardos, and D. B. Shmoys, “A constant-factor approximation algorithm for the k-median problem,” J. Comput. Syst. Sci., vol. 65, no. 1, pp. 129–149, 2002.
[22]
M. Charikar and S. Li, “A dependent LP-rounding approach for the k-median problem,” in Automata, languages, and programming - 39th international colloquium, ICALP 2012, warwick, UK, july 9-13, 2012, proceedings, part I, 2012, vol. 7391, pp. 194–205, doi: 10.1007/978-3-642-31594-7\_17.
[23]
T. F. Gonzalez, “Clustering to minimize the maximum intercluster distance,” Theor. Comput. Sci., vol. 38, pp. 293–306, 1985, doi: 10.1016/0304-3975(85)90224-5.
[24]
D. S. Hochbaum and D. B. Shmoys, “A unified approach to approximation algorithms for bottleneck problems,” J. ACM, vol. 33, no. 3, pp. 533–550, 1986, doi: 10.1145/5925.5933.
[25]
S. Ahmadian, A. Norouzi-Fard, O. Svensson, and J. Ward, “Better guarantees for k-means and Euclidean k-median by primal-dual algorithms,” SIAM J. Comput., vol. 49, no. 4, 2020, doi: 10.1137/18M1171321.
[26]
S. Arora, P. Raghavan, and S. Rao, “Approximation schemes for Euclidean k-medians and related problems,” in Proceedings of the thirtieth annual ACM symposium on the theory of computing, dallas, texas, USA, may 23-26, 1998, 1998, pp. 106–113, doi: 10.1145/276698.276718.
[27]
Z. Friggstad, M. Rezapour, and M. R. Salavatipour, “Local search yields a PTAS for k-means in doubling metrics,” SIAM J. Comput., vol. 48, no. 2, pp. 452–480, 2019, doi: 10.1137/17M1127181.
[28]
V. Cohen-Addad, A. E. Feldmann, and D. Saulpic, “Near-linear time approximations schemes for clustering in doubling metrics,” in 60th IEEE annual symposium on foundations of computer science, FOCS 2019, baltimore, maryland, USA, november 9-12, 2019, 2019, pp. 540–559, doi: 10.1109/FOCS.2019.00041.
[29]
F. Grandoni, R. Ostrovsky, Y. Rabani, L. J. Schulman, and R. Venkat, “A refined approximation for euclidean k-means,” Inf. Process. Lett., vol. 176, p. 106251, 2022, doi: 10.1016/J.IPL.2022.106251.
[30]
P. Awasthi, M. Charikar, R. Krishnaswamy, and A. K. Sinop, “The hardness of approximation of Euclidean k-means,” in 31st international symposium on computational geometry, SoCG 2015, june 22-25, 2015, eindhoven, the netherlands, 2015, vol. 34, pp. 754–767, doi: 10.4230/LIPICS.SOCG.2015.754.
[31]
V. Cohen-Addad, K. C. S., and E. Lee, “On approximability of clustering problems without candidate centers,” in Proceedings of the 2021 ACM-SIAM symposium on discrete algorithms (SODA), 2021, pp. 2635–2648.
[32]
V. Cohen-Addad and Karthik C. S., “Inapproximability of clustering in lp metrics,” in 60th IEEE annual symposium on foundations of computer science, FOCS 2019, baltimore, maryland, USA, november 9-12, 2019, 2019, pp. 519–539, doi: 10.1109/FOCS.2019.00040.
[33]
V. Guruswami and P. Indyk, “Embeddings and non-approximability of geometric problems,” in Proceedings of the fourteenth annual ACM-SIAM symposium on discrete algorithms, january 12-14, 2003, baltimore, maryland, USA., 2003, pp. 537–538, [Online]. Available: http://dl.acm.org/citation.cfm?id=644108.644198.
[34]
E. Lee, M. Schmidt, and J. Wright, “Improved and simplified inapproximability for k-means,” Inf. Process. Lett., vol. 120, pp. 40–43, 2017, doi: 10.1016/J.IPL.2016.11.009.
[35]
M. Mahdian, Y. Ye, and J. Zhang, “Approximation algorithms for metric facility location problems,” SIAM J. Comput., vol. 36, no. 2, pp. 411–432, 2006, doi: 10.1137/S0097539703435716.
[36]
S. Guha and S. Khuller, “Greedy strikes back: Improved facility location algorithms,” J. Algorithms, vol. 31, no. 1, pp. 228–248, 1999, doi: 10.1006/jagm.1998.0993.
[37]
J. Byrka and K. Aardal, “An optimal bifactor approximation algorithm for the metric uncapacitated facility location problem,” SIAM J. Comput., vol. 39, no. 6, pp. 2212–2231, 2010, doi: 10.1137/070708901.
[38]
M. Charikar and S. Guha, “Improved combinatorial algorithms for facility location problems,” SIAM J. Comput., vol. 34, no. 4, pp. 803–824, 2005, doi: 10.1137/S0097539701398594.
[39]
F. A. Chudak and D. B. Shmoys, “Improved approximation algorithms for the uncapacitated facility location problem,” SIAM J. Comput., vol. 33, no. 1, pp. 1–25, 2003, doi: 10.1137/S0097539703405754.
[40]
M. R. Korupolu, C. G. Plaxton, and R. Rajaraman, “Analysis of a local search heuristic for facility location problems,” J. Algorithms, vol. 37, no. 1, pp. 146–188, 2000, doi: 10.1006/jagm.2000.1100.
[41]
D. B. Shmoys, Éva Tardos, and K. Aardal, “Approximation algorithms for facility location problems (extended abstract),” in Proceedings of the twenty-ninth annual ACM symposium on the theory of computing, el paso, texas, USA, may 4-6, 1997, 1997, pp. 265–274, doi: 10.1145/258533.258600.
[42]
S. Li, “A 1.488 approximation algorithm for the uncapacitated facility location problem,” Inf. Comput., vol. 222, pp. 45–58, 2013, doi: 10.1016/j.ic.2012.01.007.
[43]
R. Ostrovsky, Y. Rabani, L. J. Schulman, and C. Swamy, “The effectiveness of Lloyd-type methods for the k-means problem,” J. ACM, vol. 59, no. 6, p. 28, 2012, doi: 10.1145/2395116.2395117.
[44]
P. Awasthi, A. Blum, and O. Sheffet, “Stability yields a PTAS for k-median and k-means clustering,” in 51th annual IEEE symposium on foundations of computer science, FOCS 2010, october 23-26, 2010, las vegas, nevada, USA, 2010, pp. 309–318, doi: 10.1109/FOCS.2010.36.
[45]
V. Cohen-Addad and C. Schwiegelshohn, “On the local structure of stable clustering instances,” in 58th IEEE annual symposium on foundations of computer science, FOCS 2017, berkeley, CA, USA, october 15-17, 2017, 2017, pp. 49–60, doi: 10.1109/FOCS.2017.14.
[46]
D. Arthur and S. Vassilvitskii, “K-means++: The advantages of careful seeding,” in Proceedings of the eighteenth annual ACM-SIAM symposium on discrete algorithms, SODA 2007, new orleans, louisiana, USA, january 7-9, 2007, 2007, pp. 1027–1035, [Online]. Available: http://dl.acm.org/citation.cfm?id=1283383.1283494.
[47]
G. Cualinescu, C. Chekuri, M. Pál, and J. Vondrák, “Maximizing a monotone submodular function subject to a matroid constraint,” SIAM J. Comput., vol. 40, no. 6, pp. 1740–1766, 2011, doi: 10.1137/080733991.
[48]
N. Buchbinder and M. Feldman, “Deterministic algorithm and faster algorithm for submodular maximization subject to a matroid constraint,” CoRR, vol. abs/2408.03583, 2024, doi: 10.48550/ARXIV.2408.03583.
[49]
Y. Filmus and J. Ward, “Monotone submodular maximization over a matroid via non-oblivious local search,” SIAM J. Comput., vol. 43, no. 2, pp. 514–542, 2014, doi: 10.1137/130920277.
[50]
D. P. Williamson and D. B. Shmoys, The design of approximation algorithms. Cambridge University Press, 2011, pp. I–XI, 1–504.

  1. Google Research, France.↩︎

  2. IDSIA, USI-SUPSI, Switzerland. Supported in part by the SNF Grants 200021-200731 and 200021-236706.↩︎

  3. University of Michigan, Ann Arbor, MI, USA. Supported in part by NSF 2236669.↩︎

  4. Aarhus University, Denmark. Supported in part by the Independent Research Fund Denmark (DFF) under grant No 1051-00106B and a Google Research Award.↩︎

  5. EPFL, Switzerland. Supported in part by the Swiss State Secretariat for Education, Research and Innovation (SERI) under contract number MB22.00054.↩︎

  6. Sometimes in the literature one assumes \(F=D\) or \(D\subseteq F\). We consider the more general case and make no such assumption.↩︎

  7. Solutions opening slightly more than \(k\) centers are sometimes called pseudo-solutions in the literature.↩︎

  8. Throughout this overview, we assume no solution opens exactly \(k\) centers, because we are done if this happens.↩︎

  9. Here and in the following procedures, the input instance is considered as passed implicitly.↩︎

  10. We remark that we could select \(\zeta\) to be arbitrarily small and get a better guarantee in the statement of Lemma 21. We have chosen this value to simplify the calculations as improving the guarantee of Lemma 21 does not improve the overall result.↩︎