Solves the TSP