Benders Decomposition for Stochastic Linear Programming

A generalized MATLAB code for solving a 2-stage stochastic linear programming problem using benders decomposition.

You are now following this Submission

This code provides a generalized procedure for solving a 2-stage stochastic linear programming problem using benders decomposition.

Given the input matrices for 1st and 2nd stage problems, feasibility cuts (if necessary) and optimality cuts are automatically generated, then the optimal solution can be obtained.
(Note: the 2nd-stage problem should be a standard form LP, including slack variables.)

The parts for obtaining feasibility cuts and optimality cuts have been coded as user-defined functions in the script. This means two things:
1) The user do not need to modify the parts for generating feasibility and optimality cuts depending on his or her own problem (which is an advantage of this code).
2) This code requires version R2016b or later because the ability for 'adding functions to scripts' has been supported in R2016b. If you have the lower version, the local functions should be coded as separate m files.

(Made by Jeonghun Song, Turbomachinery Laboratory, Seoul National University, South Korea.
E-mail: flygon@snu.ac.kr)

Cite As

Jeonghun Song (2026). Benders Decomposition for Stochastic Linear Programming (https://www.mathworks.com/matlabcentral/fileexchange/69060-benders-decomposition-for-stochastic-linear-programming), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with R2016b to R2018b

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0