4.7 Constrained Nonlinear Optimization