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.0.0 you type gunzip Cbc-2.0.0.tgz tar xvf Cbc-2.0.0.tar More detailed download instructions can be found at ********************************************************************** *** 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/wiki/user-compile ********************************************************************** *** 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.