Today I read a paper titled “A complete anytime algorithm for balanced number partitioning”
The abstract is:
Given a set of numbers, the balanced partioning problem is to divide them into two subsets, so that the sum of the numbers in each subset are as nearly equal as possible, subject to the constraint that the cardinalities of the subsets be within one of each other.
We combine the balanced largest differencing method (BLDM) and Korf’s complete Karmarkar-Karp algorithm to get a new algorithm that optimally solves the balanced partitioning problem.
For numbers with twelve significant digits or less, the algorithm can optimally solve balanced partioning problems of arbitrary size in practice.
For numbers with greater precision, it first returns the BLDM solution, then continues to find better solutions as time allows.