OOQP is an object-oriented C++ package, based on a primal-dual interior-point method, for solving convex quadratic programming problems (QPs). It contains code that can be used "out of the box" to solve a variety of structured QPs, including general sparse QPs, QPs arising from support vector machines, Huber regression problems, and QPs with bound constraints.

OOQP also can be used as a framework can be used to design efficient solvers for new classes of structured QPs. Its design allows for easy substitution of the linear algebra modules, allowing different standard linear algebra packages to be tried.

Updated 10/2/2016




If you would like a copy of OOQP, go to the OOQP Request Form and fill it out.

Having downloaded and unpacked the tarball, consult the file INSTALL in the main directory.

The file OOQP/doc/index.html in your unpacked distribution contains links to comprehensive information on installation of the various instantiations of OOQP. Point your browser to this file by typing an entry of the following form in the navigator URL window:



See the log of changes for the various releases.

Auxiliary Software

If you wish to use OOQP's solvers for general sparse QP, you will need to obtain a copy of MA27 from the HSL Archive before proceeding. Complete instructions are given in the INSTALL file in the OOQP distribution.


OOQP is copyrighted to the University of Chicago. Here is the Copyright Statement.



Additional coding and maintenance for releases 0.99.10 through 0.99.21 was performed by Vanitha Suresh. We acknowledge the contributions of various users who have reported bugs.


Development of OOQP was supported by