ABACUS (A Branch-And-CUt System) is a software system which provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations that can be complemented with the dynamic generation of cutting planes or columns (branch-and-cut, branch-and-price, branch-and-cut-and-price).
This system allows the software developer to concentrate merely on the problem specific parts, i.e., the cutting plane and column generation and the primal heuristics. Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., enumeration and branching strategies, from which the user of the system can choose the best alternative for his application. Finally, ABACUS provides many basic data structures and useful tools for the implementation of such algorithms.
ABACUS 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 essential for a software framework. These requirements are met by object oriented programming techniques. Therefore, ABACUS is implemented as a collection of C++ classes.
The current version also has an interface to the LP-solver SoPlex, generalized strong branching, and a new pool that avoids the storage of duplicate items.
Current Version: 2.3
License Type: Commercial
Source Code Availability:
Available Binary Packages:
Mailing Lists/USENET News Groups:
See A Screen Shot? (Not Yet)