Implementation of SDDP (Stochastic Dual Dynamic Programming) using the StructJuMP modeling interface



Documentation PackageEvaluator Build Status Social
Build Status Build Status Gitter
Coveralls branch Codecov branch

Generic interface for the Stochastic Dual Dynamic Programming (SDDP) algorithm as well as a generic implementation. The problem can either be provided using the StructJuMP modeling interface or using a lower level interface.

This package is used by the Entropic Cone package.


  • STABLEmost recently tagged version of the documentation.
  • LATESTin-development version of the documentation.


> Pkg.update()
> Pkg.add("StructDualDynProg")

Notes for choice of solvers

This package should work with any linear programming (LP) solver supported by MathProgBase. If some subproblems are infeasible, an infeasibility ray will be asked to the solver. In this case, it is advised to turn presolve off in CPLEX (i.e. CPLEX.CplexSolver(CPX_PARAM_REDUCE=0)) and to avoid using Clp since it often cannot find the infeasibility ray. If some subproblems are unbounded, an unbounded ray and a feasible solution will be asked for the solver. Again, avoid using Clp in that case. Hopefully subproblems shouldn't be unbounded if detectlb is left at true when calling model2lattice.

First Commit


Last Touched

24 days ago


192 commits

Used By: