That is a famous Dynamic Programming Problem that falls in the optimization category.
It derives mainly its name from a scenario where, it is given a set of items with specific weights and assigned values, that goal is to maximize the value in a knapsack while remaining within the weight constraint.
Each and every item can only be selected once as we do not have multiple quantities of any items.