Abstract
In hydro predominant systems, the long-term hydrothermal scheduling problem (LTHS) is formulated as a multistage stochastic programming model. A classical optimization technique to obtain an operational policy is the stochastic dual dynamic programming (SDDP), which employs a forward step, for generating trial state variables, and a backward step to construct Benders-like cuts. To assess the quality of the obtained policy (the cuts obtained over the iterations), a confidence interval is computed on the optimality gap. As the SDDP is a cutting-plane based method, it exhibits slow convergence in large-scale problems. To improve computational efficiency, we explore different regions in which the cuts are usually constructed by the classical algorithm. For that, the cuts in the forward step are translated using ideas related to the definition of Chebyshev centers of certain polyhedrons. Essentially, the cuts are lifted by a parameter that vanishes along with iterations without harming the convergence analysis. The proposed technique is assessed on an instance of the Brazilian LTHS problem with individualized monthly decisions per plant, indicating a higher policy quality in comparison with the classical approach, since it computes lower optimality gaps throughout the iterative process.
Similar content being viewed by others
Notes
The random vector ξt+1 is independent from ξ[t] = (ξ1,…,ξt) (the history of the data up to time t). In this case, \(\mathbb{E}\)|ξt[∙] becomes simply \(\mathbb{E}\)[∙].
In this notation, pj is the probability associated with scenario ξj.
We use the Euclidean norm, i.e. \(\left\| {(1,c_{t} + \upbeta_{t + 1}^{j} )} \right\|_{*} = \sqrt {1 + \left\| {c_{t} + \upbeta_{t + 1}^{j} } \right\|_{2}^{2} }\).
Unit of energy related to the constant operation of a MW capacity for a period.
The constant K0 = 2.592 converts flow to volume considering a 1-month time step.
According to Shapiro (2011), an appropriate stopping criterion is the stabilization method, being less optimistic than Pereira and Pinto (1991). However, the stabilization does not imply that the problem is solved to optimality, it only means that the current policy (cost-to-go-functions) is not improving meaningfully with new trial points.
References
Arvanitidis NV, Rosing J (1970) Optimal operation of multireservoir systems using a composite representation. IEEE Trans Power Appar Syst PAS 89:327–335
Asamov T, Powell W (2018) Regularized decomposition of high-dimensional multistage stochastic programs with Markov uncertainty. SIAM J Optim 28:575–595. https://doi.org/10.1137/16M1072231
Bayraksan G, Morton DP (2006) Assessing solution quality in stochastic programs. Math Program 108:495–514. https://doi.org/10.1007/s10107-006-0720-x
Brandi RBS, Marcato ALM, Dias BH, Ramos TP, Junior ICS (2017) A convergence criterion for stochastic dual dynamic programming: application to the long-term operation planning problem. IEEE Trans Power Syst. https://doi.org/10.1109/TPWRS.2017.2787462
Carpentier PL, Gendreau M, Bastin F (2015) Managing hydroelectric reservoirs over an extended horizon using benders decomposition with a memory loss assumption. IEEE Trans Power Syst 30:563–572. https://doi.org/10.1109/TPWRS.2014.2332402
Chen ZL, Powell WB (1999) Convergent cutting-plane and partial-sampling algorithm for multistage stochastic linear programs with recourse. J Optim Theory Appl 102:497–524. https://doi.org/10.1023/A:1022641805263
de Matos V, Philpott A, Finardi EC, Guan Z (2011) Solving long-term hydro-thermal scheduling problems, Sweden, pp 1355–1362
de Matos VL, Philpott AB, Finardi EC (2015) Improving the performance of stochastic dual dynamic programming. J Comput Appl Math 290:196–208. https://doi.org/10.1016/j.cam.2015.04.048
de Matos V, Morton DP, Finardi EC (2017) Assessing policy quality in a multistage stochastic program for long-term hydrothermal scheduling. Ann Oper Res 253:713–731. https://doi.org/10.1007/s10479-016-2107-6
de Oliveira W (2017) Target radius methods for nonsmooth convex optimization. Oper Res Lett 45:659–664. https://doi.org/10.1016/j.orl.2017.10.010
Donohue CJ, Birge JR (2006) The abridged nested decomposition method for multistage stochastic linear programs with relatively complete recourse. Algorithm Oper Res 1:20–30
Dupačová J (2009) Portfolio optimization and risk management via stochastic programming. Osaka University Publishing Co., Osaka
Elzinga J, Moore TG (1975) A central cutting plane algorithm for the convex programming problem. Math Program 8:134–145. https://doi.org/10.1007/BF01580439
Finardi EC, Decker BU, de Matos VL (2013) An introductory tutorial on stochastic programming using a long-term hydrothermal scheduling problem. J Control Autom Electr Syst 24:361–376. https://doi.org/10.1007/s40313-013-0039-9
Gjerden KS, Helseth A, Mo B, Warland G (2015) Hydrothermal scheduling in Norway using stochastic dual dynamic programming; a large-scale case study. In: PowerTech, 2015 IEEE Eindhoven, pp 1–6
Goel V, Grossmann IE (2004) A stochastic programming approach to planning of offshore gas field developments under uncertainty in reserves. Comput Chem Eng 28:1409–1429. https://doi.org/10.1016/j.compchemeng.2003.10.005
Hernandez HM, Diaz JA, Sanchex GA, Olarte A (1991) Operations planning of Colombian hydro-thermal interconnected system. IEEE Trans Power Syst 6:778–786. https://doi.org/10.1109/59.76725
Hindsberger M, Philpott A (2001) Resa: a method for solving multistage stochastic linear programs. Berlin
Hochreiter R, Pflug GC (2007) Financial scenario generation for stochastic multi-stage decision processes as facility location problems. Ann Oper Res 152:257–272. https://doi.org/10.1007/s10479-006-0140-6
Homem-de-Mello T, de Matos VL, Finardi EC (2011) Sampling strategies and stopping criteria for stochastic dual dynamic programming: a case study in long-term hydrothermal scheduling. Energy Syst 2:1–31. https://doi.org/10.1007/s12667-011-0024-y
Kelley JJ (1960) The cutting-plane method for solving convex programs. J Soc Ind Appl Math 8:703–712. https://doi.org/10.1137/0108053
Lima LMM, Popova E, Damien P (2014) Modeling and forecasting of Brazilian reservoir inflows via dynamic linear models. Int J Forecast 30:464–476. https://doi.org/10.1016/j.ijforecast.2013.12.009
Maceira MEP, Penna DDJ, Diniz AL, Pinto RJ, Melo ACG, Vasconcellos CV, Cruz CB (2018) Twenty years of application of stochastic dual dynamic programming in official and agent studies in Brazil-Main features and improvements on the NEWAVE Model. In: 2018 power systems computation conference (PSCC), pp 1–7
Nandalal KDW, Bogardi JJ (2007) Dynamic programming based operation of reservoirs: applicability and limits. In: Cambridge Core. Accessed 19 Apr 2018
Nesterov Y (2004) Introductory lectures on convex optimization: a basic course. Springer, New York
Ouorou A (2009) A proximal cutting plane method using Chebychev center for nonsmooth convex optimization. Math Program 119:239. https://doi.org/10.1007/s10107-008-0209-x
Pereira MVF, Pinto LMVG (1991) Multi-stage stochastic optimization applied to energy planning. Math Program 52:359–375. https://doi.org/10.1007/BF01582895
Philpott AB, de Matos VL (2012) Dynamic sampling algorithms for multi-stage stochastic programs with risk aversion. Eur J Oper Res 218:470–483. https://doi.org/10.1016/j.ejor.2011.10.056
Ruszczyński A, Shapiro A (2003) Handbooks in operations research and management science. Elsevier, Amsterdam
Ruszczyński A, Świȩtanowski A (1997) Accelerating the regularized decomposition method for two stage stochastic linear problems. Eur J Oper Res 101:328–342. https://doi.org/10.1016/S0377-2217(96)00401-8
Sen S, Zhou Z (2014) Multistage stochastic decomposition: a bridge between stochastic programming and approximate dynamic programming. SIAM J Optim 24:127–153. https://doi.org/10.1137/120864854
Shapiro A (2011) Analysis of stochastic dual dynamic programming method. Eur J Oper Res 209:63–72. https://doi.org/10.1016/j.ejor.2010.08.007
Shapiro A, Philpott A (2007) Tutorial on stochastic programming
Shapiro A, Tekaya W, Da Costa JP, Soares MP (2011) Report for technical cooperation between Georgia Institute of Technology and ONS-Operador Nacional do Sistema Elétrico
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–391. https://doi.org/10.1016/j.ejor.2012.08.022
Soares MP, Street A, Valladão DM (2017) On the solution variability reduction of Stochastic Dual Dynamic Programming applied to energy planning. Eur J Oper Res 258:743–760. https://doi.org/10.1016/j.ejor.2016.08.068
Tilmant A, Kelman R (2007) A stochastic approach to analyze trade-offs and risks associated with large-scale water resources systems. Water Resour Res 43:W06425. https://doi.org/10.1029/2006WR005094
van Ackooij W, de Oliveira W, Song Y (2019) On level regularization with normal solutions in decomposition methods for multistage stochastic programming problems. Comput Optim Appl 74:1–42. https://doi.org/10.1007/s10589-019-00104-x
Acknowledgements
The authors gratefully acknowledge the associate editor and anonymous referees for their constructive suggestions that improved the original version of this article. This research has the financial support of CNPq. The fourth author acknowledges financial support from the Gaspard-Monge program for Optimization and Operations Research (PGMO) project “Models for planning energy investment.”
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.
Appendix
Appendix
In this section, we present the proof of Proposition 1. For this case, it is convenient to alternatively rewrite (2) as:
Let (x Kt , s Kt ) be an optimal solution for this LP (K standing for Kelley iterates). Note that \(s_{t}^{K} = \underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} (\bar{x}_{t - 1} ,\upxi_{t} )\), which is the optimal value of (2). If \(s_{t}^{K} < \bar{z}(\upxi_{[t]} )\), it is consistent to remark that (xt, st, σt, wt) = (x Kt , s Kt , 0, 0) is feasible for (5). On the other hand, (xt, st, σt, wt) = (x Kt , s Kt , \(\bar{z}(\upxi_{[t]} ) - s_{t}^{K}\), 0) is feasible for (5) if \(s_{t}^{K} \ge \bar{z}(\upxi_{[t]} )\). The second constraint in (5) yields \(\bar{z}(\upxi_{[t]} ) \ge \upsigma_{t} + s_{t} \ge \upsigma_{t} + s_{t}^{K}\), showing that the objective function σt of (5) is bounded from above by \(\bar{z}(\upxi_{[t]} ) - s_{t}^{K}\). As a result, LP (5) has an optimal solution whenever \(\bar{z}(\upxi_{[t]} )\) is finite, provided (2) has a solution. This proves item (1) of Preposition 1. Suppose \(\bar{z}(\upxi_{[t]} ) \le s_{t}^{K} ( = \underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} (\bar{x}_{t - 1} ,\upxi_{t} ))\) and let (x Ct , s Ct , σ Ct , w Ct ) (C standing for Chebyshev) be a solution of (5), ensured to exist by item (1). It follows from the constraints of (5), the nonnegativity of wt and the definition of (x Kt , s Kt ) that
Therefore, it follows from the second constraint of (5) that \(\bar{z}(\upxi_{[t]} ) - s_{t}^{C} \le s_{t}^{K} - s_{t}^{C} \le 0\). As shown in the proof of item (1), (x Kt , s Kt , \(\bar{z}(\upxi_{[t]} ) - s_{t}^{K}\), 0) is feasible for (5). Consequently, \(\bar{z}(\upxi_{[t]} ) - s_{t}^{K} \le \upsigma_{t}^{C} \le \bar{z}(\upxi_{[t]} ) - s_{t}^{c}\), revealing [through (21)] that s Kt = s Ct . This equality inserted in (5) gives w Ct = 0. Thus, we have shown that (x Ct , s Ct , σ Ct , w Ct ) = (x Ct , s Kt , \(\bar{z}(\upxi_{[t]} ) - s_{t}^{K}\), 0), therefore
Equation (22) shows that (x Ct , s Ct ) also solves (20), which implies that x Ct is a Kelley iterate in this case. This completes the proof of item (2). Thereafter, item (3) can be demonstrated by simply disclosing that σ Ct = w Ct whenever \(\bar{z}(\upxi_{[t]} ) > s_{t}^{K} ( = \underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{Q} (\bar{x}_{t - 1} ,\upxi_{t} ))\). Suppose, for contradiction purpose, that σ Ct < w Ct . In that case, the point (xt, st, σt, wt) = (x Ct , s Kt , σ Ct , σ Ct ) is feasible for (5) and satisfies \(v = \mathop {\hbox{max} }\limits_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t}^{C} + \upalpha_{t + 1}^{j} + \upsigma_{t}^{C} \left\| {(1,c_{t} + \upbeta_{t + 1}^{j} )} \right\|_{*} } \right\} < s_{t}^{C}\). It follows from the above inequality and the second constraint of (5) that \(\upsigma_{t}^{v} > \bar{z}(\upxi_{[t]} ) - s_{t}^{C} \ge \upsigma_{t}^{C}\), being \(\upsigma_{t}^{v} = \bar{z}(\upxi_{[t]} ) - v\). As a result, the point (xt, st, σt, wt) = (x Ct , v, σ vt , σ Ct ) is feasible for (5) and provides an objective value strictly greater than σ Ct , hereby contradicting the optimality of (x Ct , s Kt , σ Ct , w Ct ). Accordingly, σ Ct = w Ct and the first part of item (3) holds true from the Chebyshev centers definition, in Sect. 3. Let’s now focus on item (4). Since the second constraint in (5) is active at any of its solutions (x Ct , s Ct , σ Ct , w Ct ) (otherwise, the optimal value of (5) could be improved by increasing σt), we can replace the variable σt by \(\bar{z}(\upxi_{[t]} ) - s_{t}\) and remove it from (5):
Formulation (6) comes from the above LP by recalling that \(\bar{z}(\upxi_{[t]} )\) is a constant, max -st = -min st and by setting \(s_{t} = c_{t}^{{ \top }} x_{t} + r_{t + 1}\).
Rights and permissions
About this article
Cite this article
Beltrán, F., Finardi, E.C., Fredo, G.M. et al. Improving the performance of the stochastic dual dynamic programming algorithm using Chebyshev centers. Optim Eng 23, 147–168 (2022). https://doi.org/10.1007/s11081-020-09558-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11081-020-09558-z