Sequential quadratic programming