New dynamic programming algorithms for the solution of the Zero-One Knapsack Problem are developed. Original recursive procedures for the computation of the Knapsack Function are presented and the utilization of bounds to eliminate states not leading to optimal solutions is analyzed. The proposed algorithms, according to the nature of the problem to be solved, automatically determine the most suitable procedure to be employed. Extensive computational results showing the efficiency of the new and the most commonly utilized algorithms are given. The results indicate that, for difficult problems, the algorithms proposed are superior to the best branch and bound and dynamic programming methods.ZusammenfassungEs werden neue Algorithmen entwickelt, welcher das 0–1-Knapsack-Problem mit dynamischer Optimierung lösen. Für die Berechnung der Knapsack-Funktion werden rekursive Prozeduren vorgelegt, dann wird die Verwendung von Schranken untersucht, mit denen sich Zustände ausscheiden lassen, die nicht zu optimalen Lösungen führen. Die vorgeschlagenen Algorithmen bestimmen automatisch das am besten geeignete Lösungsverfahren. Ausführliche numerische Ergebnisse erlauben es, die neuen Algorithmen mit den gebräuchlichsten bekannten Verfahren zu vergleichen. Die Vergleiche weisen darauf hin, daß die vorgeschlagenen Algorithmen den besten bisher bekannten Ansätzen mit Branch and Bound und dynamischer Optimierung überlegen sind.
[1]
P. Kolesar.
A Branch and Bound Algorithm for the Knapsack Problem
,
1967
.
[2]
Thomas L. Morin,et al.
Branch-and-Bound Strategies for Dynamic Programming
,
2015,
Oper. Res..
[3]
Robert M. Nauss,et al.
An Efficient Algorithm for the 0-1 Knapsack Problem
,
1976
.
[4]
Leslie E. Trotter,et al.
When the Greedy Solution Solves a Class of Knapsack Problems
,
1975,
Oper. Res..
[5]
Ellis Horowitz,et al.
Computing Partitions with Applications to the Knapsack Problem
,
1974,
JACM.
[6]
Andris A. Zoltners.
A Direct Descent Binary Knapsack Algorithm
,
1978,
JACM.
[7]
G. Ingargiola,et al.
Reduction Algorithm for Zero-One Single Knapsack Problems
,
1973
.
[8]
Richard S. Barr,et al.
A Linked List Data Structure for a Binary Knapsack Algorithm.
,
1975
.
[9]
S. Martello,et al.
An upper bound for the zero-one knapsack problem and a branch and bound algorithm
,
1977
.
[10]
H. Greenberg,et al.
A Branch Search Algorithm for the Knapsack Problem
,
1970
.
[11]
J. H. Ahrens,et al.
Merging and Sorting Applied to the Zero-One Knapsack Problem
,
1975,
Oper. Res..