An iterative pseudo-gap enumeration approach for the Multidimensional Multiple-choice Knapsack Problem