Skip to main content
Log in

Improving the performance of the stochastic dual dynamic programming algorithm using Chebyshev centers

  • Review Article
  • Published:
Optimization and Engineering Aims and scope Submit manuscript

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.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. 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}\)[∙].

  2. In this notation, pj is the probability associated with scenario ξj.

  3. 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} }\).

  4. Unit of energy related to the constant operation of a MW capacity for a period.

  5. The constant K0 = 2.592 converts flow to volume considering a 1-month time step.

  6. https://github.com/OPTE-2020-1017/Improving-the-performance-of-the-SDDP-algorithm-using-Chebyshev-centers.

  7. 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

Download references

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

Authors

Corresponding author

Correspondence to Felipe Beltrán.

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:

$$\begin{aligned} &\mathop {\hbox{min} }\limits_{{x_{t} \ge 0,s_{t} }} \, s_{t} \hfill \\ &{\text{s}} . {\text{t}} .\;A_{t} x_{t} = b_{t} - B_{t} \bar{x}_{t - 1} , & (c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t} + \upalpha_{t + 1}^{j} \le s_{t} ,\;\forall \;j \in J_{t + 1} . \hfill \\ \end{aligned}$$
(20)

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

$$\begin{aligned} s_{t}^{C} & \ge \max_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t} + \upalpha_{t + 1}^{j} + w_{t} \left\| {(1,c_{t} + \upbeta_{t + 1}^{j} )} \right\|_{*} } \right\} \\ & \ge \max_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t} + \upalpha_{t + 1}^{j} } \right\} \\ & \ge \max_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t}^{K} + \upalpha_{t + 1}^{j} } \right\} = s_{t}^{K} . \\ \end{aligned}$$
(21)

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

$$\begin{aligned} s_{t}^{K} = s_{t}^{C} & \ge \max_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t}^{C} + \upalpha_{t + 1}^{j} } \right\} \\ & \ge \max_{{j \in J_{t + 1} }} \left\{ {(c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t}^{K} + \upalpha_{t + 1}^{j} } \right\} = s_{t}^{K} {\mkern 1mu} , \\ \end{aligned}$$
(22)

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):

$$\left\{ \begin{aligned} \mathop {\hbox{max} }\limits_{{x_{t} ,s_{t} ,w_{t} }} & \bar{z}(\upxi_{[t]} ) - s_{t} \hfill \\ {\text{s}} . {\text{t}} .& A_{t} x_{t} = b_{t} - B_{t} \bar{x}_{t - 1} \hfill \\ & (c_{t} + \upbeta_{t + 1}^{j} )^{{ \top }} x_{t} + \upalpha_{t + 1}^{j} + w_{t} \left\| {(1,c_{t} + \upbeta_{t + 1}^{j} )} \right\|_{*} \le s_{t} ,\;j \in J_{t + 1} \hfill \\ & \bar{z}(\upxi_{[t]} ) - s_{t} \le w_{t} ,x_{t} \ge 0,{\mkern 1mu} w_{t} \ge 0,{\mkern 1mu} s_{t} \in \Re {\mkern 1mu} . \hfill \\ \end{aligned} \right.$$
(23)

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11081-020-09558-z

Keywords

Navigation