Skip to main content
Log in

Adaptive partition-based SDDP algorithms for multistage stochastic linear programming with fixed recourse

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

Abstract

In this paper, we extend the adaptive partition-based approach for solving two-stage stochastic programs with fixed recourse matrix and fixed cost vector to the multistage stochastic programming setting where the stochastic process is assumed to be stage-wise independent. The proposed algorithms integrate the adaptive partition-based strategy with a popular approach for solving multistage stochastic programs, the stochastic dual dynamic programming (SDDP) algorithm, according to two main strategies. These two strategies are distinct from each other in the manner by which they refine the partitions during the solution process. In particular, we propose a refinement outside SDDP strategy whereby we iteratively solve a coarse scenario tree induced by the partitions, and refine the partitions in a separate step outside of SDDP, only when necessary. We also propose a refinement within SDDP strategy where the partitions are refined in conjunction with the machinery of the SDDP algorithm. We then use, within the two different refinement schemes, different tree-traversal strategies which allow us to have some control over the size of the partitions. We performed numerical experiments on a hydro-thermal power generation planning problem. Numerical results show the effectiveness of the proposed algorithms that use the refinement outside SDDP strategy in comparison to the standard SDDP algorithm and algorithms that use the refinement within SDDP strategy.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Data and code availability

The data and code that support the findings of this study are available from the corresponding author upon request.

References

  1. Abrahamson, P.G.: Nested-decomposition approach for solving staircase linear programs. Tech. rep., Stanford Univ., CA (USA). Dept. of Operations Research (1983)

  2. van Ackooij, W., de Oliveira, W., Song, Y.: Adaptive partition-based level decomposition methods for solving two-stage stochastic programs with fixed recourse. INFORMS J. Comput. 30(1), 57–70 (2017)

    Article  MathSciNet  Google Scholar 

  3. van Ackooij, W., de Oliveira, W., Song, Y.: On level regularization with normal solutions in decomposition methods for multistage stochastic programming problems. Comput. Optim. Appl. 74(1), 1–42 (2019)

    Article  MathSciNet  Google Scholar 

  4. Ahmed, S., King, A.J., Parija, G.: A multi-stage stochastic integer programming approach for capacity expansion under uncertainty. J. Global Optim. 26(1), 3–24 (2003)

    Article  MathSciNet  Google Scholar 

  5. Alonso, A., Escudero, L.F., Ortuno, M.T.: A stochastic 0–1 program based approach for the air traffic flow management problem. Eur. J. Oper. Res. 120(1), 47–62 (2000)

    Article  Google Scholar 

  6. Bean, J.C., Birge, J.R., Smith, R.L.: Aggregation in dynamic programming. Oper. Res. 35(2), 215–220 (1987)

    Article  MathSciNet  Google Scholar 

  7. Bellman, R.: Dynamic Programming. Princeton University Press, Princeton (1957)

    MATH  Google Scholar 

  8. Birge, J.R.: Aggregation bounds in stochastic linear programming. Math. Program. 31(1), 25–41 (1985)

    Article  MathSciNet  Google Scholar 

  9. Birge, J.R., Louveaux, F.: Introduction to Stochastic Programming. Springer Science & Business Media, Berlin (2011)

    Book  Google Scholar 

  10. Bomze, I.M., Budinich, M., Pardalos, P.M., Pelillo, M.: The maximum clique problem. In: Du, D.-Z., Pardalos, P.M. (eds.) Handbook of combinatorial optimization, pp. 1–74. Springer, Boston, MA (1999)

  11. Ch, P.G., Werner, R.: Modeling, Measuring and Managing Risk. World Scientific, Singapore (2007)

    MATH  Google Scholar 

  12. Chen, Z.L., Powell, W.B.: Convergent cutting-plane and partial-sampling algorithm for multistage stochastic linear programs with recourse. J. Optim. Theory Appl. 102(3), 497–524 (1999)

    Article  MathSciNet  Google Scholar 

  13. Dunning, I., Huchette, J., Lubin, M.: Jump: a modeling language for mathematical optimization. SIAM Rev. 59(2), 295–320 (2017)

    Article  MathSciNet  Google Scholar 

  14. Dupačová, J.: Portfolio Optimization and Risk Management via Stochastic Programming. Osaka University Press, Osaka (2009)

    Google Scholar 

  15. Dupačová, J., Polívka, J.: Asset-liability management for czech pension funds using stochastic programming. Ann. Oper. Res. 165(1), 5–28 (2009)

    Article  MathSciNet  Google Scholar 

  16. Fhoula, B., Hajji, A., Rekik, M.: Stochastic dual dynamic programming for transportation planning under demand uncertainty. In: 2013 International Conference on Advanced Logistics and Transport, pp. 550–555. IEEE (2013)

  17. Goel, V., Grossmann, I.E.: A stochastic programming approach to planning of offshore gas field developments under uncertainty in reserves. Comput. Chem. Eng. 28(8), 1409–1429 (2004)

    Article  Google Scholar 

  18. Gurobi Optimization, L.: Gurobi optimizer reference manual (2019). http://www.gurobi.com

  19. Hallefjord, Å., Storøy, S.: Aggregation and disaggregation in integer programming problems. Oper. Res. 38(4), 619–623 (1990)

    Article  MathSciNet  Google Scholar 

  20. Herer, Y.T., Tzur, M., Yücesan, E.: The multilocation transshipment problem. IIE Trans. 38(3), 185–200 (2006)

    Article  Google Scholar 

  21. Jardim, D., Maceira, M., Falcao, D.: Stochastic streamflow model for hydroelectric systems using clustering techniques. In: 2001 IEEE Porto Power Tech Proceedings (Cat. No. 01EX502), vol. 3, pp. 6–pp. IEEE (2001)

  22. Kall, P., Wallace, S.W., Kall, P.: Stochastic Programming. Springer, New York (1994)

    MATH  Google Scholar 

  23. Kelley, J.E., Jr.: The cutting-plane method for solving convex programs. J. Soc. Industrial Appl. Math. 8(4), 703–712 (1960)

    Article  MathSciNet  Google Scholar 

  24. Linowsky, K., Philpott, A.B.: On the convergence of sampling-based decomposition algorithms for multistage stochastic programs. J. Optim. Theory Appl. 125(2), 349–366 (2005)

    Article  MathSciNet  Google Scholar 

  25. de Matos, V.L., Morton, D.P., Finardi, E.C.: Assessing policy quality in a multistage stochastic program for long-term hydrothermal scheduling. Ann. Oper. Res. 253(2), 713–731 (2017)

    Article  MathSciNet  Google Scholar 

  26. Homem-de Mello, T., De Matos, V.L., Finardi, E.C.: Sampling strategies and stopping criteria for stochastic dual dynamic programming: a case study in long-term hydrothermal scheduling. Energy Syst. 2(1), 1–31 (2011)

    Article  Google Scholar 

  27. Morton, D.P.: An enhanced decomposition algorithm for multistage stochastic hydroelectric scheduling. Ann. Oper. Res. 64(1), 211–235 (1996)

    Article  MathSciNet  Google Scholar 

  28. de Oliveira, W., Sagastizábal, C.: Level bundle methods for oracles with on-demand accuracy. Optim. Methods Softw. 29(6), 1180–1209 (2014)

    Article  MathSciNet  Google Scholar 

  29. Pantuso, G.: The football team composition problem: a stochastic programming approach. J. Quant. Anal. Sports 13(3), 113–129 (2017)

    Article  Google Scholar 

  30. Pereira, M.V., Granville, S., Fampa, M.H., Dix, R., Barroso, L.A.: Strategic bidding under uncertainty: a binary expansion approach. IEEE Trans. Power Syst. 20(1), 180–188 (2005)

    Article  Google Scholar 

  31. Pereira, M.V., Pinto, L.M.: Multi-stage stochastic optimization applied to energy planning. Math. Program. 52(1–3), 359–375 (1991)

    Article  MathSciNet  Google Scholar 

  32. Philpott, A.B., Guan, Z.: On the convergence of stochastic dual dynamic programming and related methods. Oper. Res. Lett. 36(4), 450–455 (2008)

    Article  MathSciNet  Google Scholar 

  33. Rebennack, S.: Combining sampling-based and scenario-based nested benders decomposition methods: application to stochastic dual dynamic programming. Math. Program. 156(1–2), 343–389 (2016)

    Article  MathSciNet  Google Scholar 

  34. Rogers, D.F., Plante, R.D., Wong, R.T., Evans, J.R.: Aggregation and disaggregation techniques and methodology in optimization. Oper. Res. 39(4), 553–582 (1991)

    Article  MathSciNet  Google Scholar 

  35. Rosa, C.H., Takriti, S.: Improving aggregation bounds for two-stage stochastic programs. Oper. Res Lett. 24(3), 127–137 (1999)

    Article  MathSciNet  Google Scholar 

  36. Shapiro, A.: Analysis of stochastic dual dynamic programming method. Eur. J. Oper. Res. 209(1), 63–72 (2011)

    Article  MathSciNet  Google Scholar 

  37. Shapiro, A., Dentcheva, D., Ruszczyński, A.: Lectures on Stochastic Programming: Modeling and Theory, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia, PA (2014)

    Book  Google Scholar 

  38. Shapiro, A., Tekaya, W., da Costa, J.P., Soares, M.P.: Risk neutral and risk averse stochastic dual dynamic programming method. Eur. J. Oper. Res. 224(2), 375–391 (2013)

    Article  MathSciNet  Google Scholar 

  39. van Slyke, R.M., Wets, R.: L-shaped linear programs with applications to optimal control and stochastic programming. SIAM J. Appl. Math. 17(4), 638–663 (1969)

    Article  MathSciNet  Google Scholar 

  40. Song, Y., Luedtke, J.: An adaptive partition-based approach for solving two-stage stochastic programs with fixed recourse. SIAM J. Optim. 25(3), 1344–1367 (2015)

    Article  MathSciNet  Google Scholar 

  41. Trukhanov, S., Ntaimo, L., Schaefer, A.: Adaptive multicut aggregation for two-stage stochastic linear programs with recourse. Eur. J. Oper. Res. 206(2), 395–406 (2010)

    Article  Google Scholar 

  42. Wittrock, R.J.: Advances in a nested decomposition algorithm for solving staircase linear programs. Tech. rep., Stanford Univ., CA (USA). Dept. of Operations Research (1984)

  43. Wright, S.: Primal-dual aggregation and disaggregation for stochastic linear programs. Math. Oper. Res. 19(4), 893–908 (1994)

    Article  MathSciNet  Google Scholar 

  44. Zipkin, P.H.: Bounds for row-aggregation in linear programming. Oper. Res. 28(4), 903–916 (1980)

    Article  MathSciNet  Google Scholar 

  45. Zipkin, P.H.: Bounds on the effect of aggregating variables in linear programs. Oper. Res. 28(2), 403–418 (1980)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

We would like to acknowledge the coordinating editor and two anonymous referees for their constructive suggestions that considerably improved the original version of this article. Clemson University is acknowledged for generous allotment of compute time on Palmetto cluster. The authors acknowledge partial support by the National Science Foundation [Grant CMMI 1854960]. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongjia Song.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

A summary of notation

See Table 8.

Table 8 Summary of notations

B Proof of Proposition 1

Proposition 2

Convergence of the partition-based SDDP algorithms Suppose that Assumptions 14hold, sampling is done with replacement in the SDDP algorithm, and the employed partition refinement rule ensures that the number of clusters \(L_t\) of the refined partition strictly increases whenever \(\check{{\bar{\mathfrak {Q}}}}_t({\check{x}}_{t-1}) \ne \mathbb {E}[{\underline{Q}}_t({\check{x}}_{t-1},\xi _t)]\) (see definitions in Eqs. (16), (17), (22) and (25)) for any stage t unless \(L_t = N_t\). Then w.p.1 after a finite number of forward and backward steps, the algorithm yields an optimal policy for (2).

Proof

Let us first consider the trivial but sufficient partition with all singletons \({\mathscr {N}}^{\max }_t = \{\{k\}_{k \in N_t}\}\) and \(\check{{\bar{\mathfrak {Q}}}}^{{\max } }_t(\cdot )\) be its respective approximation of \(\mathfrak {Q}_t(\cdot )\). By definition, we have that \(\check{{\bar{\mathfrak {Q}}}}^{{\max } }_t(\cdot ) = {\check{\mathfrak {Q}}}_t(\cdot )\). Hence, if \({\mathscr {N}}_t = {\mathscr {N}}^{\max }_t\) for every stage \(t=2, \dots , T\) then the partition-based variant of the SDDP algorithm is equivalent to the standard SDDP algorithm and the classical convergence proofs of SDDP apply (see, e.g., [36, Proposition 3.1]).

Let us now consider the situation where \({\mathscr {N}}_t \ne {\mathscr {N}}^{\max }_t\). Our goal is to show that for any arbitrary sample path \(\xi ^s = (\xi _2^{s_2}, \ldots , \xi _T^{s_T})\), the forward/backward pass of the adaptive partition-based SDDP algorithms will either yield a partition \({\mathscr {N}}_t={\mathscr {N}}^{\max }_t\), or a sufficient partition such that \(\check{{\bar{\mathfrak {Q}}}}_t(\cdot ) = {\check{\mathfrak {Q}}}_t(\cdot ), \ \forall t=2,\dots ,T\) along sample path \(\xi ^s\). In both cases, employing the adaptive partition-based SDDP algorithms over the sample path \(\xi ^s\) is equivalent to the standard SDDP algorithm. We show this by using a backward induction argument as follows.

  • Let \({\check{x}}_t = {\check{x}}_t (\xi ^{s_t}_t), \forall t=1, \dots , T-1\) be the candidate solution induced by the approximate cost-to-go function \(\check{{\bar{\mathfrak {Q}}}}_t(\cdot )\) along \(\xi ^s\). At stage \(t=T\) the candidate solution \({\check{x}}_{T-1}\) is evaluated at every partition-based subproblem (21) and by Lemma 1 we know that, if there exists an optimal \(\check{{\bar{\pi }}}^\ell _{T} \in \cap _{k \in \mathscr {P}^\ell _T} \Pi ^*({\check{x}}_{T-1}, {\bar{\xi }}^k_T)\) then \({\mathscr {N}}_T\) is sufficient and \(\check{{\bar{\mathfrak {Q}}}}_T({\check{x}}_{T-1}) = {\check{\mathfrak {Q}}}_T({\check{x}}_{T-1})\). Otherwise, \(\check{{\bar{\mathfrak {Q}}}}_T({\check{x}}_{T-1}) < {\check{\mathfrak {Q}}}_T({\check{x}}_{T-1})\) and \({\mathscr {N}}_T\) needs to be refined. The case where \(\check{{\bar{\mathfrak {Q}}}}_T({\check{x}}_{T-1}) = {\check{\mathfrak {Q}}}_T({\check{x}}_{T-1})\) is degenerate and hence, we focus on the case where \(\check{{\bar{\mathfrak {Q}}}}_T({\check{x}}_{T-1}) < {\check{\mathfrak {Q}}}_T({\check{x}}_{T-1})\). After refining \({\mathscr {N}}_T\) using the absolute rule, a cut can be generated to the subproblem at stage \(t=T-1\) using the refined partition \({\mathscr {N}}'_T\) whose size \(L'_t > L_t\). Then an updated candidate solution \({\check{x}}'_{T-1}\) can be obtained by solving \({\underline{Q}}_{T-1}({\check{x}}_{T-2}, \xi _{T-1}^s)\). If there still exists a positive gap between \(\check{{\bar{\mathfrak {Q}}}}'_T(\cdot )\) and \({\check{\mathfrak {Q}}}_T(\cdot )\) when evaluated at the updated candidate solution \({\check{x}}'_{T-1}\), the same process can be repeated again until \(\check{{\bar{\mathfrak {Q}}}}'_T(\cdot ) = {\check{\mathfrak {Q}}}_T(\cdot )\) for all the candidate solutions encountered or \({\mathscr {N}}'_T = {\mathscr {N}}^{\max }_T\).

  • Suppose now that \(\check{{\bar{\mathfrak {Q}}}}_t({\check{x}}_{t-1}) = {\check{\mathfrak {Q}}}_t({\check{x}}_{t-1})\) or \({\mathscr {N}}_t = {\mathscr {N}}^{\max }_t\) for all \(t= T-1, \dots , \tau +1\). At time \(t=\tau \), similarly to the case when \(t=T\), the candidate solution \({\check{x}}_{\tau -1}\) is evaluated at every partition-based subproblem (24) and if \({\mathscr {N}}_{\tau }\) is not sufficient, the absolute refinement procedure is followed until \(\check{{\bar{\mathfrak {Q}}}}'_{\tau }({\check{x}}_{\tau -1}) = {\check{\mathfrak {Q}}}_{\tau }({\check{x}}_{\tau -1})\) or \({\mathscr {N}}'_{\tau } = {\mathscr {N}}^{\max }_{\tau }\).

Since (by assumption) the sampling is done with replacement, we are guaranteed that each sample path \(\xi ^s\) is sampled for infinitely many times with probability 1. Therefore, with probability 1, after a finite number of iterations, for any arbitrary sample path \(\xi ^s\), \(\check{{\bar{\mathfrak {Q}}}}_t(\cdot ) = {\check{\mathfrak {Q}}}_t(\cdot )\) or \({\mathscr {N}}_t = {\mathscr {N}}^{\max }_t, \forall t=2, \dots , T\). At that point, employing the adaptive partition-based SDDP algorithms over sample path \(\xi ^s\) is equivalent to employing the standard SDDP algorithm, and the convergence of the adaptive partition-based SDDP algorithms can be subsequently proved by applying the convergence proof of the standard SDDP algorithm. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Siddig, M., Song, Y. Adaptive partition-based SDDP algorithms for multistage stochastic linear programming with fixed recourse. Comput Optim Appl 81, 201–250 (2022). https://doi.org/10.1007/s10589-021-00323-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10589-021-00323-1

Keywords

Navigation