Das
In einer graphentheoretischen Formalisierung entsprechen die Städte den Knoten eines ungerichteten Graphen G = (V, E). Der Graph ist vollständig verbunden, d.h. zwischen je zwei verschiedenen Knoten gibt es eine Kante, und er ist mit einer Kantengewichtung w : E → ℝ versehen. Die Kantengewichte entsprechen den Entfernungen zwischen den betreffenden Städten. Eine Rundreise ist ein Kreis, der alle Knoten des Graphen durchläuft. Die Länge der Rundreise ist gleich der Summe der Kantengewichte des Kreises. Gesucht ist eine Rundreise minimaler Länge.
Eingabe:
Vollständig verbundener ungerichteter Graph mit Kantengewichtung
Ausgabe:
Rundreise minimaler Länge
Es gibt (n-1)! Möglichkeiten, beginnend bei einer bestimmten Stadt alle anderen n-1 Städte zu besuchen und wieder zur Ausgangsstadt zurückzukehren – zu viele, um alle durchzuprobieren. Ein wesentlich schnelleres Verfahren, das weniger als exponentielle Komplexität hat, ist nicht bekannt und existiert möglicherweise auch nicht, denn
Dies ist eine neue Situation – die anderen Algorithmen, die auf diesen Webseiten dargestellt sind, haben alle eine Komplexität von höchstens O(n3). Für das
Es stellt sich daher die Frage nach Annäherungsverfahren, die zwar nicht unbedingt die beste Lösung finden, aber dieser sehr nahe kommen. Als erstes wird ein Verfahren mit polynomieller Komplexität angegeben, das für das metrische
Meistens sind jedoch weitaus bessere Annäherungen an die optimale Lösung möglich. Hierzu werden sogenannte heuristische Verfahren1) angewendet, wie etwa die Verfahren Simulated Annealing oder selbstorganisierende Karte, die im Anschluss daran dargestellt werden.
1) Kennzeichnend für diese Verfahren ist, dass sie ziemlich schnell ziemlich gute Lösungen finden, wobei jedoch "ziemlich" nicht genau quantifizierbar ist.
Weiter: [Faktor-2-Annäherung] oder [up]