This paper describes an algorithm for calculating optimal operating strategies in a multi-reservoir hydroelectric system, which can take into account inflow stochasticity and does not require discretization of the state space. The solution approach, called stochastic dual dynamic programming (SDDP), is based on the approximation of the expected-cost-to-go functions of stochastic dynamic programming at each stage by piecewise linear functions. These approximate functions are obtained from the dual solutions of the scheduling problem at each stage and may be interpreted as Benders' cuts in a stochastic, multistage decomposition algorithm. Case studies with the Brazilian systems are presented and discussed.