We describe the object-oriented software package OOQP for solving convex quadratic programming problems (QP). The primal-dual interior point algorithms supplied by OOQP are implemented in a way that is largely independent of the problem structure. Users may exploit problem structure by supplying linear algebra, problem data, and variable classes that are customized to their particular applications. The OOQP distribution contains default implementations that solve several important QP problem types, including general sparse and dense QPs, bound-constrained QPs, and QPs arising from support vector machines and Huber regression. The implementations supplied with the OOQP distribution are based on such well known linear algebra packages as MA27/57, LAPACK, and PETSc.
Preprint ANL/MCS-P891-1000, Mathematics and Computer Science Division Argonne Natioanl Laboratory; Optimization Technical Report 01-02, Computer Sciences Department, University of Wisconsin-Madison. Revised December, 2002. Published in ACM Transactions on Mathematical Software 29 (2003), pp. 58--81.