Nonlinear Programming: 3rd Edition