A branch-and-cut mixed integer programming system, called bc-opt, is descri
bed, incorporating most of the valid inequalities that have been used or su
ggested for such systems, namely lifted 0-1 knapsack inequalities, 0-1 gub
knapsack and integer knapsack inequalities, flowcover and continuous knapsa
ck inequalities, path inequalities for fixed charge network flow structure
and Gomory mixed integer cuts. The principal development is a set of interf
ace routines allowing these cut routines to generate cuts for new subsets o
r aggregations of constraints.
The system is built using the XPRESS Optimisation Subroutine Library (XOSL)
which includes a cut manager that handles the tree and cut management, so
that the user only essentially needs to develop the cut separation routines
.
Results for the MIPLIB3.0 library are presented -37 of the instances are so
lved very easily, optimal or near optimal solution are produced for 18 othe
r instances, and of the 4 remaining instances, 3 have 0, +1, -1 matrices fo
r which be-opt contains no special features.