From approximate to optimal solutions: a case study of number partitioning

  • Authors:
  • Richard E. Korf

  • Affiliations:
  • Computer Science Department, University of California, Los Angeles, Los Angeles, CA

  • Venue:
  • IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 1
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a set of numbers, the two-way partitioning problem is to divide them into two subsets, so that the sum of the numbers in each subset are as nearly equal as possible. The problem is NP-complete, and is contained in many scheduling applications. Based on a polynomial-time heuristic due to Karmarkar and Karp, we present a new algorithm, called Complete Karmarkar Karp (CKK), that optimally solves the general number-partitioning problem. CKK significantly outperforms the best previously-known algorithms for this problem. By restricting the numbers to twelve significant digits, we can optimally solve two-way partitioning problems of arbitrary size in practice. CKK first returns the Karmarkar-Karp solution, then continues to find better solutions as time allows. Almost five orders of magnitude improvement in solution quality is obtained within a minute of running time. Rather than building a single solution one element at a time, CKK constructs subsolutions, and combines them in all possible ways. CKK is directly applicable to the 0/1 knapsack problem, since it can be reduced to number partitioning. This general approach may also be applicable to other NP-hard problems as well.