Learning the Travelling Salesperson Problem Requires Rethinking Generalization

Chaitanya K. Joshi, Quentin Cappart, Louis-Martin Rousseau, Thomas Laurent
6/12/2020
cs.LGstat.ML

Official code: chaitjo/learning-tsp (244 stars, MIT, PyTorch, last commit 2021-08-26).

Abstract

End-to-end training of neural network solvers for graph combinatorial optimization problems such as the Travelling Salesperson Problem (TSP) have seen a surge of interest recently, but remain intractable and inefficient beyond graphs with few hundreds of nodes. While state-of-the-art learning-driven approaches for TSP perform closely to classical solvers when trained on trivially small sizes, they are unable to generalize the learnt policy to larger instances at practical scales. This work presents an end-to-end neural combinatorial optimization pipeline that unifies several recent papers in order to identify the inductive biases, model architectures and learning algorithms that promote generalization to instances larger than those seen in training. Our controlled experiments provide the first principled investigation into such zero-shot generalization, revealing that extrapolating beyond training data requires rethinking the neural combinatorial optimization pipeline, from network layers and learning paradigms to evaluation protocols. Additionally, we analyze recent advances in deep learning for routing problems through the lens of our pipeline and provide new directions to stimulate future research.

View on arXivView PDF

Code Implementations(1)

PyTorchMIT

Code for the paper 'Learning TSP Requires Rethinking Generalization' (CP 2021)

24445Shell, PythonJun 12, 20205 years agoMIT
combinatorial-optimizationdeep-learninggraph-neural-networksgraph-representation-learningpytorch+3 more

Similar Papers

Cite this paper

@article{joshi2020learning,
  title  = {Learning the Travelling Salesperson Problem Requires Rethinking Generalization},
  author = {Chaitanya K. Joshi and Quentin Cappart and Louis-Martin Rousseau and Thomas Laurent},
  year   = {2020},
  eprint = {2006.07054},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2006.07054}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2006.07054.svg)](https://codeofpaper.com/paper/2006.07054)

Discussion