An approximate TSP solver