A collection of items have different values and weights, optimize the amount of value you can carry when you have a knapsack with a limited carrying weight
Variations
Bounded: Can only take one of each item
Unbounded: Can take multiple of one item
Fractional Items: Can take part of an item
One/Multiple Knapsacks
0-1 Knapsack Problem
Items are bounded, non-fractional, and only one knapsack
Brute Force
Check every possible combination within the weight limit for the max value
O(2n)
2n combinations of sets for N-items in a set (the cardinality of the power set)