[Ipopt] re-use AmplTNLP

Ali Baharev ali.baharev at gmail.com
Wed Jun 24 05:06:20 EDT 2009


Dear Developers,

I still have performance issues, AmplTNLP is surprisingly slow when i
invoke it iteratively.

In function AmplTNLP::finalize_solution i commented out the last line

write_solution_file(message.c_str());

since i do not need it. The 40 minutes of the solution process dropped
to 18 minutes (which is still intolerably slow).

I suspect there are other hard disk / very slow unnecessary operations
happening in the background.

For example i got the following warning when building with -static flag:

IPOPT/ThirdParty/ASL/amplsolver.a(funcadd1.o): In function `libload_ASL.':
funcadd1.c:(.text+0x182): warning: Using 'dlopen' in statically linked
applications requires at runtime the shared libraries from the glibc
version used for linking

Ignoring this warning resulted in immediate segmentation fault on
program start up.

I have rebuilt the ASL library with -DNO_FUNCADD, this warning is gone
but got another:

IPOPT/lib/libipopt.a(LibraryHandler.o): In function `LSL_loadLib':
LibraryHandler.c:(.text+0x1ed): warning: Using 'dlopen' in statically
linked applications requires at runtime the shared libraries from the
glibc version used for linking

OK, i changed the LibraryHandler.h header to just define:

#define ERROR_LOADLIB
  typedef void *soHandle_t;

This warning is also gone but the immediate segmentation fault on
program start up remained when building with -static. If i drop the
-static flag, everything works perfectly, it does not seem to be a bug
in my application.

My questions for the moment are:

- What other slow operations (i.e. hard disk read/write) are happening
in the background?

- What is causing the segmentation fault when building with -static flag?

Many thanks in advance,

Ali



More information about the Ipopt mailing list