Repository navigation
🧩 Constraint Solving POTD:Problem of the Day: Facility Location Problem #65835
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Constraint Solving — Problem of the Day. A newer discussion is available at Discussion #66104. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem Statement
The Facility Location Problem asks: where should we place warehouses, factories, or service centers to minimize the total cost of serving a set of customers?
Given:
Find:
Such that the total cost (opening + serving) is minimized.
Concrete Instance
Suppose we have:
Each customer has a demand of 1 unit. Which warehouses should we open, and how should we route customers to minimize total cost?
Why It Matters
Supply Chain Design: Companies must decide where to establish distribution centers to serve regional markets efficiently without over-investing in infrastructure.
Data Center Placement: Cloud providers use facility location models to decide which data centers to operate globally, balancing latency guarantees against operational costs.
Public Services: Governments apply these techniques to locate fire stations, hospitals, or schools to balance coverage and budget constraints.
Retail Networks: Retailers optimize store locations by modeling customer demand, real estate costs, and competition—all variants of facility location.
Modeling Approaches
Approach 1: Mixed-Integer Linear Programming (MIP)
Model:
Trade-offs:
x_ij ≤ d_i * y_jcan weaken LP relaxations.Approach 2: Constraint Programming (CP)
Model:
Trade-offs:
Approach 3: Local Search / Metaheuristics
Idea:
Trade-offs:
Key Techniques
1. Disaggregation & Valid Inequalities
Rather than relying on the weak
x_ij ≤ d_i * y_jconstraint, use disaggregated formulations or add cutting planes (e.g.,∑_i x_ij ≤ M_j * y_jwhereM_jis facility j's capacity) to tighten the LP relaxation and accelerate branch-and-bound.2. Variable Fixing via Lagrangian Relaxation
Relax the demand-satisfaction constraints (dualize them). For each Lagrangian value, solve a knapsack-like subproblem per facility. Recover dual bounds and use them to identify facilities that must/cannot be open, pruning the search tree.
3. Greedy + Local Optimization
A simple construction heuristic:
This often yields solutions within 5–10% of optimal and provides a warm start for exact methods.
4. Symmetry Breaking (in CP)
If multiple facilities are identical (same fixed cost and transportation costs), post ordering constraints
open[j] ≥ open[j+1]to break symmetry and reduce the search space.Example Model (Pseudo-code / MiniZinc-style)
Challenge Corner
Capacity Extension: Suppose each facility has a maximum capacity. How would you add this constraint to each model? Which approach handles it most gracefully?
Dual Bounds: Can you derive a lower bound on the optimal cost by ignoring the facility-opening decision and just serving each customer from its cheapest source?
Symmetry in Your Instance: In the example above, could two warehouses be swapped without changing the total cost? How would you add symmetry-breaking constraints to the MIP?
References
Guignard, M., & Rosenwein, M. B. (1989). "An Improved Dual-Based Algorithm for the Capacitated Facility Location Problem." Journal of the Operational Research Society, 40(12), 1144–1156.
Rossi, F., van Beek, P., & Walsh, T. (Eds.). (2006). Handbook of Constraint Programming. Elsevier.
Mirchandani, P. B., & Francis, R. L. (1990). Discrete Location Theory. Wiley-Interscience.
OR-Tools Documentation: Vehicle Routing Library.
Next time: What does the real world add? Congestion, time windows, multiple product types—we'll explore how variants of facility location extend to integrated supply-chain problems.
All reactions