Nonlinear and Dynamic Programming by G Hadley