TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Faculty | Computer Science
Informatikzentrum

Algorithmikpraktikum: Solving TSP

Semester Winter 2017/2018 [ Other terms: · Winter 16/17 · Winter 15/16 ]
Module # INF-ALG-09
Event # INF-ALG-023, INF-ALG-024
Programmes Bachelor Informatik
IBR Group(s) ALG (Prof. Fekete)
Type Vorlesung/Übung
Lecturer
Photo Prof. Dr. Sándor P. Fekete
Abteilungsleiter
s.fekete[[at]]tu-bs.de
+49 531 3913111
Room 335
Assistant
Photo Phillip Keldenich
Wissenschaftlicher Mitarbeiter
keldenich[[at]]ibr.cs.tu-bs.de
+49 531 3913112
Room 318
Credits 5
Hours 0+3
Start Das Vorabtreffen findet am 14.09.2017 um 15:30 Uhr im IZ313 statt (Seminarraum der Algorithmik).
Prerequisites Zwingend erforderlich sind der souveräne Umgang mit dem Stoff aus Algorithmen und Datenstrukturen, gute Programmierkenntnisse in C++ (oder die Fähigkeit sie sich anzueignen), sowie Teamfähigkeit. Hilfreich, aber nicht zwingend erforderlich sind Wahlpflichtveranstaltungen der Algorithmik, wie zum Beispiel Algorithmen und Datenstrukturen II, Netzwerkalgorithmen, Einführung in Algorithm Engineering oder Mathematische Methoden der Algorithmik.
Language German
Registration Please contact us via email
Content

In diesem Praktikum geht es darum, das NP-schwere Traveling Salesman Problem (TSP) optimal zu lösen. Das geschieht mit Hilfe mächtiger Tools, guter Software und vor allem durch die Kombination von Theorie und Praxis. Insbesondere werden vorhandene Integer Programming Solver wie IBM CPLEX benutzt. Dies bildet den Kern des Praktikums; darüber hinaus gibt es verschiedene Vertiefungsmöglichkeiten:

  • Den im Praktikum entwickelten Solver so weit wie möglich optimieren, sodass größere und schwerere Instanzen gelöst werden können. In Experimenten auf verschiedenen Instanzen evaluieren, wie sich Optimierungen auf Laufzeit und Speicherverbrauch auswirken.
  • Besonders schwere oder interessante TSP-Instanzen erzeugen und die Performance des Solvers und existierender TSP-Solver darauf evaluieren.
  • Heuristische Ansätze entwickeln, die bei Instanzen zum Einsatz kommen können, die nicht mehr exakt gelöst werden können. Experimente durchführen, um diese heuristischen Ansätze bezüglich verschiedener Kriterien zu vergleichen.
  • Visualisierung von Punktmengen, Touren und experimentellen Ergebnissen.
  • Varianten des Travelling Salesman Problem untersuchen. Es gibt hier sehr viele Möglichkeiten, von denen auch bereits viele schon in der Literatur untersucht wurden. Unter anderem wären die folgenden Varianten denkbar:
    • MaxTSP - die Länge der Tour maximieren, statt sie zu minimieren,
    • MaxScatterTSP - die Länge der kürzesten Kante maximieren (analog z.B. die Länge der längsten Kante minimieren),
    • Polygonvarianten - die Tour muss ein Polygon sein (d.h. keine Kreuzungen), wobei man verschiedene Eigenschaften (Fläche, Umfang) des Polygons optimieren kann,
    • Abbiegekosten - man zahlt nicht nur für die zurückgelegte Strecke, sondern auch für das Abbiegen an Knoten,
    • TSP mit Nachbarschaften - man muss nicht mehr punktförmige Städte besuchen sondern eine Menge von Bereichen betreten,
    • TSP mit Subtouren - eine gewisse Anzahl von Subtouren sind erlaubt, man muss nicht mehr alles mit einer einzigen Tour abdecken.
References

Hinweise zu LP-Solvern

Die Shells von CPLEX und SCIP sind sich recht ähnlich. Ihre wichtigsten Befehle lauten:

CPLEX SCIP Effekt Abkürzung
help Zeigt die Hilfe an h
read x.lp Liest Datei x.lp ein
optimize Löst das gelesene Problem opt
display solution variables - display solution Zeigt die Lösung an di so [va -]
quit Beendet die Shell CTRL-D drücken

last changed 2017-09-11, 17:13 by Phillip Keldenich
printemailtop