# Facility location problem

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 ⊂ ℝd, find a point set S ⊂ ℝd, |S| = k, so that maxp ∈ P(minq ∈ S(d(pq)) ) 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. see smallest enclosing circle and bounding sphere for more details.

### NP hardness

It has been proved 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 coresets 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 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}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 ensure 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}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".

## Free software for solving facility location problems

Name
(alphabetically)
License API language Brief info
FLP Spreadsheet Solver Creative Commons Attribution 4.0 International License Microsoft Excel and VBA based open source solver for facility location problems, with a link to public GIS for data retrieval. link Video tutorial link 
ODL Studio LGPL Capacitated clusterer component in ODL Studio solves the P-median site location problem. The software includes mapping, reporting and Excel load/save. 
SITATION freeware Can solve five classes of location problems including: P-median, P-center, Set Covering, Maximal Covering, and Uncapacitated Fixed Charge Problems. 

## Healthcare facility location

Location problems have widely been used in placing healthcare facilities. The recent review paper  surveys studies on this topic.