A Hybrid Recursive Multi-Way Number Partitioning Algorithm
Richard Korf
The number partitioning problem is to divide a given set of integers into a collection of subsets, so that the sum of the numbers in each subset are as nearly equal as possible. While efficient algorithms for two-way partitioning exist, multi-way partitioning is much more challenging. We introduce a new algorithm for multi-way partitioning, by combining several existing algorithms with new extensions of those algorithms. We test our hybrid algorithm for partitioning 31-bit integers from three to ten ways, and demonstrate orders of magnitude speedup over the previous state of the art.