The multiple-choice knapsack problem is a generalization of the ordinary knapsack problem, where the set of items is partitioned into classes. The binary choice of taking an item is replaced by the selection of exactly one item out of each class of items.
In order to define the problem formally, consider
- If
$p_{ij} = w_{ij}$ in all classes$N_i, i = 1, \ldots , m$ , then the problem may be seen as a multiple-choice subset sum problem. In this problem we have$m$ classes, each class$N_i$ containing weights$w_{i1}, \ldots , w_{i n_i}$ .
- U. Pferschy, D. Pisinger, Knapsack Problems, 2004, DOI
