Isolation Branching: A Branch and Bound Algorithm for the k-Terminal Cut Problem
In the k-terminal cut problem, we are given a graph with edge weights and k distinct vertices called “terminals.” The goal is to remove a minimum weight collection of edges from the graph such that there is no path between any pair of terminals. The k-terminal cut problem is NP-hard.
The k-terminal cut problem has been extensively studied and a number of algorithms have been devised for it. Most of the algorithms devised for the problem are approximation algorithms or heuristic algorithms. There are also fixed-parameter tractable algorithms that solve the problem optimally in time that is polynomial when the value of the optimum is fixed, but none have been shown empirically practical. It is possible to apply implicit enumeration using any integer programming formulation of the problem and solve it with a branch-and-bound algorithm.
Here, we present a branch-and-bound algorithm for the k-terminal cut problem which does not rely on an integer programming formulation. Our algorithm employs “isolating cuts” and, for this reason, we call our branch-and-bound algorithm Isolation Branching.
In an empirical experiment, we compare the performance of the Isolation Branching algorithm to that of a branch-and-bound applied to the strongest known integer programming formulation of k-terminal cut. The integer programming branch-and-bound procedure is implemented with Gurobi, a commercial mixed-integer programming solver. We compare the performance of the two approaches for real-world instances and synthetic data. The results on real data indicate that Isolation Branching, coded in Python, runs an order of magnitude faster than Gurobi for problems of sizes of up to tens of thousands of vertices and hundreds of thousands of edges. Our results on synthetic data also indicate that Isolation Branching scales more effectively.
Though we primarily focus on creating a practical tool for k-terminal cut, as a byproduct of our algorithm we prove that the complexity of Isolation Branching is also fixed-parameter tractable with respect to the size of the optimal solution, thus providing an alternative, constructive, and somewhat simpler, proof of this fact.
Keywordsk-terminal cut Optimization Branch-and-bound Isolating cut Clustering
- 1.Boykov, Y., Veksler, O., Zabih, R.: Markov random fields with efficient approximations. In: 1998 Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 648–655. IEEE (1998)Google Scholar
- 2.Buchbinder, N., Naor, J.S., Schwartz, R.: Simplex partitioning via exponential clocks and the multiway cut problem. In: Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, pp. 535–544. ACM (2013)Google Scholar
- 3.Călinescu, G., Karloff, H., Rabani, Y.: An improved approximation algorithm for multiway cut. In: Proceedings of the Thirtieth Annual ACM Symposium on Theory of Computing, pp. 48–52. ACM (1998)Google Scholar
- 6.Fern, X.Z., Brodley, C.E.: Solving cluster ensemble problems by bipartite graph partitioning. In: Proceedings of the Twenty-First International Conference on Machine Learning, p. 36. ACM (2004)Google Scholar
- 7.Goldberg, A.V., Tardos, É., Tarjan, R.E.: Network flow algorithms. Technical report, Cornell University Operations Research and Industrial Engineering (1989)Google Scholar
- 13.Manokaran, R., Naor, J.S., Raghavendra, P., Schwartz, R.: SDP gaps and UGC hardness for multiway cut, 0-extension, and metric labeling. In: Proceedings of the Fortieth Annual ACM Symposium on Theory of Computing, pp. 11–20. ACM (2008)Google Scholar
- 15.Sharma, A., Vondrák, J.: Multiway cut, pairwise realizable distributions, and descending thresholds. In: Proceedings of the Forty-Sixth Annual ACM Symposium on Theory of Computing, pp. 724–733. ACM (2014)Google Scholar
- 16.Stein, M., Geyer-Schulz, A.: A comparison of five programming languages in a graph clustering scenario. J. Univ. Comput. Sci. 19, 428–456 (2013)Google Scholar
- 17.Velednitsky, M., Hochbaum, D.: A polynomial-time algorithm for 2-stable instances of the k-terminal cut problem. arXiv preprint arXiv:1806.06091 (2018)