Skip to main content
Log in

An exact combinatorial algorithm for minimum graph bisection

  • Full Length Paper
  • Series A
  • Published:
Mathematical Programming Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1

Similar content being viewed by others

Notes

  1. For an intuition on the \(D_A/2\) bound, recall that the packing bound must accumulate enough trees to account for half the total weight reachable from \(A\). Even if all \(D_A\) trees have exactly the same weight, roughly half of the trees will be enough for this. This is not a strict bound because it the number of trees needed also depends on how many vertices are already assigned to \(A\) and \(B\).

  2. The scaling factor was obtained from http://www.cpubenchmark.net/singleThread.html.

References

  1. Armbruster, M.: Branch-and-cut for a semidefinite relaxation of large-scale minimum bisection problems. Ph.D. thesis, Technische Universität Chemnitz (2007)

  2. Armbruster, M.: Graph bisection and equipartition (2007). http://www.tu-chemnitz.de/mathematik/discrete/armbruster/diss/

  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)

  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)

    Article  MATH  Google Scholar 

  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. 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)

    Article  Google Scholar 

  7. Bauer, R., Delling, D.: SHARC: Fast and robust unidirectional routing. ACM J. Exp. Algorithmics 14(2.4), 1–29 (2009)

    MathSciNet  Google Scholar 

  8. Bhatt, S.N., Leighton, F.T.: A framework for solving VLSI graph layout problems. J. Comput. Syst. Sci. 28(2), 300–343 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  9. Brunetta, L., Conforti, M., Rinaldi, G.: A branch-and-cut algorithm for the equicut problem. Math. Program. 78, 243–263 (1997)

    MathSciNet  MATH  Google Scholar 

  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)

  11. Bui, T.N., Chaudhuri, S., Leighton, F., Sipser, M.: Graph bisection algorithms with good average case behavior. Combinatorica 7(2), 171–191 (1987)

    Article  MathSciNet  Google Scholar 

  12. Chardaire, P., Barake, M., McKeown, G.P.: A PROBE-based heuristic for graph partitioning. IEEE Trans. Comput. 56(12), 1707–1720 (2007)

    Article  MathSciNet  Google Scholar 

  13. Chevalier, C., Pellegrini, F.: PT-SCOTCH: a tool for efficient parallel graph ordering. Parallel Comput. 34, 318–331 (2008)

    Article  MathSciNet  Google Scholar 

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  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)

  23. Felner, A.: Finding optimal solutions to the graph partitioning problem with heuristic search. Ann. Math. Artif. Intell. 45(3–4), 293–322 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    MATH  Google Scholar 

  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)

  26. Garey, M.R., Johnson, D.S., Stockmeyer, L.J.: Some simplified \({\cal NP}\)-complete graph problems. Theoret. Comput. Sci. 1, 237–267 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  27. Gendron, B., Crainic, T.G.: Parallel branch-and-bound algorithms: survey and synthesis. Oper. Res. 42(6), 1042–1066 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  29. Goldberg, A.V., Tarjan, R.E.: A new approach to the maximum-flow problem. J. ACM 35(4), 921–940 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  30. Hager, W.W., Phan, D.T., Zhang, H.: An exact algorithm for graph partitioning. Math. Program. 137, 531–556 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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. Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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–72

  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)

    MathSciNet  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  39. Johnson, E., Mehrotra, A., Nemhauser, G.: Min-cut clustering. Math. Program. 62, 133–152 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  42. Karger, D.R., Stein, C.: A new approach to the minimum cut problem. J. ACM 43(4), 601–640 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  43. Karisch, S.E., Rendl, F., Clausen, J.: Solving graph bisection problems with semidefinite programming. INFORMS J. Comput. 12, 177–191 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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)

    Article  Google Scholar 

  47. Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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–40

  50. Lipton, R.J., Tarjan, R.: Applications of a planar separator theorem. SIAM J. Comput. 9, 615–627 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  52. Mehlhorn, K.: A faster approximation algorithm for the Steiner problem in graphs. Inf. Process. Lett. 27, 125–128 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

  56. Rendl, F., Rinaldi, G., Wiegele, A.: Solving max-cut to optimality by intersecting semidefinite and polyhedral relaxations. Math. Program. 121, 307–335 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  58. Sanders, P., Schulz, C.: Distributed evolutionary graph partitioning. In: Proceedings of the Algorithm Engineering and Experiments (ALENEX), pp. 16–29. SIAM (2012)

  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)

  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)

  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)

  62. Shi, J., Malik, J.: Normalized cuts and image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 22(8), 888–905 (2000)

    Article  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  64. Soper, A.J., Walshaw, C., Cross, M.: The graph partitioning archive (2004). http://staffweb.cms.gre.ac.uk/c.walshaw/partition/

  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)

  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)

    Article  Google Scholar 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Renato F. Werneck.

Additional information

This article combines and unifies results originally described in two conference publications [17, 18] and incorporate several extensions that lead to a more robust algorithm. All work was done while all authors were at Microsoft Research Silicon Valley.

Appendix: Algorithm examples

Appendix: Algorithm examples

1.1 Packing bound

Figure 2 illustrates our lower bounds. Assume that \(\epsilon = 0\) and that all vertices have unit weight. Note that \(W=24\) and \(W_-= W_+= 12\), i.e., we must find a solution with 12 vertices on each side. For simplicity, we refer to vertices by their rows and columns in the picture: vertex (1,1) is at the top left, and vertex (4,6) at the bottom right.

Assume some vertices have already been assigned to \(A\) (red boxes) and \(B\) (blue disks). First, we compute a flow \(f\) (indicated in bold) from \(A\) to \(B\) (Fig. 2a). By removing these edges, we obtain the graph \(G_f\). We then compute a tree packing on \(G_f\), as shown in Fig. 2b. For each of the 11 edges \((u,v)\) with \(u \in A\) and \(v \not \in A\) we grow a tree (indicated by different colors and labeled \(a, \dots , k\)) in \(G_f\). Note that the deadweight (number of vertices unreachable from \(A\)) is 6, and that 15 free vertices are reachable from \(A\). Finally, we allocate the weights of these 15 vertices to the trees.

Figure 2c shows an allocation where each vertex is assigned in full to a single tree. This results in 7 trees of weight 1 (\(b\), \(c\), \(e\), \(f\), \(i\), \(j\), \(k\)), and 4 of weight 2 (\(a\), \(d\), \(g\), \(h\)). Together, three of the heaviest trees have weight 6; with 6 units of deadweight, these trees are enough to reach the target weight of 12. Therefore, the packing bound is 3. Together with the flow bound, this gives a total lower bound of 6.

Figure 2d shows an alternative allocation in which some vertices are split equally among their incident trees. This results in 3 trees of weight 1 (\(e\), \(f\), \(j\)), and 8 trees of weight \(1.5\) (\(a\), \(b\), \(c\), \(d\), \(g\), \(h\), \(i\), \(k\)). Now, we must add at least 4 trees to \(B\) to ensure its weight is at least 12. The packing bound is thus 4 and the total lower bound is 7, matching the optimum solution.

Fig. 2
figure 2

Example for lower bounds. Red boxes and blue circles are already assigned to \(A\) and \(B\), respectively. The figures show a the maximum \(A\)-\(B\) flow; b a set of maximal edge-disjoint trees rooted at \(A\); c an integral vertex allocation; and d a fractional allocation where vertices with two labels have their weights equally split among the corresponding trees (color figure online)

1.2 Forced assignment

Figure 3 gives an example for our forced assignment techniques. We start from the tree packing in Fig. 2b. Figure 3a shows how the flow-based forced assignment applies to vertex \((2,2)\). It is incident to four trees (\(b\), \(e\), \(f\), \(g\)). If it were assigned to \(B\) (blue circles), the flow bound would increase by 4 units, to 7. Using the extended flow-based forced assignment, we can increase the flow bound by another 2 units, sending flow along \(f+j\) and \(b+a\) to \(A\) (red squares). If the total lower bound, including the recomputed packing bound, is at least as high as the best solution seen so far, we can safely assign vertex \((2,2)\) to \(A\).

Figure 3b illustrates our subdivision-based forced assignment. Consider what would happen if we were to assign vertex \((4,2)\) to \(A\). We implicitly split all trees incident to this vertex (\(i\) and \(j\)) into new trees \(i'\), \(i''\), and \(j'\). Tree \(i'\) is rooted at vertex \((4,3)\), and the others at vertex \((4,2)\). The vertex assignment remains consistent with the original one (as in Fig. 2c or 2(d), for example). We then recompute the packing bound for this set of trees. If the new lower bound is at least as high as the best solution seen so far, we can safely assign vertex \((4,2)\) to \(B\).

Fig. 3
figure 3

Examples of forced assignments. a Shows the additional flow that would be created if vertex \((2,2)\) were assigned to \(B\) (blue circles); solid edges correspond to the standard flow-based forced assignment and dashed edges to the extended version. b Shows (with primed labels) new trees that would be created if vertex \((4,2)\) were assigned to \(A\) (red squares) (color figure online)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Delling, D., Fleischman, D., Goldberg, A.V. et al. An exact combinatorial algorithm for minimum graph bisection. Math. Program. 153, 417–458 (2015). https://doi.org/10.1007/s10107-014-0811-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-014-0811-z

Keywords

Mathematics Subject Classification

Navigation