Semester | |
Programme | Bachelor Informatik |
IBR Group | ALG (Prof. Fekete) |
Type | Vorlesung/Übung |
Lecturer | |
Assistants | |
Credits | 5 |
Hours | 0+3 |
Start | Das Vorabtreffen findet am 04.04.2019 um 14:00 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 2, 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 einige bereits 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 |
|