Dynamic programming (source code)

= Dynamic programming
{wiki}

Dynamic programming solves a multistage optimization problem backwards by expressing each remaining-horizon value in terms of the next-stage value.