Home
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
.
Current Release:
Current Stable Version:
Cgl
is written in C++ and is released as open source code under the Eclipse Public License (EPL). It is available from the COIN-OR initiative.
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 link to their Wiki page are listed below:
-
Combinatorial cuts:
- CglAllDifferent
- CglClique
- CglKnapsackCover
- CglOddHole
- CglZeroHalf
-
Flow cover cuts:
- CglFlowCover
-
Gomory cuts and variants:
- CglGomory
- CglGMI
- CglRedSplit
- CglRedSplit2
-
Lift-and-project cuts:
- CglLiftAndProject
- [wiki:CglLandP]
-
Mixed integer rounding cuts and variants:
- CglMixedIntegerRounding
- [wiki:CglMixedIntegerRounding2]
- CglTwomir
- CglResidualCapacity
-
Strengthening:
- CglDuplicateRow
- CglPreprocess
- CglProbing
- CglSimpleRounding
If you want to obtain precompiled binaries (executables and libraries), please go to the COIN-OR binaries site.
A binary distribution of Cgl
is available only for some (common) platforms. The most up to date version will come bundled with the CoinAll distribution
For Unix-like systems (Unix, Linux, MacOS X, Cygwin, MSys), the quick download and installation guide works in most cases if you don't have particular requirements.
For MS Visual Studio (MSVC), the MSVisualStudio project wiki gives information on which projects provide MSVC project files and how they can be used.
For more detailed instructions, go to the CoinHelp page.
If you download the Cgl
package, you get these additional projects.
- Help with COIN-OR: CoinHelp page.
- Cgl FAQs.
- Cgl html documentation
-
Cgl
mailing lists:- For general questions: Cgl mailing list.
- For tickets: Cgl-tickets mailing list.
- For
Cgl
-subproject managers: Cgl-managers mailing list.
- Reporting bugs:
- For download and installation: Go to the [WikiStart BuildTools Trac page] and post a new ticket. Follow these instructions.
- For a
Cgl
Bug: Post a new ticket. Follow these instructions.
- Papers/Presentations related to Cgl
- COIN-OR home page
- Information for Cgl subproject managers
Is there an improvement to CGL that you need? A frustration with the current design you want fixed? A neat idea you'd like to throw out? Add your wish to the list below. Or better yet, contribute your implementation that addresses one of the items below.
- Have a standard interface to all cut generators <wisher: Francois Margot, June, 2006>
- Interface needs to re-thought. Instead of the solver interface, pass in (1) what the instance is, and (2) what the solution is. Please separate those two things. If the cut needs more information, make that an optional parameter. <wisher: Jeff Linderoth, July 18, 2006>
- All cut generators use the same value for infinity <wisher: Cindy Phillips, July 18, 2006>
- A design for interrogating the problem once up front (e.g., building implication tables), caching the information for use later on. <wisher: Robin Lougee and many others, July 18, 2006>
- Numerical stability of all cut generators <wisher: Francois Margot, July 19, 2006>
- Francois -- which cuts have you experienced issues with? Robin
- Make CGL independent of OSI. See cgl list Nov 13, 2006 post from Matt Galati.
- what's yours?
Note that these project web pages are based on Wiki, which allows users to modify the content to correct typos, add information, or share their experience and tips with other users. You are welcome to contribute to these project web pages. To edit these pages or submit a ticket you must first register and login.