A branch-and-cut mixed integer programming system, called bc-opt, is described, incorporating most of the valid inequalities that have been used or suggested for such systems, namely lifted 0-1 knapsack inequalities, 0-1 gub knapsack and integer knapsack inequalities, ﬂow cover and continuous knapsack inequalities, path inequalities for ﬁxed charge network ﬂow structure and Gomory mixed integer cuts. The principal development is a set of interface routines allowing these cut routines to generate cuts for new subsets or 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 solved very easily, optimal or near optimal solution are produced for 18 other instances, and of the 4 remaining instances, 3 have 0, +1, -1 matrices for which bc-opt contains no special features
['Cecile Cordier', 'Hugues Marchand', 'Richard Laundy', 'Laurence A. Wolsey']
bc-opt :A branch-and-cut code for mixed integer programs