Next: Obtaining the MUMPS Linear
Up: Download External Code
Previous: Download BLAS, LAPACK and
Contents
IPOPT requires a sparse symmetric linear solver. There are
different possibilities. It is important to keep in mind that usually
the largest fraction of computation time in the optimizer is spent for
solving the linear system, and that your choice of the linear solver
impacts IPOPT's speed and robustness. It might be worthwhile to try
different linear solver to experiment with what is best for your
application.
In this section we describe how to obtain the source code for MA27
(and MC19) from the Harwell Subroutine Library (HSL). Those routines
are freely available for non-commercial, academic use, but it is your
responsibility to investigate the licensing of all third party code.
The use of alternative linear solvers is described in
Sections 2.2.3-2.2.5. You do not necessarily
have to use MA27 as described in this section, but at least one linear
solver is required for IPOPT to function.
- Go to http://hsl.rl.ac.uk/archive/hslarchive.html
- Follow the instruction on the website, read the license, and
submit the registration form.
- Go to HSL Archive Programs, and find the package list.
- In your browser window, click on MA27.
- Make sure that Double precision: is checked.
Click Download package (comments removed)
- Save the file as ma27ad.f in $IPOPTDIR/ThirdParty/HSL/
Note: Some browsers append a file extension (.txt) when you save
the file, in which case you have to rename it.
- Go back to the package list using the back button of your browser.
- In your browser window, click on MC19.
- Make sure Double precision: is checked. Click
Download package (comments removed)
- Save the file as mc19ad.f in $IPOPTDIR/ThirdParty/HSL/
Note: Some browsers append a file extension (.txt) when you save
the file, so you may have to rename it.
Note: Whereas it is essential to have at least one linear solver, the
package MC19 could be omitted (with the consequence that you cannot
use this method for scaling the linear systems arising inside the
IPOPT algorithm). By default, MC19 is only used to scale the linear
system when using one of the Harwell solvers, but it can also be
switched on for other linear solvers (which usually have internal
scaling mechanisms).
Note: If you have the source code for the linear solver MA57
(successor of MA27; it is not available for free) in a single
file called ma57ad.f (including all dependencies), you can
simply put it into the $IPOPTDIR/ThirdParty/HSL/ directory.
The IPOPT configuration script will then find this file and compile
it into the IPOPT library (just as is would compile MA27).
Yet another note: If you have a precompiled library containing the
Harwell codes, you can specify the location of this library with the
--with-hsl flag for the configure script described in
Section 2.3.
Next: Obtaining the MUMPS Linear
Up: Download External Code
Previous: Download BLAS, LAPACK and
Contents
Andreas Waechter
2008-08-26