This paper proposes a multi-stage stochastic programming formulation based on affine decision rules for the reservoir management problem. Our approach seeks to find a release schedule that balances flood control and power generation objectives while considering realistic operating conditions as well as variable water head. To deal with the non-convexity introduced by the variable water head, we implement a simple, yet effective, successive linear programming algorithm. We also introduce a novel non-linear inflow representation that captures serial correlation of arbitrary order. We test our method on a real river system and discuss policy implications. Our results namely show that our method can decrease flood risk compared to historical decisions, albeit at the cost of reduced final storages.