<div dir="ltr"><div>Just for reference, for these small convex quadratic optimisations I ended up using quadprog++ (<a href="http://quadprog.sourceforge.net/">http://quadprog.sourceforge.net/</a>) which implements the Goldfarb-Idnani active-set dual method and it has only an *optional* dependency on uBoost. I can run 10.000 small problems in less than 8 seconds on a i7 laptop.<br>

</div>Thank you all.<br><div><br><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/18 Stefan Vigerske <span dir="ltr">&lt;<a href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
IPOPT targets large-scale general nonlinear programs.<br>
A good specialized QP solver can give you much better performance than Ipopt, as, indeed, it has less overhead, and, second, it can do some algorithmic tricks that are not possible for general NLPs.<br>
<br>
If you still want to use Ipopt for QPs, you should enable the options jac_c_constant, jac_d_constant, and hessian_constant, so you can at least avoid recomputing Jacobian and Hessian in each point.<span class="HOEnZb"><font color="#888888"><br>


<br>
Stefan</font></span><div class="im"><br>
<br>
On 01/16/2014 05:15 PM, Antonello Lobianco wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Hello,<br>
I develop in C++ a scientific model where I already use IPOPT (together<br>
with ADOL-C and ColPack) to solve a large nonlinear problem.<br>
<br>
Now I need, in an other part of the model, to solve many (~10,000 per<br>
simulation year) small quadratic problems of this form:<br>
<br>
min<br>
   sum_i sum_j  a_{i,j} x_i x_j<br>
s.t.<br>
   sum_i x_i = 1<br>
   x_i &gt;= 0<br>
   sum_i x_i b_i = c<br>
<br>
with i=j ~ 10 and a_{i,j} &gt;=0 for i = j<br>
<br>
<br>
Do you suggest me to use IPOPT also for these problems or would it be<br>
better to use a solver that is specialized in small quadratic programming<br>
(little initialisation costs) ?<br>
<br>
Thanks,<br>
   Antonello<br>
<br>
<br>
<br>
<br></div><div class="im">
______________________________<u></u>_________________<br>
Ipopt mailing list<br>
<a href="mailto:Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/<u></u>mailman/listinfo/ipopt</a><br>
<br>
</div></blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Antonello Lobianco<br>AgroParisTech, Laboratoire d&#39;Economie Forestière<br>14 Rue Girardet - 54000 Nancy, France<br>Tel: +33.383396865<br>Email: <a href="mailto:antonello.lobianco@nancy.inra.fr" target="_blank">antonello.lobianco@nancy.inra.fr</a><br>

<a href="http://antonello.lobianco.org/" target="_blank">http://antonello.lobianco.org</a></div>
</div>