Optimal Multi-Way Number Partitioning
The NP-hard number-partitioning problem is to separate a multiset S of n positive integers into k subsets such that the largest sum of the integers assigned to any subset is minimized. The classic application is scheduling a set of n jobs with different runtimes on k identical machines such that the...
Gespeichert in:
Veröffentlicht in: | Journal of the ACM 2018-08, Vol.65 (4), p.1-61 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The NP-hard number-partitioning problem is to separate a multiset
S
of
n
positive integers into
k
subsets such that the largest sum of the integers assigned to any subset is minimized. The classic application is scheduling a set of
n
jobs with different runtimes on
k
identical machines such that the makespan, the elapsed time to complete the schedule, is minimized. The two-way number-partitioning decision problem is one of the original 21 problems that Richard Karp proved NP-complete. It is also one of Garey and Johnson’s six fundamental NP-complete problems and the only one based on numbers.
This article explores algorithms for solving multi-way number-partitioning problems optimally. We explore previous algorithms as well as our own algorithms, which fall into three categories: sequential number partitioning (SNP), a branch-and-bound algorithm; binary-search improved bin completion (BSIBC), a bin-packing algorithm; and cached iterative weakening (CIW), an iterative weakening algorithm. We show experimentally that, for large random numbers, SNP and CIW are state-of-the-art algorithms depending on the values of
n
and
k
. Both algorithms outperform the previous state of the art by up to seven orders of magnitude in terms of runtime. |
---|---|
ISSN: | 0004-5411 1557-735X |
DOI: | 10.1145/3184400 |