An efficient backtracking heuristic for the resource allocation problem with compatibility and exclusivity constraints