The Traveling Salesman

Lösungsmethoden zu einem zentralen Problem der kombinatorischen Optimierung

Saarbrücken, Oktober 1999
Universität des Saarlandes
Fachbereich 9 - Mathematik


Ein Handlungsreisender will, ausgehend von seinem Wohnort, mehrere Städte genau einmal besuchen und danach wieder nach Hause zurückkehren, welche Reihenfolge der Städte führt zu einer möglichst kurzen Rundreise? Dies ist das sogenannte Traveling Salesman Problem (TSP), ein zentrales Problem der kombinatorischen Optimierung. Zum (wahrscheinlich) erstenmal wird es in dem 1832 erschienenen Buch "Der Handlungsreisende, wie er sein soll und was er zu thun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiss zu sein, Von einem alten Commis-Voyageur" angesprochen, während sich die Bezeichnung 'Traveling Salesman Problem' um 1931 etabliert hat. Es hat vielfältige Anwendungen in Bereichen wie Routenplanung, Fahrplangestaltung, Platinenlayout, Netzwerkplanung, Maschinenbelegung, ...

Prinzipiell läßt sich das Traveling Salesman Problem durch Untersuchung aller möglichen Permutationen eindeutig lösen. Dies erweist sich jedoch nur für kleine Städtezahlen n als praktikabel, da die Anzahl der möglichen Rundreisen gemäß n! wächst. Es gehört sogar zu den sogenannten NP-vollständigen Problemen, für die es nach heutigem Wissen keinen Algorithmus mit polynomialer Komplexität gibt. Das Thema dieser Arbeit ist es, Verfahren vorzustellen, mit denen man trotzdem in akzeptabler Zeit zu (Näherungs-)Lösungen kommt, und diese als Programme mit komfortabler Benutzeroberfläche zu implementieren.


Literatur zum Traveling Salesman Problem gibt es reichlich, warum also noch eine weitere Arbeit? Merkmale der meisten vorhandenen Texte sind die Konzentration auf einen Teilbereich der vorhandenen Lösungsmöglichkeiten und daß häufig nur die prinzipielle Funktionsweise der Algorithmen, nicht aber die Umsetzung in konkrete Programme, erläutert wird. Ist dies doch der Fall, so sind sie mangels einer ausgearbeiteten Benutzeroberfläche meist nur umständlich anzuwenden. Deshalb sollten in dieser Arbeit die folgenden Punkte verwirklicht werden:

Die Funktionsweise der Lösungsverfahren sowie die Programme werden dabei nicht getrennt, sondern in zusammenhängenden Einheiten, in denen sie sich gegenseitig ergänzen, behandelt. Das Ziel bei der Erstellung der Programme war, diese so zu gestalten, daß sie auch für den Einsatz im Schulunterricht geeignet sind. Besonders der letzte Punkt der Liste ist dabei von besonderer Bedeutung, denn er ermöglicht interaktives 'Spielen' mit den verschiedenen Verfahren.

Graphentheorie ist in den Lehrplänen der Mathematik normalerweise nicht vorgesehen, weshalb die zur Verfügung stehende Zeit es im allgemeinen notwendig macht, sich auf ein oder zwei Probleme zu beschränken. Das Traveling Salesman Problem bietet sich hier aus mehreren Gründen an: Es verlangt nur ein Minimum an Definitionen und Grundlagen und ist anschaulich und leicht zu verstehen, trotzdem ist 'die Lösung' nicht trivial. Vielmehr gibt es ein breites Spektrum von Ansätzen und Verfahren in verschiedensten Schwierigkeitsgraden, was es erlaubt, den zu behandelnden Stoff auf die konkrete Situation hin auszuwählen und abzustimmen. Außerdem bieten die Heuristiken den Schülern Spielraum, eigene Ideen und Verbesserungen einzubringen, die sich mit den Bibliotheksroutinen leicht und trotzdem ansprechend realisieren lassen.


Unter "Programminfos" und "Heuristiken" finden sich Auszüge aus der Arbeit, der komplette Text (Inhaltsverzeichnis) ist auf Anfrage erhältlich, Turbo Pascal in der Version 5.5 bei http://community.borland.com/museum/ Free Pascal bei http://www.freepascal.org. Über Rückmeldungen und Kommentare würde ich mich freuen (thkle@gmx.net).


Thomas Klein

Zurück