왜 TSP는 도시 반복이 필요하지 않습니까?


9

TSP가 반복 된 도시의 가능성을 부인하는 것이 이상하게 보입니다. 이 여행하는 세일즈맨의 목표는 가능한 한 빨리 가서 모든 도시를 방문하는 것입니다. 이미 가본 도시를 더 빨리 여행한다면 어떨까요?


2
나는 그것이 임의적이라고 확신한다. 드문 경우지만 반복 된 도시를 허용하면 차이가 없습니다 (메트릭 TSP에서는 절대). 따라서 문제는 거의 다릅니다. 그 이유는 아마도 역사적인 것입니다.
Karolis Juodelė

8
나는 세일즈맨이 정말 나쁜 제품을 판매한다고 들었고 그의 오래된 고객을 만나는 것이 현명하지 않을 것입니다 :)
ssch

답변:


3

실제 문제를 모델링하는 방법 일 뿐이므로 정확하게 정의하는 것은 중요하지 않습니다. TSP에는 도시 세트와 각 도시 사이를 이동하는 비용이 있습니다. 실제 상황에서 B와 C 사이의 최상의 경로가 A를 통과 할 가능성을 배제하지는 않습니다. 그렇다면, 예, TSP에서 ABCA로 모델링 된 경로는 B에서 C로가는 길에 A를 추가로 운전하는 것이 매우 중요하지만 TSP 모델에서는 이러한 세부 사항이 추상화되어 있습니다.


1
유효한 요점이지만 TSP는 실제 상황에서 자주 사용됩니다. 실제 응용 프로그램을 구현할 때 반복이 필요없는 요구 사항이 있습니까?
danmcardle

@danmcardle 응용 프로그램에 따라 다릅니다.
Tom van der Zanden

2

제약 조건이 이상하게 보이며 많은 실제 상황에서는 관련이 없다는 데 동의합니다. David의 대답에서 지적했듯이 모델링을 직접 변경할 수 있다면 실제로 중요하지 않습니다. 그러나 수정할 수없는 인스턴스가 주어지면이 제약 조건을 가진 일반 TSP는 상수 요소 내에서 근사치가 아니며 단일 방문 제약 조건을 완화하면 요소 2 내에서 근사치가 될 수 있기 때문에 (메트릭이 아니더라도) ). 표준 인수에 의해 내가 뭔가를 그리워하지 않는 한, 먼저 최소 스패닝 트리를 만들 수 있습니다 (비용)c), 오일러 여행 기술로이 나무를 방문하십시오. 분명히, 총 여행 비용은2c (모든 모서리에서 두 번). 모순에 비해 비용이 저렴한 투어가 있다면c,이 투어는보다 적은 비용의 MST를 유추하는 데 사용될 수 있습니다. c모순입니다.


1

반복되는 투어가 있으면 도시를 반복하지 않는 짧은 투어를 만들 수 있습니다. 예를 들어, 양식 둘러보기를 고려하십시오.

AXAY,
어느 방문 A두번. 두 번째 방문시 바로 가기를 사용할 수 있습니다.A에서 직진 XY:
AXY.

가장 짧은 방법 일 수 있습니다. XY 통과하다 A하지만 이미 가장자리에 캡슐화되어 있습니다. XY. 당신은 언급을 생각할 수 있습니다A "통과"가 아닌 A 오히려 "중지" A. 당신은에 중지해야합니다A 한 번은 통과 할 수 있지만 여러번.

TSP에 대한 실제 알고리즘은 Christofides의 알고리즘과 같은 "바로 가기"단계를 가질 수 있습니다. 예 를 들어이 설명 또는 더 짧은 계정을 참조하십시오 .


4
메트릭 TSP를 가정합니다 (즉, 삼각형 부등식이 유지됨). 그러나 일반 TSP에는 삼각형 부등식이 없습니다. 예를 들어 도시가있을 수 있습니다,엑스1,,엑스, 어디 (,엑스나는)=1(엑스나는,엑스제이)=100 모든 나는,제이. 반복되는 가장 짧은 여행은엑스1엑스2엑스비용과 함께 2+1 그러나 반복없이 가장 짧은 여행은 엑스1엑스비용과 함께 10098.
David Richerby

그러나 (1) OP는 미터법 인 TSP의 실제 응용 프로그램에 관심이있는 것으로 보이고 (2) 비 메트릭 TSP는 흥미롭지 않습니다 (너무 어렵 기 때문에).
유발 Filmus

2
@YuvalFilmus 실제 TSP는 필요하지 않습니다. A에서 B로 도로에 트래픽이 있기 때문에 A로부터 B로 여행 언젠가는 더 이상 다음 AC + CB를 취할 것
일리아 Gazman

1
@Babibu 가장자리의 거리 (,)~에서 가장 짧은 거리입니다. 귀하의 경우에서 직접 도로최단 거리가 아닙니다.
유발 Filmus

0

"사람들이 바보가 아닙니다"를 제외하고는 이것에 대한 일반적인 대답은 없습니다. 상황에 맞는 솔루션을 적용합니다. 여행하는 판매원 문제 자체에 관심이있는 사람들은 거의 없습니다. 고전적인 예에서, 실제 판매원은 특정 제약 조건 내에서 주어진 기간 동안 수입을 최대화하는 문제에 더 관심을 가질 것입니다. 이 문제의 경우, 이동 한 총 거리는 최적의 답을 찾는 여러 가지 요소 중 하나 일뿐입니다.


0

반복이 허용되면 모든 연결 X-> A-> Y를 검사하고 X-> Y보다 짧은 경우 X-> Y의 길이를 X-> A->의 길이로 바꿉니다. Y, 표준 알고리즘으로 결과 문제를 해결하십시오. 더 짧은 연결 X-> Y를 찾으면 이제 X-> Y-> Z가 X-> Y보다 짧을 수 있기 때문에 변경 사항이 없을 때까지 교체 프로세스를 반복해야한다고 생각합니다.

어떤 연결을 변경했는지 추적하고 솔루션의 연결을 통과 한 다음 솔루션에 X-> Y가 포함 된 경우이를 X-> A-> Y로 바꾸십시오.

추신. 내 생각이 훌륭하다고 생각하지만, 그것이 올바른지 지금은 잘 모르겠습니다. X-> Y 대신 X-> A-> Y는 바로 가기가 아니기 때문에 도시 A에도 적용됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.