Object-oriented software for quadratic programming

The object-oriented software package OOQP for solving convex quadratic programming problems (QP) is described. 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. OOQP demonstrates the usefulness of object-oriented design in optimization software development, and establishes standards that can be followed in the design of software packages for other classes of optimization problems. A number of the classes in OOQP may also be reusable directly in other codes.

[1]  C. R. Sage,et al.  MATHEMATICS AND COMPUTER SCIENCE DIVISION. , 1967 .

[2]  Iain S. Duff,et al.  MA27 -- A set of Fortran subroutines for solving sparse symmetric sets of linear equations , 1982 .

[3]  C. Kelley Iterative Methods for Linear and Nonlinear Equations , 1987 .

[4]  H. Walker Implementation of the GMRES method using householder transformations , 1988 .

[5]  R. Freund,et al.  QMR: a quasi-minimal residual method for non-Hermitian linear systems , 1991 .

[6]  Sanjay Mehrotra,et al.  On the Implementation of a Primal-Dual Interior Point Method , 1992, SIAM J. Optim..

[7]  Roland W. Freund,et al.  A Transpose-Free Quasi-Minimal Residual Algorithm for Non-Hermitian Linear Systems , 1993, SIAM J. Sci. Comput..

[8]  John A. Scales,et al.  The CWP object‐oriented optimization library , 1996 .

[9]  Jacek Gondzio,et al.  Multiple centrality corrections in a primal-dual method for linear programming , 1996, Comput. Optim. Appl..

[10]  Magnus Bruaset,et al.  Object-oriented Design of Preconditioned Iterative Methods in Diipack , 1996 .

[11]  Hans Petter Langtangen,et al.  Object-oriented design of preconditioned iterative methods in diffpack , 1997, TOMS.

[12]  Stephen J. Wright Primal-Dual Interior-Point Methods , 1997, Other Titles in Applied Mathematics.

[13]  Xiaoye S. Li,et al.  SuperLU Users'' Guide , 1997 .

[14]  Vladimir Cherkassky,et al.  The Nature Of Statistical Learning Theory , 1997, IEEE Trans. Neural Networks.

[15]  Edmond Chow,et al.  An object-oriented framework for block preconditioning , 1998, TOMS.

[16]  Wu Li,et al.  The Linear l1 Estimator and the Huber M-Estimator , 1998, SIAM J. Optim..

[17]  C. Mészáros,et al.  A repository of convex quadratic programming problems , 1999 .

[18]  Florin Dobrian,et al.  The design of sparse direct solvers using object-oriented techniques , 1999 .

[19]  William W. Symes,et al.  C++ classes for linking optimization with complex simulations , 1999, TOMS.

[20]  Stephen J. Wright,et al.  PCx: an interior-point code for linear programming , 1999 .

[21]  Florin Dobrian,et al.  Oblio: A Sparse Direct Solver Library for Serial and Parallel Computations , 2000 .

[22]  Vladimir N. Vapnik,et al.  The Nature of Statistical Learning Theory , 2000, Statistics for Engineering and Information Science.

[23]  David R. Musicant,et al.  Robust Linear and Support Vector Regression , 2000, IEEE Trans. Pattern Anal. Mach. Intell..

[24]  Stephen J. Wright On reduced convex QP formulations of monotone LCPs , 2001, Math. Program..

[25]  Michael C. Ferris,et al.  Interior-Point Methods for Massive Support Vector Machines , 2002, SIAM J. Optim..

[26]  Stephen J. Wright,et al.  OOQP User Guide , 2002 .

[27]  Jacek Gondzio,et al.  Parallel interior-point solver for structured linear programs , 2003, Math. Program..

[28]  Lois Curfman McInnes,et al.  TAO users manual. , 2003 .