Skip to main content

QPSchur: A dual, active-set, Schur-complement method for large-scale and structured convex quadratic programming


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.


  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Betts JT, Frank PD (1994) A sparse nonlinear optimization algorithm. J. Opt. Theory Appl. 82(3):519–541

    Article  MathSciNet  Google Scholar 

  • Byrd RH, Nocedal J, Schnabel RB (1994) Representations of quasi-Newton matrices and their use in limited methods. Math. Prog. 63:129–156

    Article  MathSciNet  Google Scholar 

  • Carlson D (1986) What are Schur complements, anyway? Lin. Alg. Appl. 74:257–275

    MATH  Google Scholar 

  • 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

    MathSciNet  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Lorenz T. Biegler.

Rights and permissions

Reprints 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).

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI:


  • Quadratic programming
  • Schur complement
  • Active-set
  • Dual space
  • Object oriented programming