How Benders Decomposition Works, Part II: Feasibility Cuts
Benders decomposition must handle infeasible subproblems when strategic decisions (e.g., facility selection) cannot support any feasible operational solution, going beyond simple cost underestimation Feasibility cuts are introduced to restrict the master problem to decisions that admit at least one feasible operational plan, using Farkas' lemma to construct certificates of infeasibility Farkas' lemma provides a theorem of alternatives that transforms subproblem infeasibility into a mathematical
Analysis
TL;DR
- Benders decomposition must handle infeasible subproblems when strategic decisions (e.g., facility selection) cannot support any feasible operational solution, going beyond simple cost underestimation
- Feasibility cuts are introduced to restrict the master problem to decisions that admit at least one feasible operational plan, using Farkas' lemma to construct certificates of infeasibility
- Farkas' lemma provides a theorem of alternatives that transforms subproblem infeasibility into a mathematical constraint on master variables, enabling the algorithm to learn which decisions are structurally impossible
- The article demonstrates the complete mechanism through a toy resource allocation problem and extends it to a capacitated facility location problem where capacity constraints can make previously feasible decisions infeasible
- A full Python implementation using Pyomo and the HiGHS open-source solver is provided, generating feasibility cuts when operations are impossible and optimality cuts when feasible plans exist
Why It Matters
This article addresses a fundamental limitation in Benders decomposition that practitioners encounter when solving real-world mixed-integer programs with capacity or compatibility constraints. Understanding feasibility cuts is essential for anyone implementing decomposition algorithms on problems where the master decision can render the subproblem infeasible, such as facility location, workforce scheduling, or transportation planning.
Technical Details
- Feasibility cuts vs. optimality cuts: Optimality cuts inform the master that a decision is feasible but operationally expensive; feasibility cuts inform the master that a decision cannot support any feasible operational solution and must be structurally avoided
- Farkas' lemma: The mathematical foundation for constructing feasibility cuts; it provides a certificate proving that a system of linear constraints has no feasible solution, which is then transformed into a constraint involving master variables
- Toy problem formulation: A two-resource planning problem with binary activation variables (x1, x2) and continuous supply variables (y1, y2), where resource 2 has capacity 4 and cannot satisfy demand of 6 alone, demonstrating how the master can select an infeasible configuration
- Capacitated facility location: Unlike the uncapacitated version from Part I, opening at least one facility no longer guarantees every customer can be served, requiring the algorithm to generate feasibility cuts when capacity constraints are violated
- Implementation: Complete Python algorithm using Pyomo for modeling and HiGHS as the open-source solver, with a Benders loop that dynamically generates both feasibility and optimality cuts based on subproblem status
Industry Insight
- Decomposition algorithms for large-scale optimization must explicitly handle infeasibility in the subproblem; simply detecting infeasibility without generating feasibility cuts leads to algorithmic failure or infinite loops
- Farkas' lemma provides a theoretically sound and computationally efficient mechanism for converting infeasibility information into actionable constraints, making it a standard tool in industrial optimization solvers
- The capacitated facility location problem is a canonical example where feasibility cuts are indispensable; practitioners working on supply chain design, production planning, or logistics should ensure their decomposition implementations include both cut types
Disclaimer: The above content is generated by AI and is for reference only.