Stochastic Dual Dynamic Programming (SDDP) is valuable tool in water management, employed for operational water management (i.e. suggesting effective release rules), and cost-benefit analysis evaluations. SDDP solves a multistage stochastic programming problem when uncertainty is a Markov process, and the system model is convex. SDDP can handle complex interconnected problem. Despite its potential, SDDP use is limited to few specialists. We present Optimist, a python library for setting up an SDDP problem from components, i.e. elements and objectives, and their relationships. Elements presently developed are: streamflow input, reservoir, release, and river-reach. Objectives can be linear, used for energy production, and threshold, used for flood protection and environmental flow. Optimist largely simplifies the setting up a SDDP problem, and therefore it is dedicated to water resources management experts who want to use SDDP for their problems. Optimist is developed in Python using the Object Oriented Programming paradigm.
[1]
A. Tilmant,et al.
Assessing marginal water values in multipurpose multireservoir systems via stochastic programming
,
2008
.
[2]
Michael Frankfurter,et al.
Water Resources Systems Planning And Management
,
2016
.
[3]
Alexander Shapiro,et al.
Analysis of stochastic dual dynamic programming method
,
2011,
Eur. J. Oper. Res..
[4]
Andrea Castelletti,et al.
Water reservoir control under economic, social and environmental constraints
,
2008,
Autom..
[5]
M. V. F. Pereira,et al.
Multi-stage stochastic optimization applied to energy planning
,
1991,
Math. Program..