Sunday, March 6, 2011

IPOPT via AMPL

- AMPL communicates the problem to Ipopt via a file, with the extension
".nl" .  AMPL is not really well suited for large problems, and it can
take the AMPL Solver Library (with which the AMPL Ipopt executable is
linked) a very very long time just to read in this data file and to set up
the internal data structures.

So, if it takes 20 hours before you see the printout of the size
statistics that you included, it means that all this time is just to set
up AMPL data structures before Ipopt is doing anything.  To speed this up,
you need to use programming code (e.g., C++) to code your problem.

It could also be that MUMPS takes a lot of time in the symbolic
factorization.  In general, I would suggest to use a different linear
solver (Pardiso, WSMP) for such large problems.  Here, make sure you are
using some optimized BLAS as well.  This is probably the easiest thing to
try first.

(If you use Ipopt via AMPL, the Jacobian, as well as the Hessian, are
giving analytically, so there is no finite difference approximation)

1 comment:

  1. My IPOPT setup runs perfectly but the AMPL doesnt run. How can i set up AMPL to run with IPOPT?

    Thanks.

    ReplyDelete