Chapter 3: Dynamic Programming for Stochastic Optimization