A Fast FPGA-Based 2-Opt Solver for Small-Scale Euclidean Traveling Salesman Problem

In this paper we discuss and analyze the FPGA-based implementation of an algorithm for the traveling salesman problem (TSP), and in particular of 2-Opt, one of the most famous local optimization algorithms, for Euclidean TSP instances up to a few hundred cities. We introduce the notion of "symmetrical 2-Opt moves" which allows us to uncover fine-grain parallelism when executing the specified algorithm. We propose a novel architecture that exploits this parallelism, and demonstrate its implementation in reconfigurable hardware. We evaluate our proposed architecture and its implementation on a state-of-the-art FPGA using a subset of the TSPLIB benchmark, and find that our approach exhibits better quality of final results and an average speedup of 600% when compared with the state-of-the-art software implementation. Our approach produces, to the best of our knowledge, the fastest to date TSP 2-Opt solver for small-scale Euclidean TSP instances.

[1]  John Wawrzynek,et al.  BEE2: a high-end reconfigurable computing system , 2005, IEEE Design & Test of Computers.

[2]  Emile H. L. Aarts,et al.  A parallel 2-opt algorithm for the Traveling Salesman Problem , 1995, Future Gener. Comput. Syst..

[3]  Jani Lainema,et al.  Adaptive deblocking filter , 2003, IEEE Trans. Circuits Syst. Video Technol..

[4]  Vivek Sarkar,et al.  Baring It All to Software: Raw Machines , 1997, Computer.

[5]  Dionisios N. Pnevmatikatos,et al.  Hardware Implementation of 2-Opt Local Search Algorithm for the Traveling Salesman Problem , 2007, 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP '07).

[6]  Richard M. Karp,et al.  Probabilistic Analysis of Partitioning Algorithms for the Traveling-Salesman Problem in the Plane , 1977, Math. Oper. Res..

[7]  David S. Johnson,et al.  Experimental Analysis of Heuristics for the STSP , 2007 .

[8]  Paul Chow,et al.  A Scalable FPGA-based Multiprocessor , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[9]  Iouliia Skliarova,et al.  FPGA-Based Implementation of Genetic Algorithm for the Traveling Salesman Problem and Its Industrial Application , 2002, IEA/AIE.

[10]  Edward A. Lee The problem with threads , 2006, Computer.

[11]  D. Marpe,et al.  Video coding with H.264/AVC: tools, performance, and complexity , 2004, IEEE Circuits and Systems Magazine.

[12]  M. Gokhale,et al.  FPGA computing in a data parallel C , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[13]  James R. A. Allwright,et al.  A distributed implementation of simulated annealing for the travelling salesman problem , 1989, Parallel Comput..

[14]  David S. Johnson,et al.  The Traveling Salesman Problem: A Case Study in Local Optimization , 2008 .

[15]  Brent E. Nelson,et al.  Tradeoffs of designing floating-point division and square root on Virtex FPGAs , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[16]  Carl Ebeling,et al.  PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[17]  Brent E. Nelson,et al.  A Hardware Genetic Algorithm for the Travelling Salesman Problem on SPLASH 2 , 1995, FPL.