Hierarchical Simulated Annealing for the Quadratic Assignment Problem