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.
Similar content being viewed by others
Notes
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\).
The scaling factor was obtained from http://www.cpubenchmark.net/singleThread.html.
References
Armbruster, M.: Branch-and-cut for a semidefinite relaxation of large-scale minimum bisection problems. Ph.D. thesis, Technische Universität Chemnitz (2007)
Armbruster, M.: Graph bisection and equipartition (2007). http://www.tu-chemnitz.de/mathematik/discrete/armbruster/diss/
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)
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)
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/
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)
Bauer, R., Delling, D.: SHARC: Fast and robust unidirectional routing. ACM J. Exp. Algorithmics 14(2.4), 1–29 (2009)
Bhatt, S.N., Leighton, F.T.: A framework for solving VLSI graph layout problems. J. Comput. Syst. Sci. 28(2), 300–343 (1984)
Brunetta, L., Conforti, M., Rinaldi, G.: A branch-and-cut algorithm for the equicut problem. Math. Program. 78, 243–263 (1997)
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)
Bui, T.N., Chaudhuri, S., Leighton, F., Sipser, M.: Graph bisection algorithms with good average case behavior. Combinatorica 7(2), 171–191 (1987)
Chardaire, P., Barake, M., McKeown, G.P.: A PROBE-based heuristic for graph partitioning. IEEE Trans. Comput. 56(12), 1707–1720 (2007)
Chevalier, C., Pellegrini, F.: PT-SCOTCH: a tool for efficient parallel graph ordering. Parallel Comput. 34, 318–331 (2008)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Felner, A.: Finding optimal solutions to the graph partitioning problem with heuristic search. Ann. Math. Artif. Intell. 45(3–4), 293–322 (2005)
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)
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)
Garey, M.R., Johnson, D.S., Stockmeyer, L.J.: Some simplified \({\cal NP}\)-complete graph problems. Theoret. Comput. Sci. 1, 237–267 (1976)
Gendron, B., Crainic, T.G.: Parallel branch-and-bound algorithms: survey and synthesis. Oper. Res. 42(6), 1042–1066 (1994)
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)
Goldberg, A.V., Tarjan, R.E.: A new approach to the maximum-flow problem. J. ACM 35(4), 921–940 (1988)
Hager, W.W., Phan, D.T., Zhang, H.: An exact algorithm for graph partitioning. Math. Program. 137, 531–556 (2013)
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)
Helmberg, C.: A cutting plane algorithm for large scale semidefinite relaxations. In: Grötschel, M. (ed.) Sharpest Cut. SIAM, Philadephia, PA (2004)
Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)
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)
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
Holzer, M., Schulz, F., Wagner, D.: Engineering multilevel overlay graphs for shortest-path queries. ACM J. Exp. Algorithmics 13(2.5), 1–26 (2008)
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)
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)
Johnson, E., Mehrotra, A., Nemhauser, G.: Min-cut clustering. Math. Program. 62, 133–152 (1993)
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)
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)
Karger, D.R., Stein, C.: A new approach to the minimum cut problem. J. ACM 43(4), 601–640 (1996)
Karisch, S.E., Rendl, F., Clausen, J.: Solving graph bisection problems with semidefinite programming. INFORMS J. Comput. 12, 177–191 (2000)
Karypis, G., Kumar, G.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1999)
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
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)
Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)
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)
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
Lipton, R.J., Tarjan, R.: Applications of a planar separator theorem. SIAM J. Comput. 9, 615–627 (1980)
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)
Mehlhorn, K.: A faster approximation algorithm for the Steiner problem in graphs. Inf. Process. Lett. 27, 125–128 (1988)
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)
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)
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)
Rendl, F., Rinaldi, G., Wiegele, A.: Solving max-cut to optimality by intersecting semidefinite and polyhedral relaxations. Math. Program. 121, 307–335 (2010)
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)
Sanders, P., Schulz, C.: Distributed evolutionary graph partitioning. In: Proceedings of the Algorithm Engineering and Experiments (ALENEX), pp. 16–29. SIAM (2012)
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)
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)
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)
Shi, J., Malik, J.: Normalized cuts and image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 22(8), 888–905 (2000)
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)
Soper, A.J., Walshaw, C., Cross, M.: The graph partitioning archive (2004). http://staffweb.cms.gre.ac.uk/c.walshaw/partition/
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)
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)
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
Corresponding author
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.
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\).
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-014-0811-z