We describe an active-set, dual-feasible Schur-complement method for quadratic programming (QP) with positive definite Hessians. The formulation of the QP being solved is general and flexible, and is appropriate for many different application areas. Moreover, the specialized structure of the QP is abstracted away behind a fixed KKT matrix called K o and other problem matrices, which naturally leads to an object-oriented software implementation. Updates to the working set of active inequality constraints are facilitated using a dense Schur complement, which we expect to remain small. Here, the dual Schur complement method requires the projected Hessian to be positive definite for every working set considered by the algorithm. Therefore, this method is not appropriate for all QPs. While the Schur complement approach to linear algebra is very flexible with respect to allowing exploitation of problem structure, it is not as numerically stable as approaches using a QR factorization. However, we show that the use of fixed-precision iterative refinement helps to dramatically improve the numerical stability of this Schur complement algorithm. The use of the object-oriented QP solver implementation is demonstrated on two different application areas with specializations in each area; large-scale model predictive control (MPC) and reduced-space successive quadratic programming (with several different representations for the reduced Hessian). These results demonstrate that the QP solver can exploit application-specific structure in a computationally efficient and fairly robust manner as compared to other QP solver implementations.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Price excludes VAT (USA)
Tax calculation will be finalised during checkout.
Bartlett, RA (2001) Object oriented approaches to large-scale nonlinear programming for process systems engineering. PhD thesis, Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA
Bartlett RA, Biegler LT, Backstrom J, Gopal V (2002) Quadratic programming algorithms for large-scale model predictive control. J. Process Control 82:775
Bartlett RA, Biegler LT (2003) RSQP++: An object-oriented framework for successive quadratic programming. In Large-scale PDE-Constrained Optimization, Lecture Notes in Computational Science and Engineering 30, Berlin, Springer Verlag, pp 316
Betts JT, Frank PD (1994) A sparse nonlinear optimization algorithm. J. Opt. Theory Appl. 82(3):519–541
Byrd RH, Nocedal J, Schnabel RB (1994) Representations of quasi-Newton matrices and their use in limited methods. Math. Prog. 63:129–156
Carlson D (1986) What are Schur complements, anyway? Lin. Alg. Appl. 74:257–275
Fletcher R (1981) Practical methods of optimization. John Wiley & Sons
Gill P, Murray W, Saunders M (1995) User's Guide for QPOPT 1.0: A Fortran Package for Quadratic Programming. Systems Optimization Laboratory, Department of Operations Research, Stanford University
Gill PE, Murray W, Saunders MA, Wright MH (1990) A Schur complement method for sparse quadratic programming. In Reliable Numerical Computation, Oxford University Press, pp 113–138
Goldfarb D, Idnani A (1983) A numerically stable dual method for solving strictly convex quadratic programs. Mathematical Programming 27:1–33
Golub GH, Van Loan CF (1996) Matrix computations, third edition. Johns Hopkins University Press
Nash S, Sofer A (1996) Linear and nonlinear programming. McGraw Hill
Nocedal J, Wright S (1999) Numerical optimization. Springer, New York
Powell M (1983) ZQPCVX: A Fortran subroutine for convex quadratic programming. Technical report, Department of Applied Mathematics and Theoretical Physics, Cambridge University
Schmid C, Biegler LT (1994) Quadratic programming methods for reduced hessian SQP. Comp. Chem. Eng. 18:817
Sorensen DC (1977) Updating the Symmetric Indefinite Factorization with Applications in a Modified Newton Method. Technical Report ANL-77-49, Argonne National Laboratory
Vanderbei RJ (1994) An Interior Point code for Quadratic Programming. Technical Report SOR 94-15, Princeton University
Rights and permissions
About this article
Cite this article
Bartlett, R.A., Biegler, L.T. QPSchur: A dual, active-set, Schur-complement method for large-scale and structured convex quadratic programming. Optim Eng 7, 5–32 (2006). https://doi.org/10.1007/s11081-006-6588-z
- Quadratic programming
- Schur complement
- Dual space
- Object oriented programming