Definition
The knapsack problem is the following problem in combinatorial optimization:Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.
Related concepts
Affine functionApproximation algorithmBaby-step giant-stepBig O notationBin packing problemBinary searchBranch and boundChange-making problemCo-NP-completeCombinatorial auctionCombinatorial optimizationContinuous knapsack problemCryptographyCutting stock problemDavid S. JohnsonDecision problemDecision tree modelDeterministic algorithmDominance relationsDynamic programmingEPTASEmpty setFixed-point arithmeticFixed investmentFully polynomial time approximation schemeGekko (optimization software)George DantzigGreatest common divisorGreedy algorithmHadas ShachnaiHamiltonian (quantum mechanics)Hybrid algorithmKarp's 21 NP-complete problemsKnapsackKnapsack auctionKnapsack cryptosystemsLinear programming relaxationList of knapsack problemsMeet-in-the-middle attackMerkle–Hellman knapsack cryptosystemMichael R. GareyMultiple knapsack problemNP-completeP versus NP problemPacking problemParallel computingPolynomial-time approximation schemePortfolio (finance)Pseudo-polynomial timePseudocodePseudopolynomialPublic-key cryptographyQuadratic knapsack problemQuantum approximate optimization algorithmQuantum computationRandomized algorithmRationalsReal RAMReal numberResource allocationRosetta CodeSartaj SahniSecuritizationStrongly NP-completeSubset sum problemSuffix treeTuring machineWeak NP-completenessWeakly NP-completeZvi Galil
8 concepts already in your glossary