Optimization Online


A Robust Implementation of a Sequential Quadratic Programming Algorithm with Successive Error Restoration

Klaus Schittkowski(klaus.schittkowski***at***uni-bayreuth.de)

Abstract: We consider sequential quadratic programming (SQP) methods for solving constrained nonlinear programming problems. It is generally believed that SQP methods are sensitive to the accuracy by which partial derivatives are provided. One reason is that differences of gradients of the Lagrangian function are used for updating a quasi-Newton matrix, e.g., by the BFGS formula. The purpose of this paper is to show by numerical experimentation that the method can be stabilized substantially. Even in case of large random errors leading to partial derivatives with at most one correct digit, termination subject to an accuracy of $10^{-7}$ can be achieved, at least in 90 \% of 306 problems of a standard test suite. The algorithm is stabilized by a non-monotone line search and, in addition, by internal and external restarts in case of errors when computing the search direction due to inaccurate derivatives. Additional safeguards are implemented to overcome the situation that an intermediate feasible iterate might get an objective function value smaller than the final stationary point. In addition, we show how initial and periodic scaled restarts improve the efficiency in a situation with very slow convergence.

Keywords: nonlinear programming;SQP;quasi-Newton method;inaccurate derivatives;non-monotone line search;restart

Category 1: Nonlinear Optimization (Constrained Nonlinear Optimization )

Citation: Report, Department of Computer Science, University of Bayreuth, Germany, 2010

Download: [PDF]

Entry Submitted: 01/12/2010
Entry Accepted: 01/12/2010
Entry Last Modified: 01/12/2010

Modify/Update this entry

  Visitors Authors More about us Links
  Subscribe, Unsubscribe
Digest Archive
Search, Browse the Repository


Coordinator's Board
Classification Scheme
Give us feedback
Optimization Journals, Sites, Societies
Mathematical Programming Society