Algorithms for Some Hard Knapsack Problems

  • Louis Caccetta
  • Araya Kulanoot
Part of the Applied Optimization book series (APOP, volume 52)

Abstract

Knapsack problems are typically concerned with selecting from a set of n given items, each with a specified weight and value, a subset of items whose weight sum does not exceed a prescribed capacity and whose value is maximum. This NP-hard problem arises in many applications and has been the focus of considerable research over the past two decades. A number of exact algorithms have been developed for the classical 0–1 Knapsack Problems and its variants. In this paper, exact algorithms are presented for the following variants and data types: the Subset Sum Problem; the Strongly Correlated 0–1 Knapsack Problem; the Inverse Strongly Correlated 0–1 Knapsack Problem; and the corresponding Bounded Strongly Correlated Knapsack Problem and Bounded Subset Sum Problem. All our algorithms consist of three stages: the first stage generates an initial solution by a greedy procedure; the second stage refines the approximate solution; and the final stage applies a partial lexicographic search procedure to generate an optimal solution. Extensive computational experiments show that our algorithms are able to solve large problems of size up to one million variables in less than 7 seconds CPU time on a Silicon Graphic Workstation (R 5000) running at a clock speed of 150 MHz. A comparative analysis with some recent effective algorithms is given.

Keywords

Branch and bound dynamic programming knapsack problem combinatorial optimization 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aherns J.H., and Finke G. (1975), Merging and sorting applied to the 0–1 knapsack problem, Operations Research, Vol.23, pp. 1099–1109.CrossRefGoogle Scholar
  2. D’ Atri G. and Puech C. (1982), Probabilistic analysis of the subset-sum problem, Discrete Applied Mathematics, Vol. 4, pp. 329–334.MathSciNetMATHCrossRefGoogle Scholar
  3. Balas E. and Zemel E. (1980), An algorithm for large zero-one knapsack problems, Operations Research, Vol. 28, pp. 1130–1154.MathSciNetMATHCrossRefGoogle Scholar
  4. Bellman, R. (1954), Some applications of the theory of dynamic programming-a oreview, Operations Research, vol. 2, pp.275–288.CrossRefGoogle Scholar
  5. Bellman R.(1957), Dynamic programming, Princeton NJ.Google Scholar
  6. Bellman R. and Dreyfus, S.E. (1962), Applied Dynamic Programming, Princeton University Press, Princeton, NJ.Google Scholar
  7. Capara A., Kellerer H., Pferschy U. and Pisinger D. (1998), Approximation algorithms for knapsack problems with cardinality constraints, Technical report, DIKU, University of Copenhagen.Google Scholar
  8. Chvatal V. (1980), Hard knapsack problem, Operations Research, Vol. 28, pp. 402–411.MathSciNetCrossRefGoogle Scholar
  9. Cord, J. (1964), A Method for Allocating Funds to Investment Projects when Returns Are Subject to Uncertainty, Management Science, vol. 10, no. 2, pp. 335–341.CrossRefGoogle Scholar
  10. Dantzig G.B.(1957), Discrete variables extremum problems, Operations Research, Vol.5 pp. 266–277.MathSciNetCrossRefGoogle Scholar
  11. Diffe, W. and Hellman, M.E. (1976), New directions in cryptography, IEEE Transactions Information Theory, IT-36, pp.644–654.Google Scholar
  12. Dudzinski K., and Walukiewicz S. (1987), Exact methods for the knapsack problem and its generalizations, European Journal of Operational Research, Vol. 28, pp.3–21.MathSciNetMATHCrossRefGoogle Scholar
  13. Faaland B. (1973), Solution of the value-independent knapsack problem by partitioning, Operations Research, Vol. 21, pp.332–337.MathSciNetMATHCrossRefGoogle Scholar
  14. Fayard D. and Plateau G. (1982), An algorithm for the solution of the 0–1 knapsack problem, Computing, Vol.28, pp. 269–287.MATHCrossRefGoogle Scholar
  15. Fischetti M.(1990), A new linear storage, polynomial-time approximation scheme for the subset-sum problem, Discrete Applied Mathematics, Vol. 26, pp. 61–77.MathSciNetMATHCrossRefGoogle Scholar
  16. Gilmore P.C and Gomory R.E. (1963), A Linear Programming Approach to the Cutting Stock Problem II, Operations Research, vol. 11, pp.863–888.MATHCrossRefGoogle Scholar
  17. Gilmore P.C and Gomory R.E. (1966), The theory and computation of knapsack functions, Operations Research, Vol.14, pp. 1045–1074.MathSciNetCrossRefGoogle Scholar
  18. Greenberg H., and Hegerich R.L.(1970), A branch search algorithm for the knapsack problem, Management Science, 16 (1970) 327–332.MathSciNetMATHCrossRefGoogle Scholar
  19. Hansmann, F. (1961), Operations Research in the National Planning of Underdeveloped Countries, Operations Research, vol. 9, pp. 203–248.CrossRefGoogle Scholar
  20. Horowitz E. and Sahni S.(1974), Computing partitions with applications to the knapsack problem, Journal of ACM, Vol.21, pp. 277–292.MathSciNetMATHCrossRefGoogle Scholar
  21. Ibarra O.H. and Kim C.E. (1975), Fast approximation algorithms for the knapsack and sum of subset problems, Journal of ACM, Vol. 22, pp. 463–468.MathSciNetMATHCrossRefGoogle Scholar
  22. Ingargiola G.P. and Korsh J.F.(1973), A reduction algorithm for zero-one single knapsack problems, Management Science, Vol. 20, pp. 460–463.MATHCrossRefGoogle Scholar
  23. Janakiram V.K., Gehringer E.F., Agrawal D.P., and Mehrotra R. (1988), A Randomized Parallel Branch-and-Bound Algorithm, International Journal of Parallel Programming, vol. 17, pp.277–300.MATHCrossRefGoogle Scholar
  24. Johnson D.S.(1974), Approximation algorithms for combinatorial problems, Journal of Computer and System Science, Vol.9, pp. 256–278.MATHCrossRefGoogle Scholar
  25. Kaplan S. (1966), Solution of the Lorie-Savage and Similar Integer Programming Problems by the Generalized Lagrange Multiplier Method, Operations Research, Vol.14, no. 6, pp.1130–1136.MATHCrossRefGoogle Scholar
  26. Kindervater G.A.P. and Trienekens H.W.J.M. (1988), Experiments with Parallel Algorithms for Combinatorial Problems, European Journal of Operational research, vol. 33, pp.65–81.MathSciNetMATHCrossRefGoogle Scholar
  27. Kolesar P.J.(1967), A branch and bound algorithm for the knapsack problem, Management Science, Vol.13, pp. 723–735.CrossRefGoogle Scholar
  28. Lagaries J.C. and Odlyzko A.M., (1983), Solving low-density subset sum problem, Proceeding 24th Annual IEEE Symposium Foundations of Computer Science, pp. 1–10.Google Scholar
  29. Lai T.C. and Sahni S.(1984), Anomalies in parallel branch-and-bound algorithms, Communication of ACM, Vol. 27, pp. 594–602.MathSciNetMATHCrossRefGoogle Scholar
  30. Lawler E.L. (1979), Fast approximation algorithms for knapsack problems, Mathematics of Operations Research, Vol. 4, pp. 339–356.MathSciNetMATHCrossRefGoogle Scholar
  31. Lee J., Shragowitz E. and Sahni S. (1988), A hypercube algorithm for the 0/1 knapsack problem, Parallel and Distributed Computing, Vol. 5, pp. 438–456.CrossRefGoogle Scholar
  32. Lin J. and Storer J.A.(1991), Processor-efficient hypercube algorithms for the knapsack problem, Journal of Parallel and Distributed Computing, Vol.11, pp.332–337.CrossRefGoogle Scholar
  33. Loots W. and Smith T.H.C.(1992), A parallel algorithm for the 0–1 knapsack problem, International Journal of Parallel Programming, Vol. 21, pp. 349–362.MathSciNetCrossRefGoogle Scholar
  34. Martello S., Pisinger D., and Toth P. (1997), Dynamic programming and tight bounds for the 0–1 knapsack problem, working paper DIKU, University of Copenhagen, July 29, 1997.Google Scholar
  35. Martello S.and Toth P.(1977), An upper bound for the zero-one knapsack problem and a branch and bound algorithm, European Journal of Operational Research, Vol. 1 pp. 169–175.MathSciNetCrossRefGoogle Scholar
  36. Martello S. and Toth P. (1984), A mixture of dynamic programming and branch-and-bound for the subset-sum problem, Management Science, Vol. 30, pp. 765–771.MathSciNetMATHCrossRefGoogle Scholar
  37. Martello S. and Toth P.(1988), A new algorithm for the 0–1 knapsack problem, Management Science, Vol. 34, pp. 633–644.MathSciNetMATHCrossRefGoogle Scholar
  38. Martello S. and Toth P. (1990a), Knapsack Problems Agorithms and Computer Implementations, John Wiley and Sons, Chichester.Google Scholar
  39. Martello S. and Toth P. (1990b), An exact algorithm for large unbounded knapsack problems, Operations Research Letters, vol. 9, pp. 15–20.MathSciNetMATHCrossRefGoogle Scholar
  40. Martello S. and Toth P. (1997), Upper bounds and algorithms for hard 0–1 knapsack problems, Operations Research, Vol. 45, pp. 768–778.MathSciNetMATHCrossRefGoogle Scholar
  41. Merbach H. (1978), An improved upper bound for the zero-one knapsack problem: a note on the paper by Martello and Toth, European Journal of Operational Research, Vol. 2, pp. 212–213.MATHCrossRefGoogle Scholar
  42. Nauss R.M.(1976), An efficient algorithm for the 0–1 knapsack problem, Management Science, Vol. 23, pp. 27–31.MATHCrossRefGoogle Scholar
  43. Pandit S.N.N. and Ravi Kumar M. (1993), A lexicographic search for strongly correlated 0–1 knapsack problems, Opsearch, Vol. 30 pp. 97–116.MATHGoogle Scholar
  44. Pferchy U.(1998), Stochastic analysis of greedy algorithms for the subset sum problem, working paper, Universitat Graz, Institut fur Statistik und Operations Research, Austria.Google Scholar
  45. Pisinger D.(1995a), An expanding-core algorithm for the exact 0–1 knapsack problem, European Journal of Operational Research, Vol. 87 pp. 175–187.MATHCrossRefGoogle Scholar
  46. Pisinger D.(1995b), Algorithms for knapsack problem, Ph.D. thesis.Google Scholar
  47. Pisinger D.(1997), A minimal algorithm for the 0–1 knapsack problem, Operations Research, Vol. 45, pp. 758–767.MathSciNetMATHCrossRefGoogle Scholar
  48. Pisinger D.(1998), A fast algorithm for strongly correlated knapsack problems, Discrete Applied Mathematics, Vol. 89 pp. 197–212.MathSciNetMATHCrossRefGoogle Scholar
  49. Pisinger D. and Toth P.(1998), Knapsack Problems, in D.Z.Du, P. Paralos(eds.) Handbook of Combinatorial Optimization, Kluwer, Norwell.Google Scholar
  50. Sahni S. (1975), Approximate algorithms for the 0–1 knapsack problem, Journal of ACM, Vol. 22, pp. 115–124.MathSciNetMATHCrossRefGoogle Scholar
  51. Salkin, H. M. (1975), Integer Programming, Addison-Wesley Publishing Company, Inc.MATHGoogle Scholar
  52. Sinha, A. and Zottners, A.A. (1979), The multiple-choice knapsack problem, Operations Research, 27, pp. 503–515.MathSciNetMATHCrossRefGoogle Scholar
  53. Soma N.Y. and Zinober A. S.I., Yanasse H.H. and Harley P.J. (1995), A polynomial approximation scheme for the subset sum problem, Discrete Applied Mathematics, Vol. 57, pp. 243–253.MathSciNetMATHCrossRefGoogle Scholar
  54. Syslo, M., Deo, N. and Kowalik, J. S. (1983), Discrete Optimization Algorithms with PASCAL programs, Prentice-Hall, Inc., Englewood Cliffs, New Jersey.MATHGoogle Scholar
  55. Toth P. (1980), Dynamic programming algorithms for the zero-one knapsack problem, Computing, Vol. 25, pp. 29–45.MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2001

Authors and Affiliations

  • Louis Caccetta
    • 1
  • Araya Kulanoot
    • 1
  1. 1.School of Mathematics and StatisticsCurtin University of TechnologyWesternAustralia

Personalised recommendations