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.
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
Abrahamson, P.G.: Nested-decomposition approach for solving staircase linear programs. Tech. rep., Stanford Univ., CA (USA). Dept. of Operations Research (1983)
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)
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)
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)
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)
Bean, J.C., Birge, J.R., Smith, R.L.: Aggregation in dynamic programming. Oper. Res. 35(2), 215–220 (1987)
Bellman, R.: Dynamic Programming. Princeton University Press, Princeton (1957)
Birge, J.R.: Aggregation bounds in stochastic linear programming. Math. Program. 31(1), 25–41 (1985)
Birge, J.R., Louveaux, F.: Introduction to Stochastic Programming. Springer Science & Business Media, Berlin (2011)
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)
Ch, P.G., Werner, R.: Modeling, Measuring and Managing Risk. World Scientific, Singapore (2007)
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)
Dunning, I., Huchette, J., Lubin, M.: Jump: a modeling language for mathematical optimization. SIAM Rev. 59(2), 295–320 (2017)
Dupačová, J.: Portfolio Optimization and Risk Management via Stochastic Programming. Osaka University Press, Osaka (2009)
Dupačová, J., Polívka, J.: Asset-liability management for czech pension funds using stochastic programming. Ann. Oper. Res. 165(1), 5–28 (2009)
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)
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)
Gurobi Optimization, L.: Gurobi optimizer reference manual (2019). http://www.gurobi.com
Hallefjord, Å., Storøy, S.: Aggregation and disaggregation in integer programming problems. Oper. Res. 38(4), 619–623 (1990)
Herer, Y.T., Tzur, M., Yücesan, E.: The multilocation transshipment problem. IIE Trans. 38(3), 185–200 (2006)
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)
Kall, P., Wallace, S.W., Kall, P.: Stochastic Programming. Springer, New York (1994)
Kelley, J.E., Jr.: The cutting-plane method for solving convex programs. J. Soc. Industrial Appl. Math. 8(4), 703–712 (1960)
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)
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)
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)
Morton, D.P.: An enhanced decomposition algorithm for multistage stochastic hydroelectric scheduling. Ann. Oper. Res. 64(1), 211–235 (1996)
de Oliveira, W., Sagastizábal, C.: Level bundle methods for oracles with on-demand accuracy. Optim. Methods Softw. 29(6), 1180–1209 (2014)
Pantuso, G.: The football team composition problem: a stochastic programming approach. J. Quant. Anal. Sports 13(3), 113–129 (2017)
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)
Pereira, M.V., Pinto, L.M.: Multi-stage stochastic optimization applied to energy planning. Math. Program. 52(1–3), 359–375 (1991)
Philpott, A.B., Guan, Z.: On the convergence of stochastic dual dynamic programming and related methods. Oper. Res. Lett. 36(4), 450–455 (2008)
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)
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)
Rosa, C.H., Takriti, S.: Improving aggregation bounds for two-stage stochastic programs. Oper. Res Lett. 24(3), 127–137 (1999)
Shapiro, A.: Analysis of stochastic dual dynamic programming method. Eur. J. Oper. Res. 209(1), 63–72 (2011)
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)
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)
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)
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)
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)
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)
Wright, S.: Primal-dual aggregation and disaggregation for stochastic linear programs. Math. Oper. Res. 19(4), 893–908 (1994)
Zipkin, P.H.: Bounds for row-aggregation in linear programming. Oper. Res. 28(4), 903–916 (1980)
Zipkin, P.H.: Bounds on the effect of aggregating variables in linear programs. Oper. Res. 28(2), 403–418 (1980)
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
Corresponding author
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.
B Proof of Proposition 1
Proposition 2
Convergence of the partition-based SDDP algorithms Suppose that Assumptions 1–4hold, 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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10589-021-00323-1