Abstract
Computing high-quality graph partitions is a challenging problem with numerous applications. In this article, we present a novel meta-heuristic for the balanced graph partitioning problem. Our approach is based on integer linear programs that solve the partitioning problem to optimality. However, since those programs typically do not scale to large inputs, we adapt them to heuristically improve a given partition. We do so by defining a much smaller model that allows us to use symmetry breaking and other techniques that make the approach scalable. For example, in Walshaw’s well-known benchmark tables, we are able to improve roughly half of all entries when the number of blocks is high. Additionally, we include our techniques into a memetic framework and develop a crossover operation based on the proposed techniques.
Highlights
Balanced graph partitioning is an important problem in computer science and engineering with an abundant amount of application domains, such as VLSI circuit design, data mining and distributed systems [38]
We extend the neighborhood of the combination problem by employing integer linear programming
We introduce a generalization of an integer linear program formulation for balanced bipartitioning [7] to the general graph partitioning problem
Summary
Balanced graph partitioning is an important problem in computer science and engineering with an abundant amount of application domains, such as VLSI circuit design, data mining and distributed systems [38]. In order to compute high-quality solutions, state-of-the-art local search algorithms exchange vertices between blocks of the partition trying to decrease the cut size while maintaining balance. This highly restricts the set of possible improvements. We extend the neighborhood of the combination problem by employing integer linear programming This enables us to find even more complex combinations and to further improve solutions. Out of the box those programs typically do not scale to large inputs, in particular because the graph partitioning problem has a very large amount of symmetry – given a partition of the graph, each permutation of the block IDs gives a solution having the same objective and balance.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have