똑똑한 여행 세일즈맨이 있습니까? 분명했다 실제 최단

농담은 제쳐두고, I는 라우팅 문제가 있었 거의 외판원 문제 (TSP)를 :

  • 시작점이 정의됩니다
  • 끝 점이 시작점과 일치
  • 각 노드를 방문해야합니다
  • 총 비용을 최소화해야합니다

2 년 전 TSP가 완벽하게 일치한다고 생각했기 때문에 tsp_solveConcorde를 통해 일부 샘플 데이터를 실행했습니다 . 다행히, TSP 최단 경로임을 빨리 분명했다 실제 최단 경로가 아닌 문제가 비현실적으로 노드가 방문 할 필요에 의해 쉽게 이루어지기 때문에, 정확히 한 번만 . 이 그림 은 계산 된 솔루션을 최적화하기위한 1 단계 수동 시도 일 뿐이며 이미 가장 긴 에지의 거리를 절약합니다.

매핑 / 모니터링 사이트의 하위 집합에 대한 최적의 경로를 찾으려고 노력하면서 문제가 다시 해결되었습니다. 위치 및 도로 네트워크 데이터는 매우 정확하고 정확하므로 이와 같은 운동이 의미가 있습니다.

TSP의 일반화를 살펴 봤지만 적절한 알고리즘을 찾지 못했습니다. 최소 스패닝 트리는 지점에서 돌아 오는 것을 설명하지 않습니다 (여기서 첫 번째 솔루션에는 3 개가 더 필요함). 내가 이해 한 바에 따르면 최단 경로 문제는 결국 두 개의 노드에만 관심이 있으며 최적의 경로를 벗어난 노드는 제외됩니다. 비 직접 경로를 고려하는지 여부는 알 수 없지만 차량 라우팅 문제 의 특별한 경우가 가장 적합합니다.

내 질문 : 이런 종류의 문제 (가족)에 대한 정식 이름, 정의가 있습니까? 그것을 해결하기 위해 어떤 알고리즘과 도구를 사용 하시겠습니까?

나는 그것이 계산적으로 무거울 것이라고 확신하지만 일반적인 (무한한 자원)과 실제적인 대답에 관심이 있습니다.



답변

이것은 TSP 입니다. 는 삼각 부등식을 만족하지 않기 때문에 당신은 유효한 거리 메트릭 정의하지 않은 다음보다 짧은 B를 통해 C에 대한에서 경로가있는 경우 명시된 C A에서 다음 명시된 거리 C에 대한의 거리, 아주 간단히 말해서 해결 방법은 A에서 C까지의 길이를 A에서 C까지의 모든 경로의 최단 길이로 설정하여 거리 행렬을 업데이트하는 것입니다.


답변