Problem Description
The Capacitated Facility Location Problem (CFLP) considers satisfying customer demands from a set of candidate facilities. Each facility has a fixed opening cost and a capacity; once opened, it can serve customers, incurring a transportation cost that depends on the customer's demand and the distance between them. The goal is to decide which facilities to open and how to split every customer's demand among the open facilities so that the total opening and transportation cost is minimized. The instances follow the generator of [Gasse19], which in turn follows [Cornuéjols91].
Notation
- \(C\): the set of customers, indexed by \(i\); \(F\): the set of candidate facilities, indexed by \(j\).
- \(d_i\): demand of customer \(i\) (integer, uniform in \(\{5,\dots,35\}\)).
- \(s_j\): capacity of facility \(j\). Raw capacities are drawn uniformly from \(\{10,\dots,160\}\) and rescaled so that the total capacity is \(\rho = 5\) times the total demand (rounded down to integers).
- \(f_j\): fixed cost of opening facility \(j\), \(f_j = \lfloor u_j\sqrt{\tilde s_j} + v_j \rfloor\) with \(u_j\) uniform in \(\{100,\dots,110\}\), \(v_j\) uniform in \(\{0,\dots,90\}\), and \(\tilde s_j\) the raw (unscaled) capacity.
- \(c_{ij}\): cost of serving all of customer \(i\)'s demand from facility \(j\), \(c_{ij} = 10\, d_i\, \lVert p_i - q_j \rVert_2\), where customer locations \(p_i\) and facility locations \(q_j\) are uniform in the unit square.
- \(y_j \in \{0,1\}\): 1 if facility \(j\) is opened.
- \(x_{ij} \in [0,1]\): fraction of customer \(i\)'s demand served by facility \(j\).
MILP formulation
\begin{align}
\min_{x,y} \quad & \sum_{i \in C}\sum_{j \in F} c_{ij}\, x_{ij} + \sum_{j \in F} f_j\, y_j \\
\text{s.t.} \quad & \sum_{j \in F} x_{ij} \geq 1 && \forall i \in C \quad \text{(demand)} \\
& \sum_{i \in C} d_i\, x_{ij} \leq s_j\, y_j && \forall j \in F \quad \text{(capacity)} \\
& \sum_{j \in F} s_j\, y_j \geq \sum_{i \in C} d_i && \text{(total capacity)} \\
& x_{ij} \leq y_j && \forall i \in C,\ \forall j \in F \quad \text{(only open facilities serve)} \\
& 0 \leq x_{ij} \leq 1 && \forall i \in C,\ \forall j \in F \\
& y_j \in \{0,1\} && \forall j \in F
\end{align}
The total-capacity constraint and the \(x_{ij} \leq y_j\) constraints are implied by the others for integer \(y\), but they are included in the instances to tighten the LP relaxation [Gasse19]. An instance therefore has \(|F|\) binary variables, \(|C||F|\) continuous variables, and \(|C| + |F| + 1 + |C||F|\) constraints.
Instance distributions
The table below summarizes the distributions that have been used in previous works and availability in Distributional MIPLIB, along with download links.
| Hardness level |
Dist Source (ML4MILPs) |
# Var B |
# Var I |
# Var C |
# Constr | # Facilities | # Customers | Capacity / Demand Ratio |
Related Literature |
| Easy |
[Gasse19] |
100 |
0 |
10000 |
10201 | 100 | 100 | 5 |
Branching [Gasse19,Gupta20] |
| Medium |
[Gasse19] |
200 |
0 |
20000 |
20301 | 200 | 100 | 5 |
Branching, Backdoor [Gasse19,Gupta20,Ferber22] |
Generator
Generators are available at Learn2Branch , Ecole and GeC0.
License
The CFLP instances data in Distributional MIPLIB is licensed under a CC BY 4.0 license .
Instances for CFLP in Distributional MIPLIB were generated with code from [Gasse19] (code publicly available at https://github.com/ds4dm/learn2branch/tree/master; under the MIT License Learn2Branch License ).
Related literature
Branching and Variable Selection
Randomly sampled facility location problems have been studied in a variety of settings:
- Learning branching variable selection: [Gasse19, Gupta20]
- Learning backdoors in MIP: [Ferber22]
Citation
Any work that uses any of the above instances should cite the papers below:
Distributional MIPLIB
@misc{huang2024distributional,
title={Distributional MIPLIB: a Multi-Domain Library for Advancing ML-Guided MILP Methods},
author={Weimin Huang and Taoan Huang and Aaron M Ferber and Bistra Dilkina},
year={2024},
eprint={2406.06954},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Original Formulation & Generator
@article{cornuejols1991comparison,
title={A comparison of heuristics and relaxations for the capacitated plant location problem},
author={Cornu{\'e}jols, G{\'e}rard and Sridharan, Ranjani and Thizy, Jean-Michel},
journal={European journal of operational research},
volume={50},
number={3},
pages={280--297},
year={1991},
publisher={Elsevier}
}
References
[Cornuéjols91] Cornuéjols, Gérard, Ranjani Sridharan, and Jean-Michel Thizy. "A comparison of heuristics and relaxations for the capacitated plant location problem." European Journal of Operational Research, vol. 50, no. 3, pp. 280–297, 1991. [paper]
[Gasse19] Gasse, Maxime, et al. "Exact combinatorial optimization with graph convolutional neural networks." In Advances in Neural Information Processing Systems, vol. 32, 2019. [paper]
[Gupta20] Gupta, Prateek, et al. "Hybrid models for learning to branch." In Advances in Neural Information Processing Systems, vol. 33, pp. 18087–18097, 2020. [paper]
[Ferber22] Ferber, Aaron, Jialin Song, Bistra Dilkina, and Yisong Yue. "Learning pseudo-backdoors for mixed integer programs." In International Conference on Integration of Constraint Programming, Artificial Intelligence, and Operations Research (CPAIOR), pp. 91–102, 2022. [paper]