TSP - это NP hard.Смотрите википедию.Это ужасно масштабируется.Многопоточность на 4-ядерном процессоре может сделать его в 4 раза быстрее, что ничто по сравнению со 100, 1000 или 1000000 раз, когда он работает медленнее, если вы пытаетесь решить проблему чуть большего размера.Просто попробуйте это с данными реального размера, это может занять годы.
Одним из решений является метаэвристика, есть несколько библиотек, таких как Drools Planner (с открытым исходным кодом, Java).Взгляните на пример TTP.