Benders for Mixed-Integer Problems
Apply Benders decomposition to mixed-integer programs (MIPs) with complicating integer variables. Iterate between an integer master problem and a continuous LP subproblem, generating optimality cuts from subproblem duals and tracking upper and lower bounds until they coincide.
Tutorial
Decomposing a Mixed-Integer Program
A mixed-integer program (MIP) often contains two distinct kinds of decisions: a small set of complicating integer variables (e.g., facility-open decisions, design choices) and a larger set of continuous variables (e.g., shipping quantities, flows). We write such a problem in the form
where is the set of admissible integer values for .
Benders decomposition exploits this structure. Once we fix , the residual problem in is a linear program -- the subproblem:
The choice of is delegated to the master problem, an integer program that uses an auxiliary variable to stand in for :
Benders alternates: solve the integer master to obtain , solve the LP subproblem at , and append a cut that forces to better approximate . The integer search is handled only in the master; the continuous variables are handled only in the subproblem.