[Coin-ipopt] Compiling with mumps

Stefan Vigerske stefan at vigerske.de
Sat Mar 17 05:38:19 EDT 2007


Hi,

I don't spoil a surprise here.

> I was just wondering if using Ipopt with the mumps solver is possible, and
> if so, how would I compile/configure ipopt to use it?
> 
> Should I just type:
> 
> $  ./configure --with-mumps="$MUMPSBASEDIR/lib/libmumps.a"
> 
> Any help/ideas will be welcomed.

Andreas is currently working on this, and since this is work in
progress, there are (at least) two ways at the moment, depending whether
you use the trunk or devel branch of Ipopt.
There is also a MUMPS interface in stable and release, but as far as I
know, they are outdated.
If you use Ipopt trunk, then you can use the option --with-mumps-dir to
tell configure the base directory of the MUMPS, i.e., $MUMPSBASEDIR.
But in this case you need to correct a bug in MUMPS 4.6.4:
You will need to change line 4069 in the file
MUMPS_4.6.4/src/dmumps_part5.F from
         id%DKEEP(1) = ZERO
to
         id%DKEEP(1) = -1.0
Another thing is that you need to tell Ipopt to use a "full" Blas
library. (But maybe I'm not uptodate on this issue.) I mean, the
ThirdParty/Blas does not compile the whole Blas library, but only those
routines that are needed by CoinUtils and Ipopt. Since MUMPS needs some
more, you have to create your own Blas library and provide it with the
--with-blas option.

If you use Ipopt devel, then you will get a ThirdParty/Mumps directory.
There you find a get.Mumps script which downloads Mumps for you and
corrects the bug. Andreas also setup a build system, so that when you
configure and build Ipopt here, it will automatically also configure and
build MUMPS for you.
Note that these developments are very new (just a few days old), so they
might not have been tested thoroughly. But this is what "devel" stands
for ;-).
But you can also use --with-mumps-dir in the Ipopt devel branch, if you
like.

Best,
Stefan



More information about the Coin-ipopt mailing list