A Parallel Multi-Phase Implementation of Simulated Annealing for the Traveling Salesman Problem