Skip to main content
Log in

Dynamic programming algorithms for the Zero-One Knapsack Problem

Algorithmen der dynamischen Optimierung für das 0–1-Knapsack-Problem

  • Published:
Computing Aims and scope Submit manuscript

Abstract

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.

Zusammenfassung

Es 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  1. Ahrens, J. H., Finke, G.: Merging and sorting applied to the zero-one Knapsack problem. Operations Research23 (1975).

  2. Barr, R. S., Ross, G. T.: A linked list data structure for a binary Knapsack algorithm. Research Report CCS 232, Centre for Cybernetic Studies, University of Texas (1975).

  3. Greenberg, H., Hegerich, R. L.: A branch search algorithm for the Knapsack problem. Management Science16 (1970).

  4. Horowitz, E., Sahni, S.: Computing partitions with applications to the Knapsack problem. J. ACM21 (1974).

  5. Ingargiola, G. P., Korsh, J. F.: A reduction algorithm for zero-one single Knapsack problems. Management Science20 (1973).

  6. Kolesar, P. J.: A branch and bound algorithm for the Knapsack problem. Management Science13 (1967).

  7. Magazine, M., Nemhauser, G., Trotter, L.: When the greedy solution solves a class of Knapsack problems. Operations Research23 (19750.

  8. Martello, S., Toth, P.: An upper bound for ther zero-one Knapsack problem and a branch and bound algorithm. European Journal of Operational Research1 (1977).

  9. Martello, S., Toth, P.: The 0–1 Knapsack problem, in: Combinatorial optimization (Christofides, N., Mingozzi, A., Sandi, C., Toth, P., eds.). London: J. Wiley 1979.

    Google Scholar 

  10. Morin, T. L., Marsten, R. E.: Branch and bound strategies for dynamic programming. Operations Research24 (1976).

  11. Nauss, R. M.: An efficient algorithm for the 0–1 Knapsack problem. Management Science23 (1976).

  12. Toth, P.: A new reduction algorithm for 0–1 Knapsack problems. Presented at ORSA/TIMS Joint National Meeting, Miami (November 1976).

  13. Zoltners, A. A.: A direct descent binary Knapsack algorithm. J. ACM25 (1978).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Toth, P. Dynamic programming algorithms for the Zero-One Knapsack Problem. Computing 25, 29–45 (1980). https://doi.org/10.1007/BF02243880

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02243880

Keywords