In this section we describe how to obtain the source code for MA27 (and MC19) from the Harwell Subroutine Library (HSL) Archive. Those routines are freely available for non-commercial, academic use, but it is your responsibility to investigate the licensing of all third party code. (Since recently, also MA57 (the successor of MA27) is available for free for academic institutions, via the ``HSL 2007 for Researchers'' library, see below.)
The use of alternative linear solvers is described in Sections 2.2.3-2.2.6. 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.
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 satisfy the conditions to use the HSL 2007 for
Researchers library
(see
http://hsl.rl.ac.uk/hsl2007/hsl20074researchers.html), you
can download the MA57 in a way very similar to the procedure outlined
above. To have Ipopt compile it for you, you need to put the source
code into a single file called ma57ad.f (including all
dependencies!) that is in 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). MA57 will perform better with METIS, see
Section 2.2.4.
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.
Andreas Waechter 2010-12-22