[Ipopt] C++ Interface and Auxiliary Data, Using BFGS

AliReza Khoshgoftar Monfared khoshgoftar at gmail.com
Sun Oct 14 21:44:31 EDT 2012


I have a couple of questions regarding the C++ interface of Ipopt:

1) Is there a convenient way to pass auxiliary data to Ipopt when
interfacing through C++?

I have been using the MatlabInterface previously, and as seen in
"/Ipopt/contrib/MatlabInterface/examples/lasso.m", by assigning a value to
"auxdata" in the solver options, this parameter can be passed and unpacked
in any of the callbacks (objective, gradient, etc...) to access extra
information. What will the equivalent for C++ interface be?

2) If I use "limiteed-memory" mode for "hessian_approximation" option, do I
still need to implement all the functions mentioned in the tutorial? (
http://www.coin-or.org/Ipopt/documentation/node32.html) I assume that I
won't need "eval_h()". Is that true? or should I make an empty template?

3) For setting the solver name and the limited-memory mode, Sholud I still
use "app->Options()"?i.e., sth like:

>   app->Options()->SetStringValue("linear_solver", "ma27");
>   app->Options()->SetStringValue("hessian_approximation",
> "limited-memory");

4) Out of curiosity,  Is there any other examples of using C++ interface
using auxiliary data and limited-memory or other options of Ipopt?

5) Is there any sample statistics about the execution time saved using C++
interface? I am currently solving my problem using MalabInterface, and it
takes about 30 minutes on a Quad Core with 8GB RAM, I was wondering how
much save can I expect if I port the whole thing to C++?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20121014/4157ba4e/attachment.html>

More information about the Ipopt mailing list