A plant designer chooses equipment capacity before production starts. Once that capacity is fixed, an operating problem decides how to meet demand. Solving both decisions together may be expensive, especially with integer design choices or many possible demand realizations.
Benders decomposition passes information from the operating problem to the design problem as cuts. Column-and-constraint generation (C&CG), in two-stage robust optimization, adds the operating variables and constraints of selected uncertainty scenarios. Both alternate between a master problem and a subproblem, but they retain different information between iterations.
1. Benders decomposition: learning the operating-cost function
Separate the design decision from recourse
Let x denote design decisions and y denote operating, or recourse, decisions. Consider
X contains the first-stage constraints and may include integer variables. The fixed data c and q are cost vectors; W and T are constraint matrices, and h is a right-hand-side vector. Fixing x leaves a linear program in continuous y. Its optimal value Q(x) is the least operating cost compatible with that design.
The classical method introduced by Benders (1962) exploits this separation. The master chooses x and a cost estimate θ. The subproblem evaluates Q(x) and supplies a constraint that improves the master.
Assume operating cost is bounded below wherever recourse is feasible and an optimum is attained. For a feasible subproblem, LP strong duality gives
The dual feasible set Π is independent of x because W and q are fixed. Every dual-feasible π supplies an affine lower bound on operating cost. For any feasible y,
Taking the minimum over y preserves this bound. If the subproblem at the current design returns an optimal dual solution , add
This is an optimality cut. It is valid for every feasible design, including designs with integer components, and is tight at the design where it was generated. Accumulating such cuts builds a piecewise linear lower approximation to Q.
An infeasible operating problem needs a different cut
Some designs cannot meet the operating constraints. An infeasible subproblem has no finite operating cost to insert into an optimality cut. A Farkas certificate r can instead satisfy the first line below and generate the second:
To check the sign, any feasible y satisfies because and y ≥ 0. It also satisfies . Therefore every design admitting feasible recourse must satisfy the generated inequality. The current design violates it. This is a feasibility cut.
The certificate is often obtained as a dual ray or from a phase-I feasibility problem. Solver conventions differ; the inequality should be checked against the original constraint directions.
The master, bounds, and stopping rule
Let E index stored optimality cuts and R stored feasibility cuts. The restricted master is
The underlined θ is a known global lower bound on recourse cost. Zero is valid when all operating costs are nonnegative. Without a valid initial bound or suitable initial cuts, the first master may be unbounded.
For minimization, the master relaxes the full problem, so its globally optimal objective is a lower bound, LB. A design with feasible recourse supplies an upper bound, UB, through its actual total cost. With exact solves,
Only a feasible subproblem updates UB. Store the design that achieved the best UB; this is the incumbent to return.
Initialize a valid recourse lower bound, empty cut sets, and UB = +infinity.
Repeat:
Solve the restricted master; obtain x, theta, and LB.
If the master is certified infeasible, return infeasible.
Solve the operating LP at x.
If infeasible:
Add a certified feasibility cut.
Otherwise:
Update UB and its incumbent using the evaluated total cost.
If the certified gap is within tolerance, return the incumbent.
Add an optimality cut from an optimal dual solution.
A practical absolute-plus-relative stopping test is
If a mixed-integer master stops early, its incumbent objective is an upper bound on that restricted master. Use the solver’s best bound for the original problem’s LB. A dual-feasible, suboptimal subproblem solution still gives a valid cut, but the cut need not be tight. A feasible operating solution gives a valid UB even if its operating cost has not been minimized exactly.
A numerical example: capacity versus emergency purchases
Use normalized capacity, production, and cost units over one planning period. Capacity x costs 2 per unit, in-house production y costs 3, and emergency purchases z cost 9. Demand is 8. Purchases have no upper limit, so every allowed capacity admits recourse:
In-house production is cheaper than purchases. It therefore supplies the smaller of capacity and demand, with purchases covering the remainder. Direct substitution gives
The subproblem dual makes the two affine pieces explicit:
Here α multiplies the demand constraint and β multiplies −y ≥ −x. Two dual optima encountered during the iterations generate
Starting with θ ≥ 0, the iterations are
| Quantity | Iteration 1 | Iteration 2 | Iteration 3 |
|---|---|---|---|
| Master x | 0 | 12 | 8 |
| Master θ | 0 | 0 | 24 |
| LB | 0 | 24 | 40 |
| Evaluated Q(x) | 72 | 24 | 24 |
| Best UB | 72 | 48 | 40 |
After one cut, the master selects x = 12 and predicts zero operating cost. Evaluation reveals a cost of 24, producing the second cut. With both cuts present, the master represents the entire value function in this example and selects x = 8. The total cost is 40.
Removing emergency purchases changes feasibility: any x < 8 then makes the operating problem infeasible. A feasibility cut is x ≥ 8. In models where every allowed first-stage decision has feasible recourse, this property is called relatively complete recourse.
2. C&CG: adding scenarios with their recourse decisions
First choose a design, then observe uncertainty, then operate
Suppose demand or renewable supply is uncertain. In two-stage robust optimization, x is chosen before uncertainty u is observed; y can adjust after observation. The objective minimizes first-stage cost plus worst-case optimal operating cost:
U is the specified uncertainty set, and M maps uncertainty into the operating constraints. This exposition uses fixed W and q and uncertainty in the right-hand side. The feasibility condition follows the same decision order: choose x, observe u, then adjust y.
The same x must work for every u, while the operating decision may differ by scenario. This assumes that the uncertainty relevant to y has been revealed before y is chosen. Partial or sequential observation requires additional information constraints.
Zeng and Zhao (2013) formulate C&CG by generating scenario-specific recourse variables together with their constraints. The 2011 precursor by Zeng provides an openly accessible derivation.
Keep a restricted set of scenarios
Let S index the scenarios identified so far, with fixed realizations . For each scenario, introduce an independent recourse vector :
The underlined η is a valid lower bound on worst-case recourse cost. All scenario blocks share x. Their operating variables are separate, and η bounds every scenario’s cost from above. Minimizing η therefore represents a maximum over the stored scenarios. An expected-cost model would instead use probability-weighted scenario costs.
Here “columns” means the new recourse-variable block ; “constraints” means its operating constraints and cost inequality. The master grows in both variables and constraints.
Search outside the current scenario set
After solving the master, fix its design and solve the adversarial subproblem: maximize Q over all of U. If continuous recourse is feasible and finite for every scenario, strong duality yields
The product between u and π generally makes this a bilinear optimization problem. Dualizing the inner LP leaves a potentially difficult global maximization. An exact MILP reformulation needs suitable uncertainty structure and justified bounds; a local NLP solution alone does not certify the maximum.
An exact oracle returns a worst-case scenario and its cost. Add that scenario’s recourse-variable and constraint block. The restricted master gives LB; a finite, certified full-set evaluation of the design gives UB:
If some scenario admits no feasible recourse, define its Q as +infinity. A feasibility oracle must find such a scenario or certify its absence. Add the violating scenario’s block and re-solve; do not update UB from that design. The shared x must then change enough to make that block feasible. The same scenario-block construction can address both operating-cost underestimation and infeasibility.
Initialize a valid recourse lower bound and a small scenario set S.
Set UB = +infinity.
Repeat:
Solve the restricted master; obtain x, eta, and LB.
If the master is certified infeasible, return infeasible.
Check recourse feasibility over the full uncertainty set.
If a violating scenario is found:
Add its recourse variables and constraints; continue.
Solve the worst-case operating-cost problem over the full set.
Update UB and its incumbent using the certified worst-case cost.
If the certified gap is within tolerance, return the incumbent.
Add the worst-case scenario's recourse variables and constraints.
The feasibility and cost searches may be implemented by a combined oracle. A finite UB requires both recourse feasibility for every scenario and a certified upper bound on the worst-case operating cost.
The cost of a single adversarial scenario alone does not certify that it is worst-case. For this maximization, a feasible scenario supplies a lower bound on the maximum. A certified global upper bound on the oracle value, together with robust recourse feasibility, can support an outer UB even before the oracle is solved exactly.
The same plant with uncertain demand
Keep the costs and capacity range from the Benders example, but let demand vary between 6 and 10:
The robust objective is 2x plus the maximum of this operating cost over the demand interval. Start with only d = 6 in the restricted master. It chooses x = 6, with operating cost 18 and total cost 30. At that design, d = 10 requires in-house production 6 and purchases 4. The evaluated total cost is 12 + 18 + 36 = 66.
Adding d = 10 introduces the following block, alongside the existing d = 6 block:
The superscript 10 labels the demand scenario; it is not a power. Both demand blocks use the same capacity x, and each has its own production and purchase decisions.
| Quantity | Iteration 1 | Iteration 2 |
|---|---|---|
| Stored demands | {6} | {6, 10} |
| Master x | 6 | 10 |
| Master η | 18 | 30 |
| LB | 30 | 50 |
| Worst demand | 10 | 10 |
| Worst operating cost | 54 | 30 |
| Best UB | 66 | 50 |
Operating cost is nondecreasing in demand here, so the exact worst case is always d = 10. The algorithm stops at x = 10 and total cost 50. Finding the worst scenario can be much harder with interacting demands, network constraints, or budgeted uncertainty.
3. What each iteration retains
| Aspect | Benders | C&CG |
|---|---|---|
| Information added | A dual cost cut or feasibility cut | A scenario’s recourse variables and constraints |
| Recourse variables | Eliminated from the basic master | Kept for stored scenarios |
| Subproblem | Fixed-design recourse | Worst-case cost or feasibility search over U |
| Master growth | Inequalities | Variables and inequalities |
| Main cost | Cut quality and repeated solves | Growing masters and adversarial search |
Benders decomposition also applies to stochastic programs and can form the basis of robust cutting-plane methods. C&CG is one way to organize a two-stage robust problem; the presence of uncertainty alone does not select an algorithm.
For continuous LP recourse, the connection is precise. Eliminating the operating variables from the d = 10 block gives
That one block represents both affine pieces of this scenario’s value function. A Benders cost cut supplies one dual-based affine bound at a time. C&CG keeps an extended formulation of the selected scenario’s epigraph, which can strengthen the master at the cost of extra variables. This tradeoff does not establish a universal runtime ranking.
For a finite uncertainty set, exact C&CG has only finitely many distinct scenario blocks to add, provided feasibility and worst-case separation are certified. With continuous LP recourse, fixed W and q, and a compact polyhedral right-hand-side uncertainty set, feasible finite Q is convex in u. A maximum is attained at a vertex. An exact oracle that returns vertices then reduces the relevant scenarios to a finite set. These conditions should be checked before claiming finite termination.
Classical Benders likewise has finitely many relevant dual extreme points and feasibility rays in its polyhedral LP setting. Finite termination relies on the usual solvability assumptions, exact solves, and appropriate extreme-point or ray selection. Integer variables in x are compatible with the cuts, but each mixed-integer master may still be expensive.
If recourse contains integer variables, the continuous LP dual no longer represents its exact value. Classical Benders cuts alone may be insufficient, and the displayed dualized C&CG oracle is no longer an exact reformulation. Scenario blocks can still retain integer recourse variables, but require a suitable exact oracle. Logic-based or integer Benders methods and nested C&CG are possible extensions, each requiring its own assumptions. For nonconvex continuous recourse, global solution guarantees also need separate justification.
For a process model, the first checks are concrete: which decisions are fixed before uncertainty is observed, which can adjust afterward, whether recourse is continuous and feasible, and which solver bounds certify the final gap.
References
- J. F. Benders (1962). “Partitioning procedures for solving mixed-variables programming problems.” Numerische Mathematik, 4, 238–252. DOI.
- Bo Zeng and Long Zhao (2013). “Solving two-stage robust optimization problems using a column-and-constraint generation method.” Operations Research Letters, 41(5), 457–461. DOI.
- Bo Zeng (2011). “Solving Two-stage Robust Optimization Problems by A Constraint-and-Column Generation Method.” Technical report, June 2011. Open manuscript.