, Volume 23, Issue 3, pp 703–742 | Cite as

On parallelization of a stochastic dynamic programming algorithm for solving large-scale mixed 0–1 problems under uncertainty

  • Unai Aldasoro
  • Laureano F. Escudero
  • María Merino
  • Juan F. Monge
  • Gloria Pérez
Original Paper


A parallel computing implementation of a Serial Stochastic Dynamic Programming approach referred to as the S-SDP algorithm is introduced to solve large-scale multiperiod mixed 0–1 optimization problems under uncertainty. The paper presents Inner and Outer Parallelization versions of the S-SDP algorithm, referred to as Inner P-SDP and Outer P-SDP, respectively, so that the problem solving elapsed time and gap reduction is analyzed. The basic idea of Inner P-SDP consists of parallelizing the optimization of variations of the MIP subproblems attached to the sets of scenario clusters created by the modeler-defined stages to decompose the original problem. The Outer P-SDP performs simultaneous interconnected executions of the serial algorithm, so that a wider feasibility area is explored using iterative communication to redefine search directions. Strategies are presented to analyze the performance of parallel computation based on Message-Passing Interface threads to solve stage-related subproblems versus the serial version of SDP methodology. The results of using the parallelization are remarkable, as not only faster but also better solutions than the serial version are obtained. In particular, we report up to 10 times speedup for 12 threads on the Inner P-SDP algorithm. The new approach allows problems to be solved using less computing time than a state-of-the-art MIP solver. It can thus solve very large-scale problems that could not otherwise be achieved by plain use of the solver or by the S-SDP algorithm in acceptable elapsed time, if any.


Stochastic dynamic programming Inner and outer parallelization Multistage stochastic mixed 0–1 optimization Parallel computing Message-passing interface 

Mathematics Subject Classification

90C15 90C39 90C06 90C11 68W10 68Y05 


  1. Al-Khamisl T, M’Hallah R (2011) A two-stage stochastic programming model for the parallel machine scheduling problem with machine capacity. Comput Oper Res 38:1747–1759CrossRefGoogle Scholar
  2. Aldasoro U, Escudero LF, Merino M, Pérez G (2013) An algorithmic framework for solving large-scale multistage stochastic mixed 0–1 problems with nonsymmetric scenario trees. Part II: Parallelization. Comput Oper Res 40:2950–2960CrossRefGoogle Scholar
  3. ARINA (2015) Cluster IZO-SGI, SGIker (UPV/EHU).
  4. Benders J (1962) Partitioning procedures for solving mixed variables programming problems. Manag Sci 1:238–252Google Scholar
  5. Beraldi P, Grandinetti L, Musmanno R, Trik C (2000) Parallel algorithms to solve two-stage stochastic linear programs with robustness constraints. Parallel Comput 26:1889–1908CrossRefGoogle Scholar
  6. Birge JR (1985) Decomposition and partitioning methods for multistage stochastic linear programs. Oper Res 33:989–1007CrossRefGoogle Scholar
  7. Birge JR (1997) Stochastic programming computation and applications. INFORMS J Comput 9:111–133CrossRefGoogle Scholar
  8. Birge JR, Donohue CJ, Holmes DF, Svintsitski O (1996) A parallel implementation of the nested decomposition algorithm for multistage stochastic linear programs. Math Program 75:327–352Google Scholar
  9. Birge JR, Louveaux FV (2011) Introduction to stochastic programming, 2nd edn. Springer, BerlinGoogle Scholar
  10. Blomval J, Lindberg P (2002) A Riccati-based primal interior point solver for multistage stochastic programming. Eur J Oper Res 143:452–461CrossRefGoogle Scholar
  11. Conejo AJ, Castillo E, Mínguez R, García-Bertrand R (2006) Decomposition techniques in mathematical programming. Engineering and science applications. Springer, BerlinGoogle Scholar
  12. Cristobal MP, Escudero LF, Monge JF (2009) On stochastic dynamic programming for solving large-scale production planning problems under uncertainty. Comput Oper Res 36:2418–2428CrossRefGoogle Scholar
  13. Culler DE, Gupta A, Singh JP (1997) Parallel computer architecture: a hardware/software approach, 1st edn. Morgan Kaufmann Publishers Inc., San FranciscoGoogle Scholar
  14. Dempster MAH, Thompson RT (1998) Parallelization and aggregation of nested Benders decomposition. Ann Oper Res 81:163–188CrossRefGoogle Scholar
  15. Dias B, Tomin M, Mercato A, Ramos T, Brandi R da, Silva jr IC, Filho JAP (2013) Parallel computing applied to stochastic dynamic programming for long term operation planning of hydrothermal power systems. Eur J Oper Res 229:212–222Google Scholar
  16. Escudero LF, de la Fuente J, García C, Prieto F (1999) A parallel computation approach for solving multistage stochastic network problems. Ann Oper Res 90:1–21CrossRefGoogle Scholar
  17. Escudero LF, Garín MA, Merino M, Pérez G (2010) On an exact algorithm for solving large-scale two-stage stochastic mixed-integer problems: theoretical and computational aspects. Eur J Oper Res 204:105–116CrossRefGoogle Scholar
  18. Escudero LF, Garín MA, Merino M, Pérez G (2012) An algorithmic framework for solving large-scale multistage stochastic mixed 0–1 problems with nonsymmetric scenario trees. Comput Oper Res 39:1133–1144CrossRefGoogle Scholar
  19. Escudero LF, Garín MA, Merino M, Pérez G (2015) On time stochastic dominance induced by mixed integer-linear recourse in multistage stochastic programs (submitted)Google Scholar
  20. Escudero LF, Garín MA, Pérez G, Unzueta A (2013) Scenario cluster decomposition of the lagrangian dual in stochastic mixed 0–1 optimization. Comput Oper Res 40:362–377Google Scholar
  21. Escudero LF, Monge JF, Morales DR (2015) An sdp approach for multiperiod mixed 0–1 linear programming models with stochastic dominance constraints for risk management. Comput Oper Res 58:32–40Google Scholar
  22. Escudero LF, Monge JF, Morales DR, Wang J (2013) Expected future value decomposition based bid price generation for large-scale network revenue management. Transp Sci 47:181–197CrossRefGoogle Scholar
  23. Hennessy JL, Patterson DA (2003) Computer architecture: a quantitative approach. Morgan Kaufmann Publishers Inc., San FranciscoGoogle Scholar
  24. Latorre JM, Cerisola S, Ramos A, Palacios R (2009) Analysis of stochastic problem decomposition algorithms in computational grids. Ann Oper Res 166:355–379CrossRefGoogle Scholar
  25. Li X, Wei J, Li T, Wang G, Yeh WG (2014) A parallel dynamic programming algorithm for multi-reservoir system optimization. Adv Water Resour 67:1–15CrossRefGoogle Scholar
  26. Linderoth J, Shapiro A, Wright S (2006) The empirical behavior of sampling methods for stochastic programming. Ann Oper Res 142:215–241CrossRefGoogle Scholar
  27. Linderoth JT, Wright S (2008) Decomposition algorithms for stochastic programming on a computational grid. Tech. rep, Mathematics and Computer Science Division, Argonne National Laboratory, ChicagoGoogle Scholar
  28. Lumbreras S (2014) Decision support methods for large-scale flexible transmission expansion planning. Ph.D. thesis, Institute of Investigación Tecnológica. Universidad Pontificia de Comillas, MadridGoogle Scholar
  29. Mahlke D (2011) A scenario tree-based decomposition for solving multistage stochastic programs with application in energyproduction. Springer, BerlinGoogle Scholar
  30. Pacheco PS (1996) Parallel programming with MPI. Morgan Kaufmann Publishers, San FranciscoGoogle Scholar
  31. Pereira M, Pinto L (1991) Multistage stochastic optimization applied to energy planning. Math Program 52:359–375CrossRefGoogle Scholar
  32. Plaza A, Pagnoncelli B (2014) The optimal harvesting problem under price uncertainty. Ann Oper Res 217:425–445CrossRefGoogle Scholar
  33. Römisch W, Schultz R (2001) Multi-stage stochastic integer programs. An introduction. In: Groetschel M, Krumle SO, Rambau H (eds) Online Optimization of Large Scale Systems, pp 581–600. Springer, BerlinGoogle Scholar
  34. Ross S (1995) Introduction to stochastic dynamic programming. Academic PressGoogle Scholar
  35. Ruszczynski AP (1993) Parallel decomposition of multistage stochastic programming problems. Math Program 58:201–228CrossRefGoogle Scholar
  36. Shapiro A, Tekaya W, da Costa JP, Soares MP (2013) Risk neutral and risk averse stochastic dual dynamic programming method. Eur J Oper Res 224:375–391CrossRefGoogle Scholar
  37. Snir M, Otto S, Walker D, Dongarra J, Huss-Lederman S (1995) MPI: the complete reference. MIT Press, CambridgeGoogle Scholar
  38. Stivala A, Stuckey PJ, de la Banda MG, Hermenegildo M, Wirth A (2010) Lock-free parallel dynamic programming. J Parallel Distributed Comput 70(8):839–848CrossRefGoogle Scholar
  39. Vladimirou H (1998) Computational assessment of distributed decomposition methods for stochastic linear programs. Eur J Oper Res 108:653–670CrossRefGoogle Scholar
  40. Vladimirou H, Zenios S (1999) Scalable parallel computations for large-scale stochastic programming. Ann Oper Res 90:87–129CrossRefGoogle Scholar
  41. Zhang Z, Zhang S, Wang Y, Jiang Y, Wang H (2013) Use of parallel deterministic dynamic programming and hierarchical adaptive genetic algorithm for reservoir operation optimization. Comput Ind Eng 65(2):310–321CrossRefGoogle Scholar

Copyright information

© Sociedad de Estadística e Investigación Operativa 2015

Authors and Affiliations

  • Unai Aldasoro
    • 1
  • Laureano F. Escudero
    • 2
  • María Merino
    • 3
  • Juan F. Monge
    • 4
  • Gloria Pérez
    • 3
  1. 1.Dpto. de Matemática AplicadaUniversidad del País VascoLeioaSpain
  2. 2.Dpto. de Estadística e Investigación OperativaUniversidad Rey Juan CarlosMadridSpain
  3. 3.Dpto. de Matemática Aplicada, Estadística e Investigación OperativaUniversidad del País VascoLeioaSpain
  4. 4.Centro de Investigación OperativaUniversidad Miguel HernándezElcheSpain

Personalised recommendations