Multiple knapsack problem