A Parallel TSP-Based Algorithm for Balanced Graph Partitioning

We propose a heuristic for parallel partitioning of graphs into equi-sized components. In particular, we identify a relationship between the graph partitioning problem (GPP) and the traveling saleman problem (TSP), and use that to reduce partitioning to TSP. Given that better performing heuristics are known for TSP than are for GPP, this reduction also leads to improved GPP heuristics. What is more, a good GPP solution can also be used to speed up computation of TSP.We first derive a good bi-partition from a cut of the TSP cycle in time proportional to the number of edges in the graph. We then continue this bi-partitioning recursively until the required number of partitions are left. Further, in order to speed up the computation of TSP, which we use as a subroutine, we perform an initial rough partitioning of the graph into K parts, compute TSP tours in each of these smaller partitions and then merge these local tours to solve the full TSP.We then use this full TSP solution to obtain the final partitioning in parallel. Our empirical analysis shows that for partition count k ≽ 32, our parallel algorithm gives a cut better in size than that of algorithms known for low cut-size (e.g., KaBaPE), and when time is of concern, it finishes in significantly less time with comparable cuts. We also show that our algorithm gives much smaller cuts in comparable time than those known for fast computation (e.g., PT-Scotch).

[1]  Horst D. Simon,et al.  Partitioning of unstructured problems for parallel processing , 1991 .

[2]  David A. Bader,et al.  588 Graph Partitioning and Graph Clustering , 2013 .

[3]  陳 致中,et al.  Improved Deterministic Approximation Algorithms for Max TSP (計算機科学基礎理論とその応用 研究集会報告集) , 2005 .

[4]  Peter Sanders,et al.  Think Locally, Act Globally: Highly Balanced Graph Partitioning , 2013, SEA.

[5]  George Karypis,et al.  A Software Package for Partitioning Unstructured Graphs , Partitioning Meshes , and Computing Fill-Reducing Orderings of Sparse Matrices Version 5 . 0 , 1998 .

[6]  Keld Helsgaun,et al.  An effective implementation of the Lin-Kernighan traveling salesman heuristic , 2000, Eur. J. Oper. Res..

[7]  Santo Fortunato,et al.  Community detection in graphs , 2009, ArXiv.

[8]  Bruce Hendrickson,et al.  An empirical study of static load balancing algorithms , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[9]  Keld Helsgaun,et al.  An Effective Implementation of K-opt Moves for the Lin-Kernighan TSP Heuristic , 2007 .

[10]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[11]  Jean Roman,et al.  SCOTCH: A Software Package for Static Mapping by Dual Recursive Bipartitioning of Process and Architecture Graphs , 1996, HPCN Europe.

[12]  Zeshui Xu,et al.  Hesitant fuzzy agglomerative hierarchical clustering algorithms , 2015, Int. J. Syst. Sci..

[13]  L. H. Rotger,et al.  An Approximation Algorithm for the TSP , 1989, Inf. Process. Lett..

[14]  Kostas Katrinis,et al.  A Flexible Workload Generator for Simulating Stream Computing Systems , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[15]  Peter Sanders,et al.  Engineering Multilevel Graph Partitioning Algorithms , 2010, ESA.

[16]  Oliver Marquardt,et al.  Open Benchmarks for Load Balancing Heuristics in Parallel Adaptive Finite Element Computations , 2005, PDPTA.