# Optimal facility location

The study of facility location problems (FLP), also known as location analysis, is a branch of operations research and computational geometry concerned with the optimal placement of facilities to minimize transportation costs while considering factors like avoiding placing hazardous materials near housing, and competitors' facilities. The techniques also apply to cluster analysis.

## Minimum facility location

A simple facility location problem is the Weber problem, in which a single facility is to be placed, with the only optimization criterion being the minimization of the weighted sum of distances from a given set of point sites. More complex problems considered in this discipline include the placement of multiple facilities, constraints on the locations of facilities, and more complex optimization criteria.
In a basic formulation, the facility location problem consists of a set of potential facility sites L where a facility can be opened, and a set of demand points D that must be serviced. The goal is to pick a subset F of facilities to open, to minimize the sum of distances from each demand point to its nearest facility, plus the sum of opening costs of the facilities.
The facility location problem on general graphs is NP-hard to solve optimally, by reduction from (for example) the set cover problem. A number of approximation algorithms have been developed for the facility location problem and many of its variants.
Without assumptions on the set of distances between clients and sites (in particular, without assuming that the distances satisfy the triangle inequality), the problem is known as non-metric facility location and can be approximated to within a factor O(log n). This factor is tight, via an approximation-preserving reduction from the set cover problem.
If we assume distances between clients and sites are undirected and satisfy the triangle inequality, we are talking about a metric facility location (MFL) problem. The MFL is still NP-hard and hard to approximate within factor better than 1.463. The currently best known approximation algorithm achieves approximation ratio of 1.488.

## Minimax facility location

The minimax facility location problem seeks a location which minimizes the maximum distance to the sites, where the distance from one point to the sites is the distance from the point to its nearest site. A formal definition is as follows:
Given a point set P ⊂ $\mathbb {R} ^{d}$, find a point set S ⊂ $\mathbb {R} ^{d}$, |S| = k, so that max$_{p∈P}$(min$_{q∈S}$(d(p, q)) ) is minimized.
In the case of the Euclidean metric for k = 1, it is known as the smallest enclosing sphere problem or 1-center problem. Its study traced at least to the year of 1860.

### NP hardness

It has been proven that exact solution of k-center problem is NP hard.
Approximation to the problem was found to be also NP hard when the error is small. The error level in the approximation algorithm is measured as an approximation factor, which is defined as the ratio between the approximation and the optimum. It's proved that the k-center problem approximation is NP hard when approximation factor is less than 1.822 (dimension = 2) or 2 (dimension > 2).

### Algorithms

Exact solver
There exist algorithms to produce exact solutions to this problem. One exact solver runs in time $n^{O({\sqrt {k}})}$.
1 + ε approximation
1 + ε approximation is to find a solution with approximation factor no greater than 1 + ε. This approximation is NP hard as ε is arbitrary. One approach based on the coreset concept is proposed with execution complexity of $O(2^{O(k\log k/\varepsilon ^{2})}dn)$. As an alternative, another algorithm also based on core sets is available. It runs in $O(k^{n})$. The author claims that the running time is much less than the worst case and thus it's possible to solve some problems when k is small (say k < 5).
Farthest-point clustering
For the hardness of the problem, it's impractical to get an exact solution or precise approximation. Instead, an approximation with factor = 2 is widely used for large k cases. The approximation is referred to as the farthest-point clustering (FPC) algorithm, or farthest-first traversal. The algorithm is quite simple: pick any point from the set as one center; search for the farthest point from remaining set as another center; repeat the process until k centers are found.
It is easy to see that this algorithm runs in linear time. As approximation with factor less than 2 is proved to be NP hard, FPC was regarded as the best approximation one can find.
As per the performance of execution, the time complexity is later improved to O(n log k) with box decomposition technique.

## Maxmin facility location

The maxmin facility location or obnoxious facility location problem seeks a location which maximizes the minimum distance to the sites. In the case of the Euclidean metric, it is known as the largest empty sphere problem. The planar single-facility case (largest empty circle problem) may be solved in optimal time Θ(n log n).

## Integer programming formulations

Facility location problems are often solved as integer programs. In this context, facility location problems are often posed as follows: suppose there are $n$ facilities and $m$ customers. We wish to choose (1) which of the $n$ facilities to open, and (2) which (open) facilities to use to supply the $m$ customers, in order to satisfy some fixed demand at minimum cost. We introduce the following notation: let $f_{i}$ denote the (fixed) cost of opening facility $i$, for $i=1,\dots ,n$. Let $c_{ij}$denote the cost to ship a product from facility $i$ to customer $j$ for $i=1,\dots ,n$ and $j=1,\dots ,m$. Let $d_{j}$ denote the demand of customer $j$ for $j=1,\dots ,m$. Further suppose that each facility has a maximum output. Let $u_{i}$ denote the maximum amount of product that can be produced by facility $i$, that is, let $u_{i}$ denote the capacity of facility $i$. The remainder of this section follows

### Capacitated facility location

In our initial formulation, introduce a binary variable $x_{i}$ for $i=1,\dots ,n$, where $x_{i}=1$ if facility $i$ is open, and $x_{i}=0$ otherwise. Further introduce the variable $y_{ij}$ for $i=1,\dots ,n$ and $j=1,\dots ,m$ which represents the fraction of the demand $d_{j}$ filled by facility $i$. The so-called capacitated facility location problem is then given by${\begin{array}{rl}\min &\displaystyle \sum _{i=1}^{n}\sum _{j=1}^{m}c_{ij}d_{j}y_{ij}+\sum _{i=1}^{n}f_{i}x_{i}\\{\text{s.t.}}&\displaystyle \sum _{i=1}^{n}y_{ij}=1{\text{ for all }}j=1,\dots ,m\\&\displaystyle \sum _{j=1}^{m}d_{j}y_{ij}\leqslant u_{i}x_{i}{\text{ for all }}i=1\dots ,n\\&y_{ij}\geqslant 0{\text{ for all }}i=1,\dots ,n{\text{ and }}j=1,\dots ,m\\&x_{i}\in \{0,1\}{\text{ for all }}i=1,\dots ,n\end{array}}$
Note that the second set of constraints ensures that if $x_{i}=0$, that is, facility $i$ isn't open, then $y_{ij}=0$ for all $j$, that is, no demand for any customer can be filled from facility $i$.

### Uncapacitated facility location

A common case of the capacitated facility location problem above is the case when $u_{i}=+\infty$ for all $i=1,\dots ,n$. In this case, it is always optimal to satisfy all of the demand from customer $j$ from the nearest open facility. Because of this, we may replace the continuous variables $y_{ij}$ from above with the binary variables $z_{ij}$, where $z_{ij}=1$ if customer $j$ is supplied by facility $i$, and $z_{ij}=0$ otherwise. The uncapacitated facility location problem is then given by${\begin{array}{rl}\min &\displaystyle \sum _{i=1}^{n}\sum _{j=1}^{m}c_{ij}d_{j}z_{ij}+\sum _{i=1}^{n}f_{i}x_{i}\\{\text{s.t.}}&\displaystyle \sum _{i=1}^{n}z_{ij}=1{\text{ for all }}j=1,\dots ,m\\&\displaystyle \sum _{j=1}^{m}z_{ij}\leqslant Mx_{i}{\text{ for all }}i=1\dots ,n\\&z_{ij}\in \{0,1\}{\text{ for all }}i=1,\dots ,n{\text{ and }}j=1,\dots ,m\\&x_{i}\in \{0,1\}{\text{ for all }}i=1,\dots ,n\end{array}}$
where $M$ is a constant chosen to be suitably large. The choice of $M$ can affect computation results—the best choice in this instance is obvious: take $M=m$. Then, if $x_{i}=1$, any choice of the $z_{ij}$ will satisfy the second set of constraints.
Another formulation possibility for the uncapacitated facility location problem is to disaggregate the capacity constraints (the big-$M$ constraints). That is, replace the constraints$\sum _{j=1}^{m}z_{ij}\leqslant Mx_{i}{\text{ for all }}i=1,\dots ,n$with the constraints$z_{ij}\leqslant x_{i}{\text{ for all }}i=1,\dots ,n{\text{ and }}j=1,\dots ,m$In practice, this new formulation performs significantly better, in the sense that it has a tighter Linear programming relaxation than the first formulation. Notice that summing the new constraints together yields the original big-$M$ constraints. In the capacitated case, these formulations are not equivalent. More information about the uncapacitated facility location problem can be found in Chapter 3 of "Discrete location theory".

## Applications
### Healthcare

In healthcare, incorrect facility location decisions have a serious impact on the community beyond simple cost and service metrics; for instance, hard-to-access healthcare facilities are likely to be associated with increased morbidity and mortality. From this perspective, facility location modeling for healthcare is more critical than similar modeling for other areas.

### Solid waste management

Municipal solid waste management still remains a challenge for developing countries because of increasing waste production and high costs associated with waste management. Through the formulation and exact resolution of a facility location problem it is possible to optimize the location of landfills for waste disposal.

### Clustering

A particular subset of cluster analysis problems can be viewed as facility location problems. In a centroid-based clustering problem, the objective is to partition $n$ data points (elements of a common metric space) into equivalence classes—often called colors—such that points of the same color are close to one another (equivalently, such that points of different colors are far from one another).
To see how one might view (read "transform" or "reduce") a centroid-based clustering problem as a (metric) facility location problem, view each data point in the former as a demand point in the latter. Suppose that the data to be clustered are elements of a metric space $M$ (e.g. let $M$ be $p$-dimensional Euclidean space for some fixed $p$). In the facility location problem that we are constructing, we permit facilities to be placed at any point within this metric space $M$; this defines the set of allowed facility locations $L$. We define the costs $c_{\ell ,d}$ to be the pairwise distances between location-demand point pairs (e.g., see metric k-center). In a centroid-based clustering problem, one partitions the data into $k$ equivalence classes (i.e. colors) each of which has a centroid. Let us see how a solution to our constructed facility location problem also achieves such a partition. A feasible solution is a non-empty subset $L'\subseteq L$ of $k$ locations. These locations in our facility location problem comprise a set of $k$ centroids in our centroid-based clustering problem. Now, assign each demand point $d$ to the location $\ell ^{*}$ that minimizes its servicing-cost; that is, assign the data point $d$ to the centroid $\ell ^{*}:=\mathrm {arg\,min} _{\ell \in L}\{c_{\ell ,d}\}$ (break ties arbitrarily). This achieves the partitioning provided that the facility location problem's costs $c_{\ell ,d}$ are defined such that they are the images of the centroid-based clustering problem's distance function.
The popular algorithms textbook Algorithm Design provides a related problem-description and an approximation algorithm. The authors refer to the metric facility location problem (i.e. the centroid-based clustering problem or the metric $k$-center problem) as the center selection problem, thereby growing the list of synonyms.
Furthermore, see that in our above definition of the facility location problem that the objective function $f$ is general. Specific choices of $f$ yield different variants of the facility location problem, and hence different variants of the centroid-based clustering problem. For example, one might choose to minimize the sum of distances from each location to each of its assigned demand points (à la the Weber problem), or one might elect to minimize the maximum of all such distances (à la the 1-center problem).