A tabu search heuristic and adaptive memory procedure for political districting