A branch and bound algorithm for the generalized assignment problem