Version 11 (modified by rlh, 15 years ago) (diff)

fixed a typo -- "the problems is..."

Welcome to the SVM-QP home page


SVM-QP (Support Vector Machines Quadratic Programming solver) is a software package that solves 2-norm soft margin support vector machine classification problem. The problem is formulated as a convex QP of the following form

   min     x'Qx - e'x
x in R^n

s.t.       a'x=0
           0 <= x <= C

where e is the vector of ones, a is a vector of lables (1 or -1) of the data, and C is the panalty parameter associated with the violation of the margin constraint.

SVM-QP is designed for large-scale SVM problems. The underlying algorithm is an active set method for convext QPs. Here is the paper describing the algorithm and containing computational comparison with SVMlight. The software also includes an interior point SVM solver which is designed for problems where Kernel matrix is (approximately) low rank. The program constructs the low rank approximation and solves the approximate problem by the interior point method. The approximate solution can then be passed to the active set solver as the warm start. The underlying algorithms are described here.

The currently available versions is a Fortran 77 code which is designed to trade memory for efficiency. Currently, this is the most time efficient version of SVM-QP. A memory saving versions, which is somewhat slower will be available soon. A beta versions can be obtained by contacting Katya Scheinberg. The current version is desinged to ba called as a subroutine where the burden of parsing the data and arranging it into appropriate data structures lies with the user.

The C++ version of the software is under development by Alexandre Belloni and will be available in the near future. Additionally the C++ version will include the ability compute a path of optimal solutions for any given range of parameter C.


SVM-QP is released as open source code under the Common Public License (CPL). It is available from the COIN-OR initiative. Katya Scheinberg is the COIN project leader for SVM-QP.

You can obtain the SVM-QP code either via subversion or in form of nightly generated tarballs. To get the tarball, go to the COIN tarball directory, and look for a file like svmqp-3.x.x.tar.gz.

Individual files can also be obtained from the svn web interface (see the "Browse Source" button above). The SVM-QP distribution can be used to generate a library that can be linked to one's own C++, C, or Fortran code. SVM-QP can be used on Linux/UNIX platforms and Windows.

As open source software, the source code for SVM-QP is provided without charge. You are free to use it, also for commercial purposes. You are also free to modify the source code (with the restriction that you need to make your changes public if you decide to distribute your version in any way, e.g. as an executable); for details see the CPL license. And we are certainly very keen on feedback from users, including contributions!

In order to compile SVM-QP, certain third party code is required (such as some linear algebra routines). Those are available under different conditions/licenses.

We provide this program in the hope that it may be useful to others, and we would very much like to hear about your experience with it. If you found it helpful and are using it within our software, we encourage you to add your feedback to these wiki-based webpages, Success Stories.

COIN-OR Initiative

FAQ (Frequently Asked Questions)

mailing list

Success Stories