An evolutionary heuristic algorithm for the assignment problem