swapped to using 2-opt algorithm as heuristic