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.

Step 1 of 157%

Tutorial

The Master/Subproblem Split

Consider a mixed-integer linear program of the form

mincTx+fTys.t.Ax+Bybx0,yY,\begin{aligned}\min\quad & \mathbf{c}^T \mathbf{x} + \mathbf{f}^T \mathbf{y} \\ \text{s.t.}\quad & A\mathbf{x} + B\mathbf{y} \geq \mathbf{b} \\ & \mathbf{x} \geq \mathbf{0},\quad \mathbf{y} \in Y, \end{aligned}

where YY encodes restrictions on y\mathbf{y} that make the joint problem hard (e.g. integrality). The variables y\mathbf{y} are called the complicating variables: once we fix them to a specific value yˉ,\bar{\mathbf{y}}, what remains in x\mathbf{x} is just a linear program.

Benders decomposition exploits this structure by alternating between two pieces:

  • A master problem that proposes a value yˉ\bar{\mathbf{y}} for the complicating variables.
  • A subproblem that, given yˉ,\bar{\mathbf{y}}, solves the LP
SP(yˉ):minx0 cTxs.t.AxbByˉSP(\bar{\mathbf{y}}):\quad \min_{\mathbf{x} \geq \mathbf{0}}\ \mathbf{c}^T \mathbf{x} \quad \text{s.t.}\quad A\mathbf{x} \geq \mathbf{b} - B\bar{\mathbf{y}}

and sends information back to the master in the form of a cut — a linear inequality in y\mathbf{y} (and one auxiliary variable).

The key idea: rather than optimizing x\mathbf{x} and y\mathbf{y} jointly, we drive yˉ\bar{\mathbf{y}} 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 y.\mathbf{y}.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle