В типичной задаче TSP предполагается, что можно перемещаться непосредственно между любыми двумя точками. Для дорог с покрытием это никогда не происходит. Когда Google вычисляет маршрут между двумя точками, он выполняет эвристическую оптимизацию связующего дерева и обычно находит довольно близкий к оптимальному путь.
Чтобы рассчитать маршрут TSP, сначала нужно попросить Google рассчитать парное расстояние между каждым узлом на графике. Я думаю, что это требует n * (n-1) / 2 Calcs. Затем можно взять эти расстояния и выполнить оптимизацию TSP на них.
OpenStreetMaps.org имеет Java WebStart приложение, которое может делать то, что вы хотите. Конечно расчеты ведутся на стороне клиента. Проект с открытым исходным кодом, и, возможно, стоит посмотреть.
Вы пытаетесь найти оптимальный прямой путь между пунктами или оптимальный маршрут вождения? Если вы просто хотите заказать точки, если вы можете получить координаты GPS, это становится очень легкой проблемой.