Knapsack Problem Summary
Starting from the base knapsack problem, solve a set of related ones to it.
Given a set of items, each with a weight and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and return the largest possible value which can be collected.