I'm wondering if there is a reasonable way of solving Multiple Knapsack using DP. I get the point in 0-1 Knapsack Problem. The recurrence is quite straightforward, add item/ not add item.
dp[item][capacity] = max{
value[item] + dp[item - 1][capacity - weight[item]],
dp[item - 1][capacity]}
However, I cannot see how to get an recurrence equation for the Multiple Knapsack. Should I extend the recurrence equation to "add item bag 1/ not add item bag 1/ add item bag 2/ not add item bag 2" and so on and so forth? It does not seem a good approach as the number of bags becomes larger and larger.