Combinatorial Optimization with Graph Convolutional Networks and Guided Tree Search
About
We present a learning-based approach to computing solutions for certain NP-hard problems. Our approach combines deep learning techniques with useful algorithmic elements from classic heuristics. The central component is a graph convolutional network that is trained to estimate the likelihood, for each vertex in a graph, of whether this vertex is part of the optimal solution. The network is designed and trained to synthesize a diverse set of solutions, which enables rapid exploration of the solution space via tree search. The presented approach is evaluated on four canonical NP-hard problems and five datasets, which include benchmark satisfiability problems and real social network graphs with up to a hundred thousand nodes. Experimental results demonstrate that the presented approach substantially outperforms recent deep learning work, and performs on par with highly optimized state-of-the-art heuristic solvers for some NP-hard problems. Experiments indicate that our approach generalizes across datasets, and scales to graphs that are orders of magnitude larger than those used during training.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Maximum Independent Set | ER [700-800] | Solution Size38.86 | 48 | |
| Maximum Independent Set | SATLIB | MIS Size420.7 | 23 | |
| Maximum Independent Set | RB [200-300] | MIS Size18.47 | 17 | |
| Maximal Independent Set | SATLIB SAT instances in CNF (test) | MIS Size420.7 | 7 | |
| Maximum Independent Set | ER [9000-11000] | MIS Size284.6 | 5 | |
| Maximum Independent Set | Cora (test) | MIS Size1.45e+3 | 4 | |
| Maximum Independent Set | Citeseer (test) | Independent Set Size1.87e+3 | 4 | |
| Maximum Independent Set | PubMed (test) | Solution Size1.59e+4 | 4 |