Code source Info

The code source is available here, along with several instances.
To understand how the code is written, you can check the CODE_GUIDELINES file.

Compilation

To compile, type make, but you only need to have Cplex installed in a standard Cplex installation path scanned by the Makefile, e.g., in /opt/ibm/ILOG/.
Our promise: if Cplex is installed in a standard installation path as above, gnu g++ compiles the program without problems. However, if you do encounter any problem, tell us (daniel.porumbel at cnam.fr) an we'll make it right.

Usage examples

./main int ./easyInstances/easiest-graph-random-demMax010-edg80-vtx40-id1.dat
Solves the provided instance using the intersection method (int).
./main std ./easyInstances/easiest-graph-random-demMax010-edg80-vtx40-id1.dat
Solves the provided instance using the standard method (std).
See more usage examples below. You could check the following screenshot.

More results

Here are some complementary results on very large graphs.

More usage examples

You can simply type ./main to see more usages:
MAIN USAGE: ./main method instanceFile [runs] 
             - method can be : "std", "int", "stdrnd", "intrnd", (rnd indicating randomized run), see below. 
             - if you do not provide a number of [runs], the program prints the progress messages of 
	       the sub-problems and the Cutting Planes.
The method field can be one of the following:
std            standard separation method
stdrnd         standard separation method randomized
int            intersection method
intrnd         intersection method randomized
intrndband3    intersection method with a bandwidth of 3
stdrndband3    standard method with a bandwidth of 3
intrndband3lp  linear relaxation, randomized intersection method with bandwidth of 3
stdrndband3lp  linear relaxation, randomized standard method with bandwidth of 3