Welcome to ABACUS - A Branch-And-CUt System

Note that these project webpages are based on Wiki, which allows webusers to share their experience and tips with other users. You are welcome to contribute to ABACUS. To submit a ticket you must first register and login.


ABACUS is a software system written in C++ that provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations. Cutting planes or columns can be generated dynamically (branch-and-cut, branch-and-price, branch-and-cut-and-price).

ABACUS allows the software developer to concentrate merely on the problem specific parts, i.e., the separation of cutting planes, column generation, and primal heuristics.

ABACUS supports the Open Solver Interface (Osi) developed by the COIN-OR (COmputational INfrastructure for Operations Research) project which means that every solver supported by OSI can be used to solve the relaxations.

Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., a list of different enumeration and branching strategies from which the best alternative for the user's application can be chosen.

Finally, ABACUS provides many basic data structures and useful tools for the implementation of such algorithms. It is designed both for general mixed integer optimization problems and for combinatorial optimization problems. It unifies cutting plane and column generation within one algorithm framework. Simple reuse of code and the design of abstract data structures and algorithms are met by object oriented programming modules.

ABACUS is open source software. It is developed by the Chair of Computer Science - Prof. Dr. Michael Jünger at the University of Cologne. ABACUS is distributed under both the lesser GNU General Public License and the Common Public License. For a description of these license models see lGPL and CPL.

Download & Installation

For a detail description please visit installation.


Bugs and feedback should be reported to abacus@…. You can find some hints how to report bugs in the README file of the distribution.

There is a new mailing list for every kind of ABACUS related discussions. New releases of the library will also be announced on the mailing list. In order to subscribe please go to abacus-forum.

Reference Manual & User's Guide

We provide a Reference Manual (generated by doxygen) and a User's Guide. For your convenience you may want to bookmark the links below.

Reference Manual (doxygen-version)

ABACUS 3.0, User's Guide and Reference Manual (html-version)

ABACUS 3.0, User's Guide and Reference Manual (pdf-version)


Branch-and-Cut Algorithms for Combinatorial Optimization and Their Implementation in ABACUS

published in 2001 by Springer in the book "Computational Combinatorial Optimization" (edited by Michael Jünger, Denis Naddef), series "Lecture Notes in Computer Science", volume 2241, pages 157-222

The ABACUS System for Branch-and-Cut-and-Price Algorithms in Integer Programming and Combinatorial Optimization

published in 2000 in the journal "Software: Practice and Experience", volume 30, pages 1325-1352 (Article by Michael Jünger, Stefan Thienel)

Last modified 13 years ago Last modified on Jul 31, 2008 5:05:12 AM