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:
- Linux using g++ version 4.5
- Windows using version Cygwin 1.5.18
- Mac OS X using gcc 4.5
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
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
For a more in depth description of these options, the reader is invited to refer to
the COIN-OR BuildTools trac page.
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
config.site.
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 config.site 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 config.site file:
with_cplex_lib="/usr/ilog/cplex/lib/libcplex.a -lpthread"
with_cplex_incdir="/usr/ilog/cplex/include/ilcplex -lm"
(You will find a config.site example in the subdirectory BuildTools of
Bonmin-1.8.)
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).
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.
By issuing the command
make test , you
build and run the automatic test program for
BONMIN.