Installing BONMIN / Configuring Cplex / Compiling BONMIN in a external directory / Building documentation / Running test program /


Installing BONMIN

The build process for BONMIN should be fairly automatic as it uses GNU autotools. It has been successfully compiled and run on the following platforms:

For Cygwin and OS X some specific setup has to be done prior to installation. These step are described on the wiki pages of Bonmin CygwinInstall and OsxInstall.

BONMIN is compiled and installed using the commands:

./configure -C  
make install

If the ASL source had been obtained, this installs the executable bonmin in Bonmin-1.8/bin. In what follows, we assume that you have put the executable bonmin on your path.

The configure script attempts to find all of the machine specific settings (compiler, libraries,...) necessary to compile and run the code. Although configure should find most of the standard ones, you may have to manually specify a few of the settings. The options for the configure script can be found by issuing the command

./configure --help

For a more in depth description of these options, the reader is invited to refer to the COIN-OR BuildTools trac page.

Specifying the location of Cplex libraries

If you have Cplex installed on your machine, you may want to use it as the Mixed Integer Linear Programming subsolver in B-OA, B-Hyb and B-iFP. To do so you have to specify the location of the header files and libraries. You can either specify the location of the header files directory by passing it as an argument to the configure script or by writing it into a

In the former case, specify the location of the Cplex header files by using the argument --with-cplexincdir and the location of the Cplex library with --with-cplexlib (note that on the Linux platform you will also need to add -lpthread -lm as an argument to --with-cplexlib).

For example, on a Linux machine if Cplex is installed in /usr/ilog , you would invoke configure with the arguments as follows:

./configure --with-cplex-incdir=/usr/ilog/cplex/include/ilcplex \  
  --with-cplex-lib="/usr/ilog/cplex/lib/libcplex.a -lpthread -lm"  

In the latter case, put a file called in a subdirectory named share of the installation directory (if you do not specify an alternate installation directory to the configure script with the --prefix argument, the installation directory is the directory where you execute the configure script). To specify the location of Cplex , insert the following lines in the file:

 with_cplex_lib="/usr/ilog/cplex/lib/libcplex.a -lpthread"  
 with_cplex_incdir="/usr/ilog/cplex/include/ilcplex -lm"  

(You will find a example in the subdirectory BuildTools of Bonmin-1.8.)

Compiling BONMIN in a external directory

It is recommended to compile BONMIN in a directory different from the source directory (Bonmin-1.8 in our case). This is convenient if you want to have several executables compiled for different architectures or have several executables compiled with different options (debugging and production, shared and static libraries) but also because you don’t modify the directory where the sources are.

To do this just create a new directory, for example Bonmin-build in the parent directory of Bonmin-1.8 and run configure from Bonmin-build:

../Bonmin-1.8/configure -C

This will create the makefiles in Bonmin-build, and you can then compile with the usual make and make install (in Bonmin-build).

Building the documentation

The documentation for BONMIN consists of a users’ manual (this document) and a reference manual. You can build a local copy of the reference manual provided that you have Latex and Doxygen installed on your machine. Issue the command make doxydoc in Bonmin-1.8. It calls Doxygen to build a copy of the reference manual. An html version of the reference manual can then be accessed in doc/html/index.html.

Running the test programs

By issuing the command make test , you build and run the automatic test program for BONMIN.