Benders Decomposition: The Idea
Introduce Benders decomposition as an iterative scheme that splits a problem into a master problem in the 'complicating' variables and an LP subproblem in the remaining variables. Derive Benders optimality cuts from optimal dual solutions of feasible subproblems and Benders feasibility cuts from extreme rays of unbounded duals, and practice building the appropriate cut to return to the master.
Tutorial
The Master/Subproblem Split
Consider a mixed-integer linear program of the form
where encodes restrictions on that make the joint problem hard (e.g. integrality). The variables are called the complicating variables: once we fix them to a specific value what remains in is just a linear program.
Benders decomposition exploits this structure by alternating between two pieces:
- A master problem that proposes a value for the complicating variables.
- A subproblem that, given solves the LP
and sends information back to the master in the form of a cut — a linear inequality in (and one auxiliary variable).
The key idea: rather than optimizing and jointly, we drive through a sequence of master solutions, each refined by the cut produced from the previous subproblem. The master sees a progressively better approximation of the subproblem's value as a function of