[Ipopt] Finding bottlenecks in ipopt?

Hang Yu yuhang.neu at gmail.com
Mon Dec 14 23:56:52 EST 2015


Hi Sebastian,

I am working on something quite similar to yours in C++ currently, I am
still writing interface to my problem and quite a few things are not
implemented yet (just started to work on ipopt a week ago), I can see that
we are almost in the same stage right now just to get something running for
some proof of concepts, no deep mathy stuff yet.

>From my previous experience with other optimization routines, I found that
scaling your variables(inputs) to be a very important factor for either
accuracy or speed of convergence. But I don't see it in your list, I am not
very sure if this would help for your problem. And I am expecting to see if
others would provide any information on the scaling method in ipopt, so
that I could understand it better as well.

Best,
Hang

On Mon, Dec 14, 2015 at 3:15 PM, Sebastian Edman <edse at edman.de> wrote:

> Hi Ipopters,
>
> I've searched the net for a good solver to solve simple convex quadratic
> sub problems (about 2-200 variables each), with box constraints. For each
> main problem there will be about 10'000 to a 100'000 sub problems as
> described above. There is no need for a high precision solution, the most
> important thing right now is speed. I have successfully implemented Ipopt
> in C# (using csipopt) and it is working but it seems to be an overhead
> somewhere (if I extract one of the subproblems and run it separately the
> output file says that it used about 0.015 seconds for precessing the
> problem, but still I can only process 1-2 sub problems per second).
>
> I'm using the csipopt library (very similar to the C++ interface, using
> ipopt 3.11.0 dll) and I've provided an eval_f, eval_grad_f and eval_h. I
> have no eval_g and eval_jac_g since i use variable bounds for my box
> constraints.
>
> I'm using the following options (in code)
> "derivative_test", "first-order"
> "tol", 1e-3
> "print_level", 0
> "option_file_name", ""
> "print_options_documentation", "no"
>
> I've not specified a solver explicitly, I assume that MUMPS is used. When
> I tried to specify another solver, I only got garbage back (I cannot
> remember now if it was errors or simply not the correct solution).
>
> Have I chosen the right approach by using ipopt? Should I use another
> ipopt solver for my problems? Can I add more options to speed up the
> calculations? How do I turn off config file loading and output file writing
> completely or are the above enough? Are eval_g and eval_jac_g required for
> fast processing? Are there other overheads that I can turn off?
>
> Right now I'm trying to see the end of the tunnel but its quite dark, it
> would be nice to see if I'm traversing in the right direction ;)
>
> Thanks on beforhand
> Sebastian
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20151214/f3d302bf/attachment.html>


More information about the Ipopt mailing list