Successive quadratic programming (SQP) solver