Skip to content


Stefan Vigerske edited this page Mar 4, 2019 · 1 revision

Third Party required code

Bonmin needs a few external packages which are not included in the Bonmin package. The reason why they are not included in the package is that they have licenses which are incompatible with the CPL under which Bonmin is distributed. You should pay attention to the particular licenses of each of them before downloading them.

  1. Lapack (Linear Algebra PACKage)
  2. Blas (Basic Linear Algebra Subroutines)
  3. A sparse linear solver. Either 1.[ HSL] (Harwell Subroutine Library) 1. the sparse linear solver MA27, or MA57 1. optionally (but strongly recommended) MC19 to enable automatic scaling in Ipopt.
    1. or [ MUMPS]
  4. optionally ASL (the Ampl Solver Library), to be able to use Bonmin from Ampl.

Detailed instructions for obtaining required third party required code

(these steps are to be performed after the code has been downloaded).

To obtain ASL, blas and lapack, from the Bonmin distribution main directory:

  1. cd ThirdParty/ASL
  2. ./get.ASL
  3. cd ../Blas
  4. ./get.Blas
  5. cd ../Lapack
  6. ./get.Lapack
  7. cd ../Mumps
  8. ./get.Mumps

Detailed instructions for obtaining optional but strongly recommended third party required code

HSL subroutines are available freely for non-commercial academic use. It is your responsibility to investigate the licensing. If you have the right to use the non-commercial academic version of HSL. There is an open source alternative to HSL but unfortunately it does not offer the same performances. If you don't have the right to use the non-commercial academic version of HSL you can use MUMPS, to install it simply go into the ThirdParty/Mumps subdirectory and type run get.Mumps.

Here is how to proceed with the installation of the HSL libraries:

  1. cd ../HSL
  2. Connect to the website:
  3. Subscribe for free to get an account and download the files MA27 (or MA57) and MC19 (the double precision versions, only them, no additional material). if the "save as" botton does not work, simply cut and paste each file. these files must be saved in the current directory (HSL) with names "ma27ad.f" and "mc19ad.f".