QPC - Quadratic Programming in C

Contact Details

Dr. Adrian Wills

Email

Phone

+61 2 49216028

Fax

+61 2 49216993

Office

Callaghan Campus
Building EA: EA-204

Post

Dr. Adrian Wills

School of Electrical Engineering and Computer Science

- - -

Funding

Australian Research Council

ARC Discovery Project
DP0666955
2006-2008
Value: $336,000

Australian Research Council

ARC Discovery Project
DP0208665
2002-2005
Value: $360,000

Australian Research Council

Discovery Project
DP0774086
2007-2009
Value: $246,090

University of Newcastle

Near Miss Grant
G0189828
2009
Value: $20000

Industry Funding

QPC Software
2011
Value: $20,000



This project offers a collection of software routines for solving quadratic programming problems that can be written in this form

The routines are written in C and callable from Matlab using the standard syntax.

Features

  • Fast: between 10 and 1000 times faster than the standard solver!
  • Uses the standard Matlab syntax, allowing for easy replacement
  • Used for research both in industry and by academics: some research applications include
    • Biomedical: disease classification using support vector machines
    • Finance: portfolio risk management and asset allocation algorithms
    • Engineering: advanced control implementation
  • Offers several state-of-the-art solvers

Try it Out

  • This software works with Matlab under Linux, Mac OS X, and MS Windows.
  • In an attempt to help further development, we request that you register your name and email address in order to proceed with the download.
→ Available here: Download

Available routines

QPC includes the following routines:

  • qpas: Uses a dual active-set method to solve a general strictly convex quadratic programming problem.
  • qpip: Uses a primal-dual interior-point method to solve a general strictly convex quadratic programming problem. Accepts an optional argument to stop on central-path at a user specified fixed point.
  • qps_ip: Uses an interior-point method to solve a simply bounded convex quadratic programming problem.
  • qps_as: Uses an active-set method to solve a simply bounded convex quadratic programming problem.
  • qps_mq: Uses a branch-and-bound method to solve a simply bounded convex quadratic programming problem.

News

  • 2009-08-11: QPC will no longer be distributed with source code. Only binaries are available.
  • 2009-04-20: SOME binaries (.mexw32, .mexmaci, .mexglx, .mexa64) are now included in the download in the hope that it will work for most users without compiling.
  • 2009-04-20: QPC now compiles under Matlab 2009a for Windows using the LCC compiler that comes with Matlab.
  • 2008-03-04: BUG: QPC does not compile under Matlab 2007b for Windows using the lcc compiler. It does, however, compile correctly using Microsoft Visual C++, for example. This problem is caused by Mathworks not supporting calls to the lcc version of the LAPACK libraries in Matlab 2007b. I do not know if this problem will be fixed by Mathworks in the new release. I plan to release a new version shortly that includes a binary version of the libraries plus source.
  • 2007-09-20: Latest version released; bug fixes for cross platform compilation.
  • 2007-05-31: Latest version released now including source code.
  • 2007-05-31: The current release of YALMIP now has support for QPC, thanks to Johan Löfberg.
  • 2007-05-29: Fixed some bugs, found mainly by Johan Löfberg - Thanks!
  • 2006-11-23: Latest version of routines released. Includes bug fixes. See usage for full details.
  • 2006-07-12: Latest version of routines released. Includes bug fixes and a faster interior-point method. Also returns Lagrange Multipliers. See usage for full details.
  • 2005-09-07: New website released.

Report an unexplored feature (bug)

  • If you would like to report a bug then please email me.

Maintained by Dr. Adrian Wills
University of Newcastle
12 Jan 2010, © Copyright