[Ipopt] quadratic programming

Sebastian Nowozin nowozin at gmail.com
Mon Sep 15 09:32:17 EDT 2008


Hi,

Anand wrote:

> where H is an identity matrix and hence sparse for large dimensions
> x is a vector
> 
> lb and ub are the lower and upper bounds respectively on the vector x
> Does ipopt solve such a problem
> 
> Please tell me if you have any open source c/c++ library
> Also if possible give me suggestions as to what algorithms may be able 
> to solve these algorithms

Because H is trivially sparse in your case (separable), you can try COIN 
Clp, as shown in the attached file (you would need to modify the source 
a bit, but I thought its better to see an example than none, as the QP 
feature is not really well-documented).  For problems of moderate size 
(say, up to 50k variables) it should be sufficient.

Real full QP solvers are benchmarked at Hans Mittelmann's page and 
although IpOpt is quite robust in the benchmark, solving almost all the 
sometimes badly scaled problems, it is also quite a bit slower than a 
QP-only solver: http://plato.asu.edu/ftp/qpbench.html

BPMPD is a top-notch QP solver but comes with a non-commercial/academic 
license only and is difficult to use as a Fortran library.  (I wish it 
would be an open-source COIN-OR project...)

As for commercial solvers, I have been using Mosek for some time now and 
their support, API to many languages and outstanding robustness is well 
worth the price if you plan to use it in a commercial application.

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testQP2.cpp
Type: text/x-c++src
Size: 2686 bytes
Desc: not available
Url : http://list.coin-or.org/pipermail/ipopt/attachments/20080915/0ac017f6/attachment.bin 


More information about the Ipopt mailing list