These are quick install instructions mainly intended for UNIX-like systems
(including Linux, OS X, AIX, Cygwin and MSys). Additional details for building
this and other COIN projects are available at
https://projects.coin-or.org/BuildTools
You can find instructions for building with Microsoft Visual Studio under
Windows at
https://projects.coin-or.org/MSVisualStudio
**********************************************************************
*** DOWNLOAD ***
**********************************************************************
Pre-built binaries are available for some versions of Cbc on some platforms.
They can be downloaded at
http://www.coin-or.org/download/binary/Cbc
If you would like to build from source, you can obtain the source code for the
Cbc package in two ways:
1. Obtain the source directly from the COIN-OR subversion repository
(recommended). For this you needs the program 'svn' installed on your
machine, and output of "svn --version" must contain "handles 'https'
scheme". On Windows, it is recommended to get the source with the SVN
client TortoiseSVN (http://tortoisesvn.net).
Assuming that you want to download a release version 2.7.0, as an example,
you would execute the command
svn co https://projects.coin-or.org/svn/Cbc/releases/2.7.0 Cbc-2.7.0
You can similarly get source for the latest stable version or the trunk
(development) version.
2. Download the tarball from http://www.coin-or.org/download/source/Cbc
and extract it. For example, for the release 2.7.0 you type
gunzip Cbc-2.7.0.tgz
tar xvf Cbc-2.7.0.tar
**********************************************************************
*** CONFIGURATION ***
**********************************************************************
Go into the directory that you just downloaded or extracted (e.g., Cbc-2.7.0).
Then create a build directory and configure the package by typing
mkdir build
cd build
../configure
Note that you might have to specify additional options, in case you
don't want to use the default choices that configure makes (e.g.,
compilers). Please visit
https://projects.coin-or.org/BuildTools/
and the Cbc Trac page
https://projects.coin-or.org/Cbc
for more information.
If everything went fine, you will see at the end of the output
"Main configuration of Cbc successful"
**********************************************************************
*** COMPILATION AND INSTALLATION ***
**********************************************************************
In the directory where you ran the configure script:
1. Compile the code by typing
make
2. To test if the code works, you can type
make test
3. To install the code, you type
make install
After this, you will find the executables, libraries and header
files in the "bin", "lib" and "include" subdirectory, respectively.
More information on the compilation and installation can be found at
https://projects.coin-or.org/BuildTools/
**********************************************************************
*** USING CBC ***
**********************************************************************
After installing Cbc, you will have an executable named "cbc" (Unix-like
environments) or "cbc.exe" (Windows). We will call it "cbc" from here on.
The executable "cbc" takes various options. First, run the program in
interactive mode by typing just "cbc" on the command line with no arguments.
You will see the prompt
CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:
Type ? to get some idea of what you can do. The executable can also be run in
batch mode. To simply solve a given instance with default parameter settings, type
cbc
By typing a sequence of interactive commands on the command line
with each command preceded by a "-", you can run set parameters and chane other options. For example, typing
cbc -cuts root -solve
will import file and solve the problem, generating cuts only at the root node.
On Linux, the cbc interactive solver can do file completion and line editing
if built from source with that option enabled.
With the installed libraries, you can also link your own code with the
installed libraries. You can find examples in the
Cbc/examples/
To build these examples, go into the directory build/Cbc/examples and type
make sample1
to build the executable corresponding to sample1.cpp. The two simplest samples
are:
sample.cpp This is a simple program to read an mps file.and solve the
integer problem.
sample2.cpp. This is the benchmark driver for the competition. It overrides
the default branching methods and adds a (mildly useless)
heuristic. It is intended to show you how to add your
own methods. See CbcCompareUser.hpp for how to modify
choice of node from tree. See CbcBranchUser.?pp for
how to modify which variable is chosen at a node. For
more complex stuff such as new types of branches see
CbcBranchBase and CbcBranchActual in directory Cbc.
To see how to add heuristics see CbcHeuristicUser.?pp.
To add cut generators - define them as in Cgl and then just
add them as in sample2.cpp
The script "runtimes" in Samples directory will
run some or all of test set. The version checked in
does some - just take off # to run. An optional time
in minutes can be passed.