IDEAS home Printed from https://ideas.repec.org/a/inm/orijoc/v33y2021i1p27-33.html
   My bibliography  Save this article

SDDP.jl : A Julia Package for Stochastic Dual Dynamic Programming

Author

Listed:
  • Oscar Dowson

    (Department of Industrial Engineering and Management Sciences, McCormick School of Engineering, Northwestern University, Evanston, Illinois 60208)

  • Lea Kapelevich

    (Operations Research Center, Massachusetts Institute of Technology, Cambridge, Massachusetts 02139)

Abstract

We present SDDP.jl , an open-source library for solving multistage stochastic programming problems using the stochastic dual dynamic programming algorithm. SDDP.jl is built on JuMP, an algebraic modeling language in Julia. JuMP provides SDDP.jl with a solver-agnostic, user-friendly interface. In addition, we leverage unique features of Julia, such as multiple dispatch, to provide an extensible framework for practitioners to build on our work. SDDP.jl is well tested, and accessible documentation is available at https://github.com/odow/SDDP.jl .

Suggested Citation

  • Oscar Dowson & Lea Kapelevich, 2021. "SDDP.jl : A Julia Package for Stochastic Dual Dynamic Programming," INFORMS Journal on Computing, INFORMS, vol. 33(1), pages 27-33, January.
  • Handle: RePEc:inm:orijoc:v:33:y:2021:i:1:p:27-33
    DOI: 10.1287/ijoc.2020.0987
    as

    Download full text from publisher

    File URL: https://doi.org/10.1287/ijoc.2020.0987
    Download Restriction: no

    File URL: https://libkey.io/10.1287/ijoc.2020.0987?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    References listed on IDEAS

    as
    1. Reus, Lorenzo & Pagnoncelli, Bernardo & Armstrong, Margaret, 2019. "Better management of production incidents in mining using multistage stochastic optimization," Resources Policy, Elsevier, vol. 63(C), pages 1-1.
    2. Panos Parpas & Berk Ustun & Mort Webster & Quang Kha Tran, 2015. "Importance Sampling in Stochastic Programming: A Markov Chain Monte Carlo Approach," INFORMS Journal on Computing, INFORMS, vol. 27(2), pages 358-377, May.
    3. A. B. Philpott & V. L. Matos & L. Kapelevich, 2018. "Distributionally robust SDDP," Computational Management Science, Springer, vol. 15(3), pages 431-454, October.
    4. Shapiro, Alexander, 2011. "Analysis of stochastic dual dynamic programming method," European Journal of Operational Research, Elsevier, vol. 209(1), pages 63-72, February.
    5. Arild Helseth & Hallvard Braaten, 2015. "Efficient Parallelization of the Stochastic Dual Dynamic Programming Algorithm Applied to Hydropower Scheduling," Energies, MDPI, vol. 8(12), pages 1-11, December.
    6. Philippe Artzner & Freddy Delbaen & Jean‐Marc Eber & David Heath, 1999. "Coherent Measures of Risk," Mathematical Finance, Wiley Blackwell, vol. 9(3), pages 203-228, July.
    7. D. P. de Farias & B. Van Roy, 2003. "The Linear Programming Approach to Approximate Dynamic Programming," Operations Research, INFORMS, vol. 51(6), pages 850-865, December.
    8. John R. Birge, 1985. "Decomposition and Partitioning Methods for Multistage Stochastic Linear Programs," Operations Research, INFORMS, vol. 33(5), pages 989-1007, October.
    9. P. Girardeau & V. Leclere & A. B. Philpott, 2015. "On the Convergence of Decomposition Methods for Multistage Stochastic Convex Programs," Mathematics of Operations Research, INFORMS, vol. 40(1), pages 130-145, February.
    Full references (including those not matched with items on IDEAS)

    Citations

    Citations are extracted by the CitEc Project, subscribe to its RSS feed for this item.
    as


    Cited by:

    1. Martin Biel & Mikael Johansson, 2022. "Efficient Stochastic Programming in Julia," INFORMS Journal on Computing, INFORMS, vol. 34(4), pages 1885-1902, July.
    2. Phebe Vayanos & Qing Jin & George Elissaios, 2022. "ROC++: Robust Optimization in C++," INFORMS Journal on Computing, INFORMS, vol. 34(6), pages 2873-2888, November.
    3. Haoxiang Yang & Harsha Nagarajan, 2022. "Optimal Power Flow in Distribution Networks Under N – 1 Disruptions: A Multistage Stochastic Programming Approach," INFORMS Journal on Computing, INFORMS, vol. 34(2), pages 690-709, March.
    4. Arnab Bhattacharya & Jeffrey P. Kharoufeh & Bo Zeng, 2023. "A Nonconvex Regularization Scheme for the Stochastic Dual Dynamic Programming Algorithm," INFORMS Journal on Computing, INFORMS, vol. 35(5), pages 1161-1178, September.
    5. D. Ávila & A. Papavasiliou & N. Löhndorf, 2022. "Parallel and distributed computing for stochastic dual dynamic programming," Computational Management Science, Springer, vol. 19(2), pages 199-226, June.
    6. Zhi Chen & Peng Xiong, 2023. "RSOME in Python: An Open-Source Package for Robust Stochastic Optimization Made Easy," INFORMS Journal on Computing, INFORMS, vol. 35(4), pages 717-724, July.

    Most related items

    These are the items that most often cite the same works as this one and are cited by the same works as this one.
    1. Park, Jangho & Bayraksan, Güzin, 2023. "A multistage distributionally robust optimization approach to water allocation under climate uncertainty," European Journal of Operational Research, Elsevier, vol. 306(2), pages 849-871.
    2. Guigues, Vincent & Juditsky, Anatoli & Nemirovski, Arkadi, 2021. "Constant Depth Decision Rules for multistage optimization under uncertainty," European Journal of Operational Research, Elsevier, vol. 295(1), pages 223-232.
    3. Vincent Guigues & Renato D. C. Monteiro, 2021. "Stochastic Dynamic Cutting Plane for Multistage Stochastic Convex Programs," Journal of Optimization Theory and Applications, Springer, vol. 189(2), pages 513-559, May.
    4. W. Ackooij & X. Warin, 2020. "On conditional cuts for stochastic dual dynamic programming," EURO Journal on Computational Optimization, Springer;EURO - The Association of European Operational Research Societies, vol. 8(2), pages 173-199, June.
    5. Liu, Rui Peng & Shapiro, Alexander, 2020. "Risk neutral reformulation approach to risk averse stochastic programming," European Journal of Operational Research, Elsevier, vol. 286(1), pages 21-31.
    6. Soares, Murilo Pereira & Street, Alexandre & Valladão, Davi Michel, 2017. "On the solution variability reduction of Stochastic Dual Dynamic Programming applied to energy planning," European Journal of Operational Research, Elsevier, vol. 258(2), pages 743-760.
    7. Bakker, Hannah & Dunke, Fabian & Nickel, Stefan, 2020. "A structuring review on multi-stage optimization under uncertainty: Aligning concepts from theory and practice," Omega, Elsevier, vol. 96(C).
    8. D. Ávila & A. Papavasiliou & N. Löhndorf, 2022. "Parallel and distributed computing for stochastic dual dynamic programming," Computational Management Science, Springer, vol. 19(2), pages 199-226, June.
    9. de Queiroz, Anderson Rodrigo, 2016. "Stochastic hydro-thermal scheduling optimization: An overview," Renewable and Sustainable Energy Reviews, Elsevier, vol. 62(C), pages 382-395.
    10. Lee, Jinkyu & Bae, Sanghyeon & Kim, Woo Chang & Lee, Yongjae, 2023. "Value function gradient learning for large-scale multistage stochastic programming problems," European Journal of Operational Research, Elsevier, vol. 308(1), pages 321-335.
    11. Somayeh Moazeni & Thomas F. Coleman & Yuying Li, 2016. "Smoothing and parametric rules for stochastic mean-CVaR optimal execution strategy," Annals of Operations Research, Springer, vol. 237(1), pages 99-120, February.
    12. Davi Valladão & Thuener Silva & Marcus Poggi, 2019. "Time-consistent risk-constrained dynamic portfolio optimization with transactional costs and time-dependent returns," Annals of Operations Research, Springer, vol. 282(1), pages 379-405, November.
    13. Rudloff, Birgit & Street, Alexandre & Valladão, Davi M., 2014. "Time consistency and risk averse dynamic decision models: Definition, interpretation and practical consequences," European Journal of Operational Research, Elsevier, vol. 234(3), pages 743-750.
    14. A. B. Philpott & V. L. Matos & L. Kapelevich, 2018. "Distributionally robust SDDP," Computational Management Science, Springer, vol. 15(3), pages 431-454, October.
    15. Schur, Rouven & Gönsch, Jochen & Hassler, Michael, 2019. "Time-consistent, risk-averse dynamic pricing," European Journal of Operational Research, Elsevier, vol. 277(2), pages 587-603.
    16. Shapiro, Alexander, 2021. "Tutorial on risk neutral, distributionally robust and risk averse multistage stochastic programming," European Journal of Operational Research, Elsevier, vol. 288(1), pages 1-13.
    17. Zhou, Shaorui & Zhang, Hui & Shi, Ning & Xu, Zhou & Wang, Fan, 2020. "A new convergent hybrid learning algorithm for two-stage stochastic programs," European Journal of Operational Research, Elsevier, vol. 283(1), pages 33-46.
    18. Wim Ackooij & Welington Oliveira & Yongjia Song, 2019. "On level regularization with normal solutions in decomposition methods for multistage stochastic programming problems," Computational Optimization and Applications, Springer, vol. 74(1), pages 1-42, September.
    19. Guigues, Vincent & Sagastizábal, Claudia, 2012. "The value of rolling-horizon policies for risk-averse hydro-thermal planning," European Journal of Operational Research, Elsevier, vol. 217(1), pages 129-140.
    20. Philpott, A.B. & de Matos, V.L., 2012. "Dynamic sampling algorithms for multi-stage stochastic programs with risk aversion," European Journal of Operational Research, Elsevier, vol. 218(2), pages 470-483.

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:inm:orijoc:v:33:y:2021:i:1:p:27-33. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    If CitEc recognized a bibliographic reference but did not link an item in RePEc to it, you can help with this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Chris Asher (email available below). General contact details of provider: https://edirc.repec.org/data/inforea.html .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.