Complex decisions made simple: a primer on stochastic dynamic programming | Synapse