A branch-&-price approach to the unrooted maximum agreement forest problem
Martin Frohn, Steven Kelk, Simona Vychytilova
TL;DR
This paper presents the first branch-&-price algorithm for the unrooted maximum agreement forest problem ($u$MAF) on two unrooted X-labelled binary trees, formulating an exponential-size ILP whose master problem is solved by column generation. The pricing subproblem is shown to be a weighted maximum agreement subtree problem ($\mathrm{WMAST}$), solvable in $O(n^2)$ time via a dynamic-programming approach extended to fixed weights. Experimental results on the reference dataset demonstrate that, with polynomial-time kernelization, the method solves 731 of 735 instances within 5 minutes (the remaining 4 in 5–7 minutes), outperforming a state-of-the-art FPT branching approach on many challenging cases. The study highlights that the pricing step is the main bottleneck and suggests directions for speedups, while also noting the potential to extend the framework to rooted MAF and multi-tree variants. Overall, the branch-&-price approach achieves state-of-the-art performance and provides a practical, scalable exact solver for uMAF in realistic settings.
Abstract
We propose the first branch-&-price algorithm for the maximum agreement forest problem on unrooted binary trees: given two unrooted X-labelled binary trees we seek to partition X into a minimum number of blocks such that the induced subtrees are disjoint and have the same topologies in both trees. We provide a dynamic programming algorithm for the weighted maximum agreement subtree problem to solve the pricing problem. When combined with rigorous polynomial-time pre-processing our branch-&-price algorithm exhibits (beyond) state-of-the-art performance.
