Warum erfordert TSP keine Wiederholung von Städten?


9

Es scheint mir seltsam, dass der TSP die Möglichkeit wiederholter Städte verweigert. Das Ziel dieses reisenden Verkäufers ist es, so schnell wie möglich alle Städte zu besuchen, oder? Was ist, wenn es schneller ist, durch eine Stadt zu reisen, in der Sie bereits waren?


2
Ich bin sicher, dass es willkürlich ist. Nur in seltenen Fällen würde das Zulassen wiederholter Städte einen Unterschied machen (niemals in metrischen TSP). Die Probleme sind also kaum anders. Der Grund ist wahrscheinlich historisch.
Karolis Juodelė

8
Ich habe gehört, der Verkäufer verkauft wirklich schlechte Produkte und es wäre unklug, seine alten Kunden zu treffen :)
ssch

Antworten:


3

Es spielt keine Rolle, wie Sie es genau definieren, da es nur eine Möglichkeit ist, ein reales Problem zu modellieren. In TSP haben Sie nur eine Reihe von Städten und die Reisekosten zwischen jedem Paar. Dies schließt nicht aus, dass in der von Ihnen modellierten realen Situation die beste Route zwischen B und C durch A führt. Wenn dies der Fall wäre, könnte die Route, die in TSP als ABCA modelliert wird, dies tun Sehr gut ist es, auf dem Weg von B nach C eine zusätzliche Zeit durch A zu fahren, aber solche Details werden im TSP-Modell abstrahiert.


1
Ein gültiger Punkt, aber ich möchte darauf hinweisen, dass TSP häufig in realen Situationen verwendet wird. Wird die Nichtwiederholungspflicht bei der Implementierung realer Anwendungen vergeben?
Danmcardle

@danmcardle Das hängt von der Anwendung ab.
Tom van der Zanden

2

Ich stimme zu, dass die Einschränkung seltsam aussieht und für viele praktische Situationen nicht relevant ist. Wie David in seiner Antwort betont hat, spielt es keine Rolle, ob Sie die Modellierung selbst ändern können. Bei einer nicht modifizierbaren Instanz wird dies jedoch einen Unterschied machen, da der allgemeine TSP mit dieser Einschränkung innerhalb eines konstanten Faktors nicht approximierbar ist, während die Lockerung der Einschränkung für einen einzelnen Besuch ihn innerhalb des Faktors 2 approximierbar zu machen scheint (obwohl er nicht metrisch ist) ). Wenn ich nichts vermisse, können Sie nach Standardargumenten zuerst einen minimalen Spannbaum erstellen (Kosten ) und dann diesen Baum mit der Euler-Tour-Technik besuchen. Die Gesamtkosten Ihrer Tour betragen dann eindeutig 2 c (zweimal pro Kante). Im Widerspruch, wenn es eine Tour gab, die weniger kostete alsc2c , dann könnte diese Tour verwendet werden, um einen MST mit Kosten unter c abzuleiten , was ein Widerspruch ist.cc


1

Bei jeder Tour mit Wiederholungen können Sie eine kürzere Tour erstellen, die keine Stadt wiederholt. Sie sich zum Beispiel eine Tour durch die Form A X A Y ⋯ vor , die A zweimal besucht . Sie können bei Ihrem zweiten Besuch in A eine Verknüpfung von X nach Y erstellen : A X Y .

EINX.EINY.,
EINEINX.Y.
EINX.Y..

Es kann sein, dass der kürzeste Weg von nach Y durch A führt , der jedoch bereits in der Kante X Y eingekapselt ist . Sie können von einer Erwähnung denken A nicht als „Durchreise“ A , sondern „zu stoppen“ A . Man braucht sich nur zu stoppen A einmal, wenn Sie passieren könnte A mehrmals.X.Y.EINX.Y.EINEINEINEINEIN

Tatsächliche Algorithmen für TSP könnten diesen Schritt des "Nehmens von Verknüpfungen" haben, zum Beispiel den Algorithmus von Christofides. Siehe zum Beispiel diese Beschreibung oder das kürzere Konto .


4
Sie gehen von einem metrischen TSP aus (dh, dass die Dreiecksungleichung gilt). Allgemeiner TSP weist jedoch keine Dreiecksungleichung auf. Zum Beispiel könnten Sie Städte EIN,X.1,,X.nd(EIN,X.ich)=1d(xich,xj)=100ich,jEINX.1EINX.2EINEINX.nEIN2n+1EINX.1X.nEIN100n- -98

Sicher, aber (1) das OP scheint an realen Anwendungen von TSP interessiert zu sein, die metrisch sind, und (2) nicht metrischer TSP ist nicht so interessant (da es zu schwierig ist).
Yuval Filmus

2
@YuvalFilmus Real World TSP sind keine notwendige Metrik.
Manchmal dauert die

1
(EIN,B.)EINB.EINB.

0

Es gibt keine allgemeine Antwort darauf, außer "Leute sind nicht dumm". Sie wenden die Lösung an, die ihrer Situation entspricht. Selten beschäftigen sich Menschen mit dem Problem des reisenden Verkäufers. Eveb im klassischen Fall würde sich ein Verkäufer in der realen Welt mehr mit dem Problem befassen, sein Einkommen über einen bestimmten Zeitraum innerhalb eines bestimmten Satzes von Einschränkungen zu maximieren. In diesem Fall des Problems ist die zurückgelegte Gesamtstrecke nur einer von mehreren Faktoren, die dazu beitragen, die optimale Antwort zu finden.


0

Wenn Wiederholungen zulässig sind, überprüfen Sie einfach alle Verbindungen X -> A -> Y, und wenn diese kürzer als X -> Y sind, ersetzen Sie die Länge von X -> Y durch die Länge von X -> A -> Y, und lösen Sie das resultierende Problem mit dem Standardalgorithmus. Ich denke, Sie müssen den Austauschvorgang wiederholen, bis keine Änderungen mehr vorliegen. Wenn Sie eine kürzere Verbindung X -> Y finden, kann dies bedeuten, dass jetzt X -> Y -> Z kürzer als X -> Y ist.

Verfolgen Sie, welche Verbindungen Sie geändert haben, gehen Sie die Verbindungen in der Lösung durch. Wenn die Lösung X -> Y enthält, ersetzen Sie diese durch X -> A -> Y.

PS. Ich finde meine Idee großartig, bin mir aber im Moment nicht sicher, ob sie richtig ist. Da X -> A -> Y anstelle von X -> Y nicht nur eine Verknüpfung ist, sondern auch Stadt A abdeckt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.