Dynamic programming.
Bellman, Richard Ernest,1920-
Princeton, N.J., 
1957.