Abstract
Knapsack Problems are the simplest NP-hard problems in Combinatorial Optimization, as they maximize an objective function subject to a single resource constraint. Several variants of the classical 0–1 Knapsack Problem will be considered with respect to relaxations, bounds, reductions and other algorithmic techniques for the exact solution. Computational results are presented to compare the actual performance of the most effective algorithms published.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
J. H. Ahrens and G. Finke (1975), “Merging and Sorting Applied to the Zero-One Knapsack Problem”, Operations Research, 23, 1099–1109.
L. Aittoniemi (1982), “Computational comparison of knapsack algorithms”, presented at XIth International Symposium on Mathematical Programming, Bonn, August 23–27.
G. d’Atri, C. Puech (1982), “Probabilistic analysis of the subset-sum problem”, Discrete Applied Mathematics, 4, 329–334.
D. Avis (1980) Theorem 4. In V. Chvâtal, “Hard knapsack problems”, Operations Research, 28, 1410–1411.
E. Balas (1975), “Facets of the Knapsack Polytope”, Mathematical Programming, 8, 146–164.
E. Balas and E. Zemel (1980), “An Algorithm for Large Zero-One Knapsack Problems”, Operations Research, 28, 1130–1154.
P. Barcia and K. Jörnsten (1990), “Improved Lagrangean decomposition: An application to the generalized assignment problem”, European Journal of Operational Research, 46, 84–92.
R. E. Bellman (1957), Dynamic programming, Princeton University Press, Princeton, NJ.
R. L. Bulfin, R. G. Parker and C. M. Shetty (1979), “Computational results with a branch and bound algorithm for the general knapsack problem”, Naval Research Logistics Quarterly, 26, 41–46.
R. E. Burkard and U. Pferschy (1995), “The Inverse-parametric Knapsack Problem”, European Journal of Operational Research, 83 376–393.
A. Caprara, D. Pisinger, P. Toth (1997), “Exact Solution of Large Scale Quadratic Knapsack Problems”, Abstracts ISMP’97, EPFL, Lausanne, 24–29 August 1997.
A. K. Chandra, D. S. Hirschberg, C. K. Wong (1976), “Approximate algorithms for some generalized knapsack problems”. Theoretical Computer Science, 3, 293–304.
N. Christofides, A. Mingozzi, P. Toth (1979). “Loading Problems”. In N. Christofides, A. Mingozzi, P. Toth, C. Sandi (eds.), Combinatorial Optimization, Wiley, Chichester, 339–369.
V. Chvâtal (1980), “Hard Knapsack Problems”, Operations Research, 28, 1402–1411.
T. H. Cormen, C. E. Leiserson and R. L. Rivest (1990), Introduction to Algorithms, MIT Press, Massachusetts.
H. Crowder, E.L. Johnson, M.W. Padberg (1983), “Solving large-scale zero-one linear programming problems”, Operations Research, 31, 803–834.
G. B. Dantzig (1957), “Discrete Variable Extremum Problems”, Operations Research, 5, 266–277.
R. S. Dembo and P. L. Hammer (1980), “A Reduction Algorithm for Knapsack Problems”, Methods of Operations Research, 36, 49–60.
B. L. Dietrich and L. F. Escudero (1989), “More coefficient reduction for knapsack-like constraints in 0–1 programs with variable upper bounds”, IBM T.J.,Watson Research Center,RC-14389,Yorktown Heights N. Y.
B. L. Dietrich and L. F. Escudero (1989), “New procedures for preprocessing 0–1 models with knapsack-like constraints and conjunctive and/or disjunctive variable upper bounds”, IBM T.J., Watson Research Center, RC-14572, Yorktown Heights N.Y.
W. Diffe and M. E. Hellman (1976), “New directions in cryptography”, IEEE Trans. Inf. Theory, IT-36, 644–654.
K. Dudzinski (1991), “A note on dominance relations in unbounded knapsack problems”, Operations Research Letters, 10, 417–419.
K. Dudzinski and S. Walukiewicz (1984), “A fast algorithm for the linear multiple-choice knapsack problem”, Operations Research Letters, 3, 205–209.
K. Dudzinski and S. Walukiewicz (1987), “Exact Methods for the Knapsack Problem and its Generalizations”, European Journal of Operational Research, 28, 3–21.
M. E. Dyer (1984), “An O(n) algorithm for the multiple-choice knapsack linear program”, Mathematical Programming, 29, 57–63.
M. E. Dyer, N. Kayal and J. Walker (1984), “A branch and bound algorithm for solving the multiple choice knapsack problem”, Journal of Computational and Applied Mathematics, 11, 231–249.
L. F. Escudero, S. Martello and P. Toth (1995), “A framework for tightening 0–1 programs based on an extension of pure 0–1 KP and SS problems”, In: E. Balas, J. Clausen (eds.): Integer Programming and Combinatorial Optimization, Fourth IPCO Conference. Lecture Notes in Computer Science, 920, 110–123.
D. Fayard and G. Plateau (1977), “Reduction algorithm for single and multiple constraints 0–1 linear programming problems”, Conference on Methods of Mathematical Programming, Zakopane (Poland).
D. Fayard and G. Plateau (1982), “An Algorithm for the Solution of the 0–1 Knapsack Problem”, Computing, 28, 269–287.
D. Fayard and G. Plateau (1994), “An exact algorithm for the 0–1 collapsing knapsack problem”, Discrete Applied Mathematics, 49, 175–187.
C.E. Ferreira, M. Grötsche, S. Kieft, C. Krispenz, A. Martin and R. Weismantel (1993), “Some integer programs arising in the design of mainframe computers”, ZOR, 38 77–100.
C. E. Ferreira, A. Martin, C. de Souza, R. Weismantel and L. Wolsey (1994), “Formulations and valid inequalities for the node capacitated graph partitioning problem”, CORE discussion paper, 9437, Unversité Catholique de Louvain.
C.E. Ferreira, A. Martin, R. Weismantel (1996), “Solving multiple knapsack problems by cutting planes”, SIAM Journal on Optimization, 6, 858–877.
M. Fischetti and S. Martello (1988), “A hybrid algorithm for finding the kth smallest of n elements in O(n) time. In B. Simeone, P. Toth, G. Gallo, F. Maffioli, S. Pallottino (eds), Fortran codes for Network Optimization,Annals of Operations Research,13 401–419.
M. Fischetti and P. Toth (1988), “A new dominance procedure for combinatorial optimization problems”, Operations Research Letters, 7, 181–187.
M. L. Fisher (1981), “The Lagrangian Relaxation Method for Solving Integer Programming Problems”, Management Science, 27, 1–18.
A. Fréville G. Plateau (1993), “An exact search for the solution of the surrogate dual for the 0–1 bidimensional knapsack problem”, European Journal of Operational Research, 68, 413–421.
A.M. Frieze, M.R.B. Clarke (1984), “Approximation algorithms for the m-dimensional 0–1 knapsack problem: Worst-case and probabilistic analysis”, European Journal of Operational Research, 15, 100–109.
G. Gallo, P.L. Hammer, B. Simeone (1980), “Quadratic knapsack problems”, Mathematical Programming 12 132–149.
M. R. Garey and D. S. Johnson (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, Freeman, San Francisco.
B. Gavish and H. Pirkul (1985), “Efficient algorithms for solving multiconstraint zero-one knapsack problems to optimality” Mathematicial Programming, 31, 78–105.
G. Gens and E. Levner (1994), “A fast approximation algorithm for the subset-sum problem”, INFOR, 32, 143–148.
P. C. Gilmore and R. E. Gomory (1965), “Multistage cutting stock problems of two and more dimensions”, Operations Research, 13, 94–120.
P. C. Gilmore and R. E. Gomory (1966), “The theory and computation of knapsack functions”, Operations Research, 14, 1045–1074.
F. Glover (1965), “A multiphase dual algorithm for the zero-one integer programming problem”, Operations Research, 13, 879–919.
A.V. Goldberg, A. Marchetti-Spaccamela (1984), “On finding the exact solution to a zero-one knapsack problem”, Proc. 16th Annual ACM Symposium Theory of Computing, 359–368.
H. Greenberg (1985), “An algorithm for the periodic solutions in the knapsack problem”, Journal of Mathematical Analysis and Applications, 111, 327–331.
H. Greenberg (1986), “On equivalent knapsack problems”, Discrete Applied Mathematics, 14, 263–268.
H. Greenberg, I. Feldman (1980), “A better-step-off algorithm for the knapsack problem”, Discrete Applied Mathematics, 2, 21–25.
P.L. Hammer, E.L. Johnson, U.N. Peled (1975), “Facets of regular 0–1 polytopes”, Mathematical Programming, 8 179–206.
D. S. Hirschberg and C. K. Wong (1976), “A polynomial time algorithm for the knapsack problem with two variables”, Journal of ACM, 23 147–154.
D.S. Hochbaum (1995), “A Nonlinear Knapsack Problem”, Operations Research Letters, 17, 103–110.
K. L. Hoffman and M. Padberg (1993), “Solving airline crew-scheduling problems by branch and cut”, Management Science, 39, 657–682.
E. Horowitz and S Sahni (1974), “Computing partitions with applications to the Knapsack Problem”, Journal of ACM, 21, 277–292.
M. S. Hung and J. C. Fisk (1978), “An algorithm for 0–1 multiple knapsack problems”, Naval Research Logistics Quarterly, 24, 571–579.
T. Ibaraki (1987), “Enumerative Approaches to Combinatorial Optimization — Part 1”, Annals of Operations Research, 10.
T. Ibaraki (1987), “Enumerative Approaches to Combinatorial Optimization — Part 2”, Annals of Operations Research, 11.
H. Ibarra and C.E. Kim (1975), “Fast approximation algorithms for the knapsack and sum of subset problem”, Journal of ACM, 22, 463–468.
G. P. Ingargiola and J. F. Korsh (1973), “A Reduction Algorithm for Zero-One Single Knapsack Problems”, Management Science, 20, 460–463.
G. P. Ingargiola and J. F. Korsh (1975), “An algorithm for the solution of 0–1 loading problems”, Operations Research, 23, 752–759.
G. P. Ingargiola and J. F. Korsh (1977), “A general algorithm for the one-dimensional knapsack problem”, Operations Research, 25, 752–759.
R. G. Jeroslow (1974), “Trivial Integer Programs Unsolvable by Branchand-Bound”, Mathematical Programming, 6, 105–109.
E.L. Johnson and M.W. Padberg (1981), “A note on the knapsack probem with special ordered sets”, Operations Research Letters, 1, 1822.
R. Kannan (1980), “A polynomial algorithm for the two-variables integer programming problem”, Journal of ACM, 27, 118–122.
G. A. P. Kindervater and J. K. Lenstra (1986), “An introduction to parallelism in combinatorial optimization”, Discrete Applied Mathematics, 14, 135–156.
D.E. Knuth (1973), The art of Computer Programming,Vo.3,Sorting and Searching, Addison-Wesley, Reading, MA.
P. J. Kolesar (1967), “A branch and bound algorithm for the knapsack problem”, Management Science, 13, 723–735.
D. Krass, S.P. Sethi and G. Sorger (1994), “Some complexity issues in a class of knapsack problems: What makes a Knapsack Problem ‘hard’ ”, INFOR, 32, 149–162.
J.C. Lagarias, A.M. Odlyzko (1983), “Solving low-density subset sum problems”, Proc. 2.4 th Annual Symposium on Foundations of Computer Science, Tucson, Arizona, 7–9 November 1983, 1–10.
G. Laporte (1992), “The Vehicle Routing Problem: An overview of exact and approximate algorithms”, European Journal of Operational Research, 59, 345–358.
G. S. Lueker (1975), “Two NP-complete problems in nonnegative integer programming”, Report No. 178, Computer Science Laboratory, Priceton University, Princeton, NJ.
S. Martello and P. Toth (1977), “An Upper Bound for the Zero-One Knapsack Problem and a Branch and Bound algorithm”, European Journal of Operational Research, 1, 169–175.
S. Martello and P. Toth (1977), “Branch and bound algorithms for the solution of general unidimensional knapsack problems”. In M. Roubens (ed.), Advances in Operations Research, North-Holland, Amsterdam, 295–301.
S. Martello and P. Toth (1979), “The 0–1 knapsack problem”. In A. Mingozzi, P. Toth, C. Sandi (ed.), Combinatorial Optimization, Wiley, Chichester, 237–279.
S. Martello and P. Toth (1980), “Solution of the zero-one multiple knapsack problem”, European Journal of Operational Research, 4, 276–283.
S. Martello and P. Toth (1981), “A bound and bound algorithm for the zero-one multiple knapsack problem”, Discrete Applied Mathematics, 3, 275–288.
S. Martello and P. Toth (1984), “A mixture of dynamic programming and branch-and-bound for the subset-sum problem”, Management Science, 30, 765–771.
S. Martello, and P. Toth (1987), “Algorithms for Knapsack Problems”.In S. Martello, G. Laporte, M. Minoux and C. Ribeiro (Eds.), Surveys in Combinatorial Optimization, Ann. Discrete Math. 31, North-Holland,Amsterdam, 1987, 213–257.
S. Martello and P. Toth (1988), “A New Algorithm for the 0–1 Knapsack Problem”, Management Science, 34, 633–644.
S. Martello and P. Toth (1990), Knapsack Problems: Algorithms and Computer Implementations, Wiley, Chichester, England.
S. Martello and P. Toth (1990), “An exact algorithm for large unbounded knapsack problems”, Operations Research Letters, 9, 15–20.
S. Martello and P. Toth (1995), “The bottleneck generalized assignment problem”, European Journal of Operational Research, 83 621–638.
S. Martello and P. Toth (1997), “Upper Bounds and Algorithms for Hard 0–1 Knapsack Problems”, Operations Research, 45, 768–778.
G. B. Mathews (1897), “On the Partition of Numbers”, Proc. of the London Mathematical Society, 28, 486–490.
T. L. Morin and R. E. Marsten (1976), “An algorithm for nonlinear knapsack problems”, Management Science, 22, 1147–1158.
H. Müller-Merbach (1979), “Improved upper bound for the zero-one knapsack problem. A note on the paper by Martello and Toth”, European Journal of Operational Research, 2, 212–213.
J. I. Munro, R. J. Ramirez (1982), “Reducing Space Requirements for Shortest Path Problems”, Operations Research, 30, 1009–1013.
R. M. Nauss (1976), “An Efficient Algorithm for the 0–1 Knapsack Problem”, Management Science, 23, 27–31.
R. M. Nauss (1978), “The 0–1 knapsack problem with multiple choice constraint”, European Journal of Operational Research, 2, 125–131.
A. Neebe and D Dannenbring (1977), “Algorithms for a specialized segregated storage problem”, University of North Carolina, Technical Report 77–5.
G. L. Nemhauser and Z. Ullmann (1969), “Discrete dynamic programming and capital allocation”, Management Science, 15, 494–505.
G.L. Nemhauser and L.A. Wolsey (1988), Integer and Combinatorial Optimization, Wiley, Chichester.
M.W. Padberg (1975), “A note on zero-one programming”, Operations Research, 23, 833–837.
C. H. Papadimitriou and K. Steiglitz (1982), Combinatorial Optimization: Algorithms and Complexity, Prentice Hall, Englewood Cliffs, New Jersey.
U. Pferschy, D. Pisinger, G.J. Woeginger (1997), “Simple but Efficient Approaches for the Collapsing Knapsack Problem”, Discrete Applied Mathematics, 77, 271–280
D. Pisinger (1995), “An expanding-core algorithm for the exact 0–1 knapsack problem,” European Journal of Operational Research, 87, 175–187.
D. Pisinger (1994), “Core Problems in Knapsack Algorithms”, DIKU, University of Copenhagen, Denmark, Report 94/26. Submitted Operations Research, conditionally accepted.
D. Pisinger (1994), “Dominance Relations in Unbounded Knapsack Problems”, DIKU, University of Copenhagen, Denmark, Report 94/33. Submitted European Journal of Operational Research.
D. Pisinger (1995), “An O(nr) Algorithm for the Subset Sum Problem”, DIKU, University of Copenhagen, Denmark, Report 95/6.
D. Pisinger (1995), “A minimal algorithm for the Bounded Knapsack Problem”, In: E. Galas, J. Clausen (eds.): Integer Programming and Combinatorial Optimzation,Fourth IPCO conference.Lecture Notes in Computer Science, 920, 95–109.
D. Pisinger (1995), “The Multiple Loading Problem”, Proc. NOAS’95, University of Reykjavik, 18–19 August 1995. Submitted European Journal of Operational Research
D. Pisinger (1995), “A minimal algorithm for the Multiple-choice Knapsack Problem,” European Journal of Operational Research, 83, 394–410.
D. Pisinger (1996), “Strongly correlated knapsack problems are trivial to solve”, Proc. CO96, Imperial College of Science, Technology and Medicine, London 27–29 March 1996. Submitted Discrete Applied Mathematics.
D. Pisinger (1996), “The Bounded Multiple-choice Knapsack Problem”, Proc. AIRO’96 Perugia, 16–20 September 1996, 363–365.
D. Pisinger (1997), “A minimal algorithm for the 0–1 knapsack problem”, Operations Research, 45, 758–767.
G. Plateau and M. Elkihel (1985), “A hybrid method for the 0–1 knapsack problem”, Methods of Operations Research, 49, 277–293.
S.A. Plotkin, D.B. Shmoys, E. Tardos (1991), “Fast approximation algorithms for fractional packing and covering problems”, Proc. 32nd Annual Symposium on Foundations of Computer Science, San Juan, Puerto Rico, 1–4 October 1991, 495–504.
T. J. van Roy and L. A. Wolsey (1987), “Solving mixed integer programming problems using automatic reformulation”, Operations Research, 35, 45–57.
A. Sinha and A. A. Zoltners (1979), “The multiple-choice knapsack problem”, Operations Research, 27, 503–515.
The Standard Performance Evaluation Corporation, http://www/specbench.org
M. M. Syslo, N. Deo, J. S. Kowalik (1983), Discrete Optimization Algorithms, Prentice Hall, Englewood Cliffs, New Jersey.
P. Toth (1980), “Dynamic programming algorithms for the zero-one knapsack problem”, Computing, 25, 29–45.
R. Weismantel (1995), “Knapsack Problems, Test Sets and Polyhedra”, Habilitationsschrift, TU Berlin, June 1995.
C. Witzgal (1977), “On One-Row Linear Programs”, Applied Mathematics Division, National Bureau of Standards.
L.A. Wolsey (1975), “Facets of linear inequalities in 0–1 Variables”, Mathematical Programming, 8, 165–178.
E. Zemel (1980), “The linear multiple choice knapsack problem”, Operations Research, 28, 1412–1423.
E. Zemel (1984), “An 0(n) algorithm for the linear multiple choice knapsack problem and related problems”, Information Processing Letters, 18, 123–128.
A.A. Zoltners (1978), “A direct descent binary knapsack algorithm”, Journal of ACM, 25, 304–311.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Kluwer Academic Publishers
About this chapter
Cite this chapter
Pisinger, D., Toth, P. (1998). Knapsack Problems. In: Du, DZ., Pardalos, P.M. (eds) Handbook of Combinatorial Optimization. Springer, Boston, MA. https://doi.org/10.1007/978-1-4613-0303-9_5
Download citation
DOI: https://doi.org/10.1007/978-1-4613-0303-9_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-7987-4
Online ISBN: 978-1-4613-0303-9
eBook Packages: Springer Book Archive