Mathematical Programming

, Volume 153, Issue 2, pp 417–458 | Cite as

An exact combinatorial algorithm for minimum graph bisection

  • Daniel Delling
  • Daniel Fleischman
  • Andrew V. Goldberg
  • Ilya Razenshteyn
  • Renato F. Werneck
Full Length Paper Series A

Abstract

We present a novel exact algorithm for the minimum graph bisection problem, whose goal is to partition a graph into two equally-sized cells while minimizing the number of edges between them. Our algorithm is based on the branch-and-bound framework and, unlike most previous approaches, it is fully combinatorial. We introduce novel lower bounds based on packing trees, as well as a new decomposition technique that contracts entire regions of the graph while preserving optimality guarantees. Our algorithm works particularly well on graphs with relatively small minimum bisections, solving to optimality several large real-world instances (with up to millions of vertices) for the first time.

Keywords

Bisection Branch-and-bound Graph partition  Combinatorial algorithms 

Mathematics Subject Classification

90C27 90C35 90C57 05C85 

Notes

Acknowledgments

We thank Diego Nehab and Dzung T. Phan for giving us access to some of the benchmark instances tested here. We also thank Haim Kaplan, Eduardo Uchoa, Manuel Sorge, Bob Tarjan, and Tony Wirth for interesting discussions, and anonymous referees for their helpful comments on the conference and journal versions of this article.

References

  1. 1.
    Armbruster, M.: Branch-and-cut for a semidefinite relaxation of large-scale minimum bisection problems. Ph.D. thesis, Technische Universität Chemnitz (2007)Google Scholar
  2. 2.
    Armbruster, M.: Graph bisection and equipartition (2007). http://www.tu-chemnitz.de/mathematik/discrete/armbruster/diss/
  3. 3.
    Armbruster, M., Fügenschuh, M., Helmberg, C., Martin, A.: A comparative study of linear and semidefinite branch-and-cut methods for solving the minimum graph bisection problem. In: Proceedings of the Conference on Integer Programming and Combinatorial Optimization (IPCO), LNCS, vol. 5035, pp. 112–124 (2008)Google Scholar
  4. 4.
    Armbruster, M., Fügenschuh, M., Helmberg, C., Martin, A.: LP and SDP branch-and-cut algorithms for the minimum graph bisection problem: a computational comparison. Math. Progr. Comput. 4(3), 275–306 (2012)CrossRefMATHGoogle Scholar
  5. 5.
    Bader, D.A., Meyerhenke, H., Sanders, P., Wagner, D.: Graph Partitioning and Graph Clustering–10th DIMACS Implementation Challenge Workshop, Contemporary Mathematics, vol. 588. American Mathematical Society and Center for Discrete Mathematics and Theoretical Computer Science (2013). http://www.cc.gatech.edu/dimacs10/
  6. 6.
    Barnard, S.T., Simon, H.: Fast multilevel implementation of recursive spectral bisection for partitioning unstructured problems. Concurr. Comput. Pract. Exp. 6(2), 101–117 (1994)CrossRefGoogle Scholar
  7. 7.
    Bauer, R., Delling, D.: SHARC: Fast and robust unidirectional routing. ACM J. Exp. Algorithmics 14(2.4), 1–29 (2009)MathSciNetGoogle Scholar
  8. 8.
    Bhatt, S.N., Leighton, F.T.: A framework for solving VLSI graph layout problems. J. Comput. Syst. Sci. 28(2), 300–343 (1984)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Brunetta, L., Conforti, M., Rinaldi, G.: A branch-and-cut algorithm for the equicut problem. Math. Program. 78, 243–263 (1997)MathSciNetMATHGoogle Scholar
  10. 10.
    Budiu, M., Delling, D., Werneck, R.F.: DryadOpt: branch-and-bound on distributed data-parallel execution engines. In: Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 1278–1289 (2011)Google Scholar
  11. 11.
    Bui, T.N., Chaudhuri, S., Leighton, F., Sipser, M.: Graph bisection algorithms with good average case behavior. Combinatorica 7(2), 171–191 (1987)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Chardaire, P., Barake, M., McKeown, G.P.: A PROBE-based heuristic for graph partitioning. IEEE Trans. Comput. 56(12), 1707–1720 (2007)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Chevalier, C., Pellegrini, F.: PT-SCOTCH: a tool for efficient parallel graph ordering. Parallel Comput. 34, 318–331 (2008)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Cygan, M., Lokshtanov, D., Pilipczuk, M., Pilipczuk, M., Saurabh, S.: Minimum bisection is fixed parameter tractable. In: Proceedings of the ACM Symposium on Theory of Computing (STOC). ACM, pp. 323–332 (2014)Google Scholar
  15. 15.
    Delling, D., Goldberg, A.V., Pajor, T., Werneck, R.F.: Customizable route planning. In: Proceedings of the International Symposium on Experimental Algorithms (SEA), LNCS, vol. 6630, pp. 376–387. Springer, Berlin, Heidelberg (2011)Google Scholar
  16. 16.
    Delling, D., Goldberg, A.V., Razenshteyn, I., Werneck, R.F.: Graph partitioning with natural cuts. In: Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 1135–1146. IEEE (2011)Google Scholar
  17. 17.
    Delling, D., Goldberg, A.V., Razenshteyn, I., Werneck, R.F.: Exact combinatorial branch-and-bound for graph bisection. In: Proceedings of the Algorithm Engineering and Experiments (ALENEX), pp. 30–44 (2012)Google Scholar
  18. 18.
    Delling, D., Werneck, R.F.: Better bounds for graph bisection. In: Proceedings of the European Symposium on Algorithms (ESA), LNCS, vol. 7501, pp. 407–418. Springer, Berlin, Heidelberg (2012)Google Scholar
  19. 19.
    Delling, D., Werneck, R.F.: Faster customization of road networks. In: Proceedings of the International Symposium on Experimental Algorithms (SEA), LNCS, vol. 7933, pp. 30–42. Springer, Berlin, Heidelberg (2013)Google Scholar
  20. 20.
    Demaine, E.D., Hajiaghayi, M., Kawarabayashi, K.: Contraction decomposition in \(h\)-minor-free graphs and algorithmic applications. In: Proceedings of the ACM Symposium on Theory of Computing (STOC), pp. 441–450 (2011)Google Scholar
  21. 21.
    Demetrescu, C., Goldberg, A.V., Johnson, D.S. (eds.): The Shortest Path Problem: Ninth DIMACS Implementation Challenge, DIMACS Book, vol. 74. American Mathematical Society (2009)Google Scholar
  22. 22.
    Feldmann, A.E., Widmayer, P.: An \(O(n^4)\) time algorithm to compute the bisection width of solid grid graphs. In: Proceedings of the European Symposium on Algorithms (ESA), LNCS, vol. 6942, pp. 143–154. Springer (2011)Google Scholar
  23. 23.
    Felner, A.: Finding optimal solutions to the graph partitioning problem with heuristic search. Ann. Math. Artif. Intell. 45(3–4), 293–322 (2005)MathSciNetCrossRefMATHGoogle Scholar
  24. 24.
    Ferreira, C.E., Martin, A., de Souza, C.C., Weismantel, R., Wolsey, L.A.: The node capacitated graph partitioning problem: a computational study. Math. Program. 81, 229–256 (1998)MATHGoogle Scholar
  25. 25.
    Garey, M.R., Johnson, D.S.: Computers and Intractability. A Guide to the Theory of\({\cal NP}\)-Completeness. W. H. Freeman and Company, London (1979) Google Scholar
  26. 26.
    Garey, M.R., Johnson, D.S., Stockmeyer, L.J.: Some simplified \({\cal NP}\)-complete graph problems. Theoret. Comput. Sci. 1, 237–267 (1976)MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Gendron, B., Crainic, T.G.: Parallel branch-and-bound algorithms: survey and synthesis. Oper. Res. 42(6), 1042–1066 (1994)MathSciNetCrossRefMATHGoogle Scholar
  28. 28.
    Goldberg, A.V., Hed, S., Kaplan, H., Tarjan, R.E., Werneck, R.F.: Maximum flows by incremental breadth-first search. In: Proceedings of the European Symposium on Algorithms (ESA), LNCS, vol. 6942, pp. 457–468. Springer (2011)Google Scholar
  29. 29.
    Goldberg, A.V., Tarjan, R.E.: A new approach to the maximum-flow problem. J. ACM 35(4), 921–940 (1988)MathSciNetCrossRefMATHGoogle Scholar
  30. 30.
    Hager, W.W., Phan, D.T., Zhang, H.: An exact algorithm for graph partitioning. Math. Program. 137, 531–556 (2013)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Hein, M., Bühler, T.: An inverse power method for nonlinear eigenproblems with applications in 1-spectral clustering and sparse PCA. In: Proceedings Advances in Neural Information Processing Systems (NIPS), pp. 847–855 (2010)Google Scholar
  32. 32.
    Helmberg, C.: A cutting plane algorithm for large scale semidefinite relaxations. In: Grötschel, M. (ed.) Sharpest Cut. SIAM, Philadephia, PA (2004)Google Scholar
  33. 33.
    Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)MathSciNetCrossRefMATHGoogle Scholar
  34. 34.
    Hendrickson, B., Leland, R.: A multilevel algorithm for partitioning graphs. In: Proceedings of the 1995 ACM/IEEE Conference on Supercomputing, p. 28. ACM Press, New York (1995)Google Scholar
  35. 35.
    Hilger, M., Köhler, E., Möhring, R.H., Schilling, H.: Fast point-to-point shortest path computations with arc-flags. In: Demetrescu et al. [21], pp. 41–72Google Scholar
  36. 36.
    Holzer, M., Schulz, F., Wagner, D.: Engineering multilevel overlay graphs for shortest-path queries. ACM J. Exp. Algorithmics 13(2.5), 1–26 (2008)MathSciNetGoogle Scholar
  37. 37.
    Jansen, K., Karpinski, M., Lingas, A., Seidel, E.: Polynomial time approximation schemes for MAX-BISECTION on planar and geometric graphs. SIAM J. Comput. 35, 110–119 (2005)MathSciNetCrossRefMATHGoogle Scholar
  38. 38.
    Johnson, D.S., Aragon, C.R., McGeoch, L.A., Schevon, C.: Optimization by simulated annealing: an experimental evaluation; Part I. Graph partitioning. Oper. Res. 37(6), 865–892 (1989)CrossRefMATHGoogle Scholar
  39. 39.
    Johnson, E., Mehrotra, A., Nemhauser, G.: Min-cut clustering. Math. Program. 62, 133–152 (1993)MathSciNetCrossRefMATHGoogle Scholar
  40. 40.
    Jung, S., Pramanik, S.: An efficient path computation model for hierarchically structured topographical road maps. IEEE Trans. Knowl. Data Eng. 14(5), 1029–1046 (2002)CrossRefGoogle Scholar
  41. 41.
    Jünger, M., Martin, A., Reinelt, G., Weismantel, R.: Quadratic 0/1 optimization and a decomposition approach for the placement of electronic circuits. Math. Program. 63, 257–279 (1994)CrossRefMATHGoogle Scholar
  42. 42.
    Karger, D.R., Stein, C.: A new approach to the minimum cut problem. J. ACM 43(4), 601–640 (1996)MathSciNetCrossRefMATHGoogle Scholar
  43. 43.
    Karisch, S.E., Rendl, F., Clausen, J.: Solving graph bisection problems with semidefinite programming. INFORMS J. Comput. 12, 177–191 (2000)MathSciNetCrossRefMATHGoogle Scholar
  44. 44.
    Karypis, G., Kumar, G.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1999)MathSciNetCrossRefMATHGoogle Scholar
  45. 45.
    Koch, T., Martin, A., Voß, S.: SteinLib: An updated library on Steiner tree problems in graphs. Tech. Rep. 00–37, Konrad-Zuse-Zentrum Berlin (2000). http://elib.zib.de/steinlib
  46. 46.
    Kwatra, V., Schödl, A., Essa, I., Turk, G., Bobick, A.: Graphcut textures: image and video synthesis using graph cuts. ACM Tr. Graphics 22, 277–286 (2003)CrossRefGoogle Scholar
  47. 47.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)MathSciNetCrossRefMATHGoogle Scholar
  48. 48.
    Lang, K.J., Rao, S.: A flow-based method for improving the expansion or conductance of graph cuts. In: Proceedings of the Conference on Integer Programming and Combinatorial Optimization (IPCO), pp. 325–337 (2004)Google Scholar
  49. 49.
    Lauther, U.: An experimental evaluation of point-to-point shortest path calculation on roadnetworks with precalculated edge-flags. In: Demetrescu et al. [21], pp. 19–40Google Scholar
  50. 50.
    Lipton, R.J., Tarjan, R.: Applications of a planar separator theorem. SIAM J. Comput. 9, 615–627 (1980)MathSciNetCrossRefMATHGoogle Scholar
  51. 51.
    Malewicz, G., Austern, M.H., Bik, A.J., Dehnert, J.C., Horn, I., Leiser, N., Czajkowski, G.: Pregel: A system for large-scale graph processing. In: PODC, p. 6. ACM (2009)Google Scholar
  52. 52.
    Mehlhorn, K.: A faster approximation algorithm for the Steiner problem in graphs. Inf. Process. Lett. 27, 125–128 (1988)MathSciNetCrossRefMATHGoogle Scholar
  53. 53.
    Meyerhenke, H., Monien, B., Sauerwald, T.: A new diffusion-based multilevel algorithm for computing graph partitions. J. Parallel Distrib. Comput. 69(9), 750–761 (2009)CrossRefGoogle Scholar
  54. 54.
    Pellegrini, F., Roman, J.: SCOTCH: A software package for static mapping by dual recursive bipartitioning of process and architecture graphs. In: High-Performance Computing and Networking, LNCS, vol. 1067, pp. 493–498. Springer, New York (1996)Google Scholar
  55. 55.
    Räcke, H.: Optimal hierarchical decompositions for congestion minimization in networks. In: Proceedings of the ACM Symposium on Theory of Computing (STOC), pp. 255–263. ACM Press, New York (2008)Google Scholar
  56. 56.
    Rendl, F., Rinaldi, G., Wiegele, A.: Solving max-cut to optimality by intersecting semidefinite and polyhedral relaxations. Math. Program. 121, 307–335 (2010)MathSciNetCrossRefMATHGoogle Scholar
  57. 57.
    Sander, P.V., Nehab, D., Chlamtac, E., Hoppe, H.: Efficient traversal of mesh edges using adjacency primitives. ACM Trans. Graphics 27, 144:1–144:9 (2008)Google Scholar
  58. 58.
    Sanders, P., Schulz, C.: Distributed evolutionary graph partitioning. In: Proceedings of the Algorithm Engineering and Experiments (ALENEX), pp. 16–29. SIAM (2012)Google Scholar
  59. 59.
    Sanders, P., Schulz, C.: Think locally, act globally: Highly balanced graph partitioning. In: Proceedings of the International Symposium on Experimental Algorithms (SEA), LNCS, vol. 7933, pp. 164–175. Springer, Berlin, Heidelberg (2013)Google Scholar
  60. 60.
    Sellmann, M., Sensen, N., Timajev, L.: Multicommodity flow approximation used for exact graph partitioning. In: Proceedings of the European Symposium on Algorithms (ESA), LNCS, vol. 2832, pp. 752–764. Springer (2003)Google Scholar
  61. 61.
    Sensen, N.: Lower bounds and exact algorithms for the graph partitioning problem using multicommodity flows. In: Proceedings of the European Symposium on Algorithms (ESA), LNCS, vol. 2161, pp. 391–403. Springer (2001)Google Scholar
  62. 62.
    Shi, J., Malik, J.: Normalized cuts and image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 22(8), 888–905 (2000)CrossRefGoogle Scholar
  63. 63.
    Soper, A.J., Walshaw, C., Cross, M.: A combined evolutionary search and multilevel optimisation approach to graph partitioning. J. Global Optim. 29(2), 225–241 (2004)MathSciNetCrossRefMATHGoogle Scholar
  64. 64.
    Soper, A.J., Walshaw, C., Cross, M.: The graph partitioning archive (2004). http://staffweb.cms.gre.ac.uk/c.walshaw/partition/
  65. 65.
    Walshaw, C., Cross, M.: JOSTLE: Parallel multilevel graph-partitioning software — an overview. In: F. Magoulès (ed.) Mesh Partitioning Techniques and Domain Decomposition Techniques, pp. 27–58. Civil-Comp Ltd., Edinburgh (2007)Google Scholar
  66. 66.
    Wu, Z., Leahy, R.: An optimal graph theoretic approach to data clustering: theory and its application to image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 15(11), 1101–1113 (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg and Mathematical Optimization Society 2014

Authors and Affiliations

  • Daniel Delling
    • 1
  • Daniel Fleischman
    • 2
  • Andrew V. Goldberg
    • 1
  • Ilya Razenshteyn
    • 3
  • Renato F. Werneck
    • 1
  1. 1.Microsoft Research Silicon ValleyMountain ViewUSA
  2. 2.School of Operations Research and Information EngineeringCornell UniversityIthacaUSA
  3. 3.Computer Science and Artificial Intelligence LaboratoryMassachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations