Linear and Nonlinear Optimization