Optimization Online


SDDP.jl: a Julia package for Stochastic Dual Dynamic Programming

Oscar Dowson (o.dowson***at***auckland.ac.nz)
Lea Kapelevich (lkap***at***mit.edu)

Abstract: In this paper we present SDDP.jl, an open-source library for solving multistage stochastic optimization problems using the Stochastic Dual Dynamic Programming algorithm. SDDP.jl is built upon JuMP, an algebraic modelling language in Julia. This enables a high-level interface for the user, while simultaneously providing performance that is similar to implementations in low-level languages. We benchmark the performance of SDDP.jl against a C++ implementation of SDDP for the New Zealand Hydro-Thermal Scheduling Problem. On the benchmark problem, SDDP.jl is approximately 30% slower than the C++ implementation. However, this performance penalty is small when viewed in context of the generic nature of the SDDP.jl library compared to the single purpose C++ implementation.

Keywords: SDDP; Julia; Stochastic Dual Dynamic Programming; DOASA

Category 1: Stochastic Programming

Category 2: Optimization Software and Modeling Systems

Citation: A modified version of this paper is now published at INFORMS Journal on Computing: https://doi.org/10.1287/ijoc.2020.0987

Download: [PDF]

Entry Submitted: 12/21/2017
Entry Accepted: 12/22/2017
Entry Last Modified: 09/02/2020

Modify/Update this entry

  Visitors Authors More about us Links
  Subscribe, Unsubscribe
Digest Archive
Search, Browse the Repository


Coordinator's Board
Classification Scheme
Give us feedback
Optimization Journals, Sites, Societies
Mathematical Optimization Society