A branch-and-bound algorithm for the acyclic partitioning problem
We focus on the problem of partitioning the vertex set of a directed, edge- and vertex-weighted graph into clusters, i.e., disjoint subsets. Clusters are to be determined such that the sum of the vertex weights within the clusters satisfies an upper bound and such that the sum of the edge weights within the clusters is maximized. Additionally, the graph is enforced to partition into a directed, acyclic graph where the clusters define the vertices. This problem is known as the acyclic partitioning problem and is NP-hard. Real-life applications arise, for example, in VLSI design and at railrail transshipment yards. We propose an integer programming formulation for the acyclic partitioning problem and suggest an exact solution approach based on a branch-and-bound framework that integrates constraint propagation. Computational results are reported to confirm the strength of our solution proposal.
branch-and-bound acyclic graph constraint propagation graph partitioning container transshipment