[Ipopt] Finding bottlenecks in ipopt?
Sebastian Edman
edse at edman.de
Mon Dec 14 15:15:34 EST 2015
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
More information about the Ipopt
mailing list