Optimization Methods and Applications pp 191-217 | Cite as
Algorithms for Some Hard Knapsack Problems
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 optimizationPreview
Unable to display preview. Download preview PDF.
References
- 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
- D’ Atri G. and Puech C. (1982), Probabilistic analysis of the subset-sum problem, Discrete Applied Mathematics, Vol. 4, pp. 329–334.MathSciNetMATHCrossRefGoogle Scholar
- Balas E. and Zemel E. (1980), An algorithm for large zero-one knapsack problems, Operations Research, Vol. 28, pp. 1130–1154.MathSciNetMATHCrossRefGoogle Scholar
- Bellman, R. (1954), Some applications of the theory of dynamic programming-a oreview, Operations Research, vol. 2, pp.275–288.CrossRefGoogle Scholar
- Bellman R.(1957), Dynamic programming, Princeton NJ.Google Scholar
- Bellman R. and Dreyfus, S.E. (1962), Applied Dynamic Programming, Princeton University Press, Princeton, NJ.Google Scholar
- 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
- Chvatal V. (1980), Hard knapsack problem, Operations Research, Vol. 28, pp. 402–411.MathSciNetCrossRefGoogle Scholar
- 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
- Dantzig G.B.(1957), Discrete variables extremum problems, Operations Research, Vol.5 pp. 266–277.MathSciNetCrossRefGoogle Scholar
- Diffe, W. and Hellman, M.E. (1976), New directions in cryptography, IEEE Transactions Information Theory, IT-36, pp.644–654.Google Scholar
- 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
- Faaland B. (1973), Solution of the value-independent knapsack problem by partitioning, Operations Research, Vol. 21, pp.332–337.MathSciNetMATHCrossRefGoogle Scholar
- 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
- 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
- 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
- Gilmore P.C and Gomory R.E. (1966), The theory and computation of knapsack functions, Operations Research, Vol.14, pp. 1045–1074.MathSciNetCrossRefGoogle Scholar
- Greenberg H., and Hegerich R.L.(1970), A branch search algorithm for the knapsack problem, Management Science, 16 (1970) 327–332.MathSciNetMATHCrossRefGoogle Scholar
- Hansmann, F. (1961), Operations Research in the National Planning of Underdeveloped Countries, Operations Research, vol. 9, pp. 203–248.CrossRefGoogle Scholar
- Horowitz E. and Sahni S.(1974), Computing partitions with applications to the knapsack problem, Journal of ACM, Vol.21, pp. 277–292.MathSciNetMATHCrossRefGoogle Scholar
- 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
- 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
- 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
- Johnson D.S.(1974), Approximation algorithms for combinatorial problems, Journal of Computer and System Science, Vol.9, pp. 256–278.MATHCrossRefGoogle Scholar
- 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
- 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
- Kolesar P.J.(1967), A branch and bound algorithm for the knapsack problem, Management Science, Vol.13, pp. 723–735.CrossRefGoogle Scholar
- 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
- Lai T.C. and Sahni S.(1984), Anomalies in parallel branch-and-bound algorithms, Communication of ACM, Vol. 27, pp. 594–602.MathSciNetMATHCrossRefGoogle Scholar
- Lawler E.L. (1979), Fast approximation algorithms for knapsack problems, Mathematics of Operations Research, Vol. 4, pp. 339–356.MathSciNetMATHCrossRefGoogle Scholar
- 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
- 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
- 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
- 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
- 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
- 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
- Martello S. and Toth P.(1988), A new algorithm for the 0–1 knapsack problem, Management Science, Vol. 34, pp. 633–644.MathSciNetMATHCrossRefGoogle Scholar
- Martello S. and Toth P. (1990a), Knapsack Problems Agorithms and Computer Implementations, John Wiley and Sons, Chichester.Google Scholar
- Martello S. and Toth P. (1990b), An exact algorithm for large unbounded knapsack problems, Operations Research Letters, vol. 9, pp. 15–20.MathSciNetMATHCrossRefGoogle Scholar
- 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
- MüllerGoogle Scholar
- 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
- Nauss R.M.(1976), An efficient algorithm for the 0–1 knapsack problem, Management Science, Vol. 23, pp. 27–31.MATHCrossRefGoogle Scholar
- 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
- 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
- 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
- Pisinger D.(1995b), Algorithms for knapsack problem, Ph.D. thesis.Google Scholar
- Pisinger D.(1997), A minimal algorithm for the 0–1 knapsack problem, Operations Research, Vol. 45, pp. 758–767.MathSciNetMATHCrossRefGoogle Scholar
- Pisinger D.(1998), A fast algorithm for strongly correlated knapsack problems, Discrete Applied Mathematics, Vol. 89 pp. 197–212.MathSciNetMATHCrossRefGoogle Scholar
- Pisinger D. and Toth P.(1998), Knapsack Problems, in D.Z.Du, P. Paralos(eds.) Handbook of Combinatorial Optimization, Kluwer, Norwell.Google Scholar
- Sahni S. (1975), Approximate algorithms for the 0–1 knapsack problem, Journal of ACM, Vol. 22, pp. 115–124.MathSciNetMATHCrossRefGoogle Scholar
- Salkin, H. M. (1975), Integer Programming, Addison-Wesley Publishing Company, Inc.MATHGoogle Scholar
- Sinha, A. and Zottners, A.A. (1979), The multiple-choice knapsack problem, Operations Research, 27, pp. 503–515.MathSciNetMATHCrossRefGoogle Scholar
- 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
- Syslo, M., Deo, N. and Kowalik, J. S. (1983), Discrete Optimization Algorithms with PASCAL programs, Prentice-Hall, Inc., Englewood Cliffs, New Jersey.MATHGoogle Scholar
- Toth P. (1980), Dynamic programming algorithms for the zero-one knapsack problem, Computing, Vol. 25, pp. 29–45.MathSciNetMATHCrossRefGoogle Scholar