Metric k-center

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In graph theory, the metric k-center or metric facility location problem is a combinatorial optimization problem studied in theoretical computer science. Given n cities with specified distances, one wants to build k warehouses in different cities and minimize the maximum distance of a city to a warehouse. In graph theory this means finding a set of k vertices for which the largest distance of any point to its closest vertex in the k-set is minimum. The vertices must be in a metric space, or in other words a complete graph that satisfies the triangle inequality.

Formal definition

Given a complete undirected graph G = (VE) with distances d(vivj) ∈ N satisfying the triangle inequality, find a subset S ⊆ V with |S| = k while minimizing:

\max_{v \in V} \min_{s \in S} d(v,s)

Computational complexity

If we sort the edges in nondecreasing order of the distances: d(e1) ≤ d(e2) ≤ … ≤ d(em) and let Gi = (ViEi), where Ei = {e1e2, …, ei}. The k-center problem is equivalent to finding the smallest index i such that Gi has a dominating set of size at most k.[1] Although Dominating Set is NP-complete, the k-center problem remains NP-hard. This is clear, since the optimality of a given feasible solution for the k-center problem can be determined through the Dominating Set reduction only if we know in first place the size of the optimal solution (i.e. the smallest index i such that Gi has a dominating set of size at most k) , which is precisely the difficult core of the NP-Hard problems.

Approximations

A simple greedy approximation algorithm that achieves an approximation factor of 2 builds S using a farthest-first traversal in k iterations. The first iteration chooses an arbitrary vertex and adds it to S. Each subsequent iteration chooses a vertex v for which d(S, v) is maximized and adds v to S. The running time of the algorithm is O(nk).[2]

Another algorithm with the same approximation factor takes advantage of the fact that the k-center problem is equivalent to finding the smallest index i such that Gi has a dominating set of size at most k and computes a maximal independent set on the of Gi, looking for the smallest index i that has a maximal independent set with a size of at least k.[3]

It is not possible to find an approximation algorithm with an approximation factor of 2 − ε for any ε > 0, unless P = NP.[4] Furthermore, the distances of all edges in G must satisfy the triangle inequality if the k-center problem is to be approximated unless P = NP.[5]

See also

Notes

  1. Vazirani 2003, pp. 47–48.
  2. Gonzalez 1985, pp. 293–306.
  3. Hochbaum & Shmoys 1986, pp. 533–550.
  4. Hochbaum 1997, pp. 346–398.
  5. Crescenzi et al. 2000.

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.