Approximation Algorithms for the Multiple Knapsack Problem with Assignment Restrictions