Skip to content
nimgould edited this page May 3, 2024 · 13 revisions

GALAHAD, a library of packages for nonlinear optimization

GALAHAD is an evolving library of modern Fortran packages, with C, Python and Matlab interfaces, for nonlinear optimization. It contains packages for general constrained and unconstrained optimization, linear and quadratic programming, nonlinear least-squares fitting and approximate global optimization, as well as those for solving a large variety of basic optimization subproblems. Since 2017, the library has been available as open-source software, initially under LGPL 3.0, but now under the more permissive BSD three-clause licence.

To use GALAHAD, you will need to install three packages, ARCHDefs, GALAHAD and the HSL Archive. If you plan to use GALAHAD to solve problems written as .SIF files, you will also need the package SIFDecode. If, in addition, you plan to use the CUTEst interfaces to the GALAHAD's QP, least-squares fitting and/or regularization routines, you will need the package CUTEst; CUTEst is not necessary if you simply wish to use LANCELOT B to solve problems written as .SIF files. If you are an academic with a recognised academic email address, you may enhance the behaviour of GALAHAD by obtaining additional relevant packages from HSL itself.

To keep things simple, install all of the required packages in the same directory:

  • To download ARCHDefs using svn,

             svn checkout --username anonymous https://github.com/ralna/ARCHDefs/trunk ./archdefs

         (with a blank password if prompted), or, using git,

             git clone https://github.com/ralna/ARCHDefs ./archdefs

         or go to the web page 

              https://github.com/optimizers/archdefs-mirror/releases

         and download/unpack one of the available stable zip or tar bundles.

  • To download GALAHAD using svn,

             svn checkout --username anonymous https://github.com/ralna/GALAHAD/trunk ./galahad

         (with a blank password if prompted), or, using git,

             git clone https://github.com/ralna/GALAHAD ./galahad

  • To obtain the required HSL Archive files, go to

             http://www.hsl.rl.ac.uk/download/hslarchive-galahad/latest

         complete the download form, and obtain a zip/tar.gz bundle immediately by email.

  • To download SIFDecode using svn,

             svn checkout --username anonymous https://github.com/ralna/SIFDecode/trunk ./sifdecode

         (with a blank password if prompted), or, using git,

             git clone https://github.com/ralna/SIFDecode ./sifdecode

         or go to the web page 

             https://github.com/optimizers/sifdecode-mirror/releases

          and download/unpack one of the available stable zip or tar bundles.

  • To download CUTEst using svn,

             svn checkout --username anonymous https://github.com/ralna/CUTEst/trunk ./cutest

         (with a blank password if prompted), or, using git,

             git clone https://github.com/ralna/CUTEst ./cutest

          or go to the web page

             https://github.com/optimizers/cutest-mirror/releases

          and download/unpack one of the available stable zip or tar bundles.

  • Finally, to obtain the optional HSL files if you are an academic, go to

             http://www.hsl.rl.ac.uk/download/hsl-galahad/latest/d

         complete the download form, wait to be authorized and obtain a zip/tar.gz bundle by email.

Now follow the instructions in the ./galahad/README file.

Documentation is available here.

Clone this wiki locally