Abstract

In recent years the branch-and-cut method, a synthesis of the classical branch-and-bound and cutting plane methods, has proven to be a highly successful approach to solving large-scale integer programs to optimality. This is especially true for mixed 0-1 and pure 0-1 problems. However, other approaches to integer programming are possible. One alternative is provided by so-called augmentation algorithms, in which a feasible integer solution is iteratively improved (augmented) until no further improvement is possible. Recently, Weismantel suggested that these two approaches could be combined in some way, to yield an augment-and-branch-and-cut (ABC) algorithm for integer programming. In this paper we describe a possible implementation of such a finite ABC algorithm for mixed 0-1 and pure 0-1 programs. The algorithm differs from standard branch-and-cut in several important ways. In particular, the terms separation, branching, and fathoming take on new meanings in the primal context.