Skip to content

felix-cfzhou/GNN-Combinatorial-Optimization

Repository files navigation

Weighted Maximum Independent Set Heuristics with Graph Neural Networks

Usage

In general, we expect graphs in the METIS format.

See the following for generating Erdos-Reyni and Watts-Strogatz graphs

scripts/gen_erdos_reyni_small.sh
scripts/gen_watts_strogatz.sh

If we wish to work with the PACE 2019 Vertex Cover Dataset, it must be downloaded, uncompressed, and converted to the METIS format. There is a utility function for doing so.

See the following for (non-exhaustive) examples for model training. Weights are saved to an indicated directory.

scripts/train_baseline_er_small.sh
scripts/train_wmvc_er_small.sh

See the following for examples of running the heuristic

scripts/er_small_baseline.txt
scripts/er_small_output.txt

We can also run the greedy heuristic and local search algorithms as in below

scripts/er_small_greedy.txt
scripts/local_search_er_small.txt

Note that to run the local search algorithm, a compiled binary for KaMIS is required.

Directories

  • metrics: csv files for heuristic performance on all graphs
  • models: compressed weights per architecture-dataset pair, saved every few epochs
  • notebooks: Jupyter notebooks for analysis and output figures
  • scripts: scripts used for preprocessing / generating data, training models, and running heuristics / baselines
  • wmis_gnn_py: python utility functions with commandline interfaces

See here for more explanation of python files.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published