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 present stronger lower bounds, improved branching rules, and a new decomposition technique that contracts entire regions of the graph without losing optimality guarantees. In practice, our algorithm works particularly well on instances with relatively small minimum bisections, solving large real-world graphs (with tens of thousands to millions of vertices) to optimality.
IntroductionWe consider the minimum graph bisection problem. Its input is an undirected, unweighted graph G = (V, E), and its goal is to partition V into two sets A and B such that |A|, |B| ≤ |V |/2 and the number of edges between A and B (the cut size) is minimized. This fundamental combinatorial optimization problem is a special case of graph partitioning, which asks for arbitrarily many cells. It has numerous applications, including image processing [45,51]