wiki:WikiStart

Version 21 (modified by anonymous, 13 years ago) (diff)

--

COIN-OR Cut Generation Library

The COIN-OR Cut Generation Library (CGL) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or Bcp.

Language: C++.
License: CPL.
Mailing list: coin-discuss@…
Project Manager: Robin Lougee-Heimer.

Each cut generator is in a separate directory with its own maintainer. All generators are combined in one library when Cgl is compiled.

Available Generators with maintainers names:

Download and Installation Instructions

Cgl is written in C++ and is released as open source code under the Common Public License (CPL). It is available from the COIN-OR initiative.

You can obtain the Cgl source code either via subversion or in form of nightly generated tarballs. The recommended method is subversion because it makes it easier to handle updates. Note that Cgl is automatically downloaded when you download other COIN packages (e.g. Cbc, Bcp, SYMPHONY) using Cgl. The compilation and installation of Cgl, in that case, is handled from the base COIN package. The following instructions are useful only if you dowloaded Cgl as a stand-alone package.

The following commands may be used to obtain and build Cgl from the source code using subversion and default settings:

  1. svn co https://www.coin-or.org/svn/Cgl/trunk coin-Cgl
  2. cd coin-Cgl
  3. ./configure -C
  4. make
  5. make test
  6. make install

Step 1 issues the subversion command to obtain the source code. Alternatively the source code can be obtained from the tarball directory, by downloading a file with name of the form Cgl_YYYYMMMDD.tgz.

Step 3 runs a configure script that generates the make file.

Step 4 builds the Cgl library and executable program.

Step 5 builds and runs the Cgl unit test program.

Step 6 Installs libraries, executables and header files in directories coin-Cgl/lib, coin-Cgl/bin and coin-Cgl/include.

The BuildTools project has additional details on downloading, building, installing, available options and troubleshooting.

CGL FAQs:

Q: What is CGL?
A: CGL is a Cut Generator Library which will include standard cuts from the literature and provide a starting point for more advanced and problem specific cuts.

Q: What platforms does CGL run on?
A: CGL has been tested on:

  • AIX V4.3 using g++ V2.95.2 or higher
  • Windows using Microsoft Visual C++ V6
  • Windows under Cygwin
  • Linux using g++ V2.95.2 or higher
  • Solaris (SunOS 5.6 and 5.8) using g++ V2.95.2 or higher


Q: What LP and MIP solvers does CGL use?
A: CGL uses the abstract class OsiSolverInterface? to use or communicate with a solver. It does not directly call a solver.

Hints and Tricks

Got one? Add it here.