Download


Latest stable version is 0.4.1. Download statically linked binaries according to your machine architecture. Solvers are linked to CLP, IPOPT, Filter-SQP, and BQPD for solving subproblems.

Source Code


Source code is available through Github



Compiling Minotaur on Linux

First install wget, g++, gfortran, pkg-config (pkgconf), make, cmake, and lapack (libatlas-dev) on your computer. These are readily available on Linux distributions. Then open a terminal and clone or update the source code. To clone the GitHub repository of Minotaur, do:

git clone https://github.com/coin-or/minotaur minotaur
cd minotaur
git pull

'minotaur' directory should have the LICENSE and README.md files. Once you are in this directory, run the following commands to compile all third-party libraries.

cd third-party
./build_third_party -j NCPUS

where NCPUS is the number of CPUs on your computer. If all libraries are compiled, change back to the Minotaur directory and run these commands to compile Minotaur:

mkdir build
cd build
cmake -DTHIRD_PARTY_PATH:PATH=../third-party/ ..
make install -j NCPUS

where NCPUS is the number of CPUs in your computer. It will build the solvers in the bin/ directory and libraries lib/ directory.

Compiling Minotaur on Windows

Minotaur can be compiled using MSYS2 . MSYS2 provides Linux-like tools for compiling and linking binaries.

1. Install MSYS2 on Windows.

2. Launch a MinGW 64-bit terminal from the start menu. Update the installed packages.

pacman -Syu

3. If packages were upgraded, close the shell, again open MinGW 64-bit terminal and run the above command again. Keep repeating this cycle until no more updates are installed.

4. Install additional packages for compiling C++ and Fortran as follows.

pacman -S git mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-cmake cmake pkg-config wget autoconf make perl mingw-w64-x86_64-make tar ca-certificates

5. Get Minotaur from GitHub

git clone https://github.com/coin-or/minotaur.git minotaur

6. Change the directory to third-party

cd minotaur/third-party

7. Compile third-party libraries that are required by Minotaur. This step takes a long time, as it compiles ASL, CLP, LAPACK, IPOPT, CPPUNIT, etc. The -j4 option tells the script to compile in parallel using 4 CPUs. Adjust this number to the number on your computer.

./build_third_party -s -f -b -w -j4

8. Check that there is now an include, a bin, and a lib folder inside the third-party directory. Finally, compile Minotaur in a new directory different from third-party.

cd ..
mkdir build
cd build
cmake -G "MSYS Makefiles" -DTHIRD_PARTY_PATH=${HOME}/minotaur/third-party/ -DBUILD_SHARED_LIBS:BOOL=OFF -DUSE_FILTERSQP:BOOL=OFF ..
make
make install

9. You should now see several binaries in the bin/ folder of the build directory. Each of them is a solver. Library files should be seen in the lib/ folder of the build directory. The above procedure installs Minotaur without FilterSQP and BQPD solvers.

Running Solvers

Solvers can be run in a terminal or be called through AMPL or Pyomo. They take .nl files as input. First, add to your PATH, the bin directory where the solvers are installed. Then from the command line, you can run:

mbnb stub.nl

Options can also be provided

mbnb --log_level 4 --nlp_engine IPOPT --bnb_time_limit 100 stub.nl

To see all options

mbnb -=

To display the version information

mbnb -v

You may replace mbnb by mqg, or mglob, etc., for other solvers.