A particular attention *will* be paid to problems with an
optimal control structure.

SQP stands for *Sequential Quadratic Programming*, a method
invented in the mid-seventies, which can be viewed as the Newton
approach applied to the optimality conditions of the optimization
problem. Each iteration of the SQP algorithm requires finding a
solution to a *quadratic program* (QP). This is a simpler
optimization problem, which has a quadratic objective and linear
constraints. This QP is still difficult to solve however; in
particular it is NP-hard when the quadratic objective is nonconvex. On
the other hand, as a Newton method, the SQP algorithm converges very
rapidly, meaning that it requires few iterations (hence QP solves) to
find an approximate solution with a good precision (this is
particularly true when second derivatives are used). Therefore, one can
say that

the SQP algorithm is an appropriate approach when the evaluation of the functions defining the nonlinear optimization problem, and their derivatives, is time consuming.

Indeed, in this case, the time spent in finding the solution to the QP's is counterbalanced by the time spent in evaluating nonlinear functions. Since the functions are evaluated once at each iteration, one can then benefit from the small number of iterations required by the method. If the rule above does not apply, a nonlinear interior point algorithm can do better.

The SQPlab piece of software has actually been designed to accompany the
book *Numerical Optimization: Theoretical and Practical
Aspects* (2006, second edition), by J.F. Bonnans, J.Ch.
Gilbert, C. Lemaréchal, and C.A. Sagastizábal, Springer. It is the
result of the Hanging Chain Project, during which the software is
developped and tested on a practical problem (see the sections 13.8,
14.7, 15.4, 17.4, and 18.4 of the book).

SQPlab has been interfaced with ooDACE (2014).