Source Code

Most of the Open Source code that I wrote is available through the COIN-OR repository. COIN-OR related code not available there can be found on the COIN-OR material page.


test_cutgen_safety is a code (written by G. Nannicini) for testing accuracy of cut generators. It requires separate installation of the commercial code ILOG CPLEX-12.2, the open-source code Cbc-2.7 (a COIN-OR package) and Python version 2.7.*. In addition, the open-source exact LP solver QSopt_ex (version 090408) is included in the tar ball. The tar ball below contains all the files and codes to generate the results of the paper "On the Safety of Gomory Cut Generators".

The tar ball below can be used to modify the code extracted from the above tar ball to test a new generator relatively easily.


ISOP is a code for solving pure integer linear programs with a large symmetry group. See the papers "Symmetry in Integer Linear Programming" and "Symmetric ILP: Coloring and Small Integers". It relies on COIN-OR packages. The tar balls below are self-contained. ISOP-1.0 works with Clp or Cplex (only up to version 12.2) as LP solver, while ISOP-1.1 and ISOP-1.2 work only with Cplex (all versions) due to incorrect return codes from Clp while doing strong branching. The only difference between version 1.0 and the others two is that ISOP-1.0 relies on Bcp/stable/1.1 while ISOP-1.1 and ISOP-1.2 relies on Bcp/stable/1.3. This changes mostly the tree exploration code in Bcp, triggering some modifications in the BCP_ISO code. As a result, be sure to use the parameter file bb.par corresponding to the code you use, there are some important differences between the versions. The code should compile on most Linux distributions (Fedora, Ubuntu, Debian) with a relatively recent gcc compiler.


Clp_cut is a code for testing accuracy and strength of cut generators. Analysis of the results is done using the open-source package for statistical analysis called R and relies on COIN-OR packages. The tar ball below contains all the files and codes to generate the results of the paper "Testing Cut Generators for Mixed-Integer Linear Programming".

The tar ball below has the most recent version of the code. It tracks gap closed at given depth and depth to close given percentage of gap. This is the code used to generate the results of the paper "Experiments with Two-Row Cuts from Degenerate Tableaux".


Domcheck is a program that computes minimal linear descriptions of projections of polytopes. It can also be used to remove redundancy in a system of linear inequalities. Two versions are available:

Back to main page