Supported problems:
- max clique (optimization & decision),
- subgraph isomorphism,
- maximum common induced subgraph and its encoding as max clique for labelled and unlabelled graphs,
- graph edit distance (GED):
- a constraint programming model,
- 2 encodings as minimum weight clique:
- with weights on vertices,
- with weights on both vertices and edges.
- Set the relevant parameters at the top of Makefile.
- Make sure the MiniZinc models listed as prerequisites of some of the targets are set correctly.
- Run
make targetfor your selected target. The results will be gradually written to eitherclique.csvorsubgraph.csvor both, depending on the target. - Modify
results/plotting.Ras needed to extract meaningful information from the data.
- Set the relevant parameters at the top of Makefile.
DATABASEcan be one of:CMU,GREC,Mutagenicity,Protein. - Run
make cleanif you're changing theINFO_FILEbut notDATABASE, otherwise Step 3 will run experiments for both old and new data. Warning: it will remove the CSV files as well. - Run
make convert-model, wheremodelis one of:cp,vertex-edge-weights,vertex-weights,mwc. The first three are MiniZinc models, the last one is a C program. This converts the pairs of graphs mentioned in theINFO_FILEinto either DZN or DIMACS format for the appropriate model. Note that if a generated file already exists, it will NOT be overwritten. - Run
make model(for the same value ofmodel) and results will be gradually written tomodel.csv. Use-jand-lflags to run multiple different problem instances in parallel. - Modify and use
results/plotting2.Ras needed to extract meaningful information from the data.
Some minimalistic testing can be run using make test. Before running the command, run make clean to remove data files so the algorithms don't get run on them, and edit the parameters at the top of the Makefile so that:
- parameters for non-GED problems are not too big, so the tests don't take too long;
DATABASEis set toGREC;INFO_FILEis set to the GREC5 low level info file;INT_VERSIONis disabled;SET_INCUMBENTis disabled. This will check if the necessary files are created and if they contain an appropriate number of commas in each line (where appropriate). CP model is currently not tested as it doesn't properly support floating-point numbers.
- If you run a
make modelcommand several times, the results file will be overwritten. - Sometimes the graph generator can output data files that are clearly unsatisfiable. That may result in one of the following:
WARNING: model inconsistency detected,Error: syntax error, unexpected |]. The latter case produces a half-empty line in the results file because the model cannot be run on a completely empty adjacency matrix. These errors can be safely ignored.