Eingabe löschen

Kopfbereich

Schnellnavigation

Hauptnavigation

Bachelorarbeit Informatik: Evaluation von Lösungskonzepten von NP-vollständigen Problemen in Webapplikationen am Beispiel des Travelling Salesman Problems

Weg eines Handlungsreisenden

Wenn es darum geht, die effizienteste Route mit vielen Teildestinationen zu finden, spricht man vom Problem des Handlungsreisenden. Informatik-Absolvent Roman Lickel hat sich diesem angenommen und in seiner Bachelorarbeit ein Konzept für eine Web-Applikation entwickelt.

Zürich, Basel, Genf, dann weiter nach Bern, Luzern und St.Gallen, und schliesslich zurück nach Zürich – so könnte die Reiseroute eines viel beschäftigten Handlungsreisenden in der Schweiz aussehen. Informatik-Absolvent Roman Lickel hat sich im Rahmen seiner Bachelorarbeit mit der optimalen Planung solcher Reiserouten beschäftigt. Der Teilzeit-Student arbeitet als Entwickler für eine Firma, die auf Software für Geschäftskunden spezialisiert ist. Roman Lickel hat ein Konzept erstellt, wie das Programm so erweitert werden kann, dass es nicht nur die Reiseziele und Hotels verwaltet, sondern auch die Reiseroute in Bezug auf die schnellste Fahrzeit optimiert.

Travelling Salesman Problem

Die Optimierung von Wegrouten von einem Startpunkt über mehrere sogenannte Wegpunkte zurück zum Startpunkt wird in der Informatik als Travelling Salesman Problem (TSP) – das Problem des Handlungsreisenden – bezeichnet. Besonders schwierig: Beim TSP nimmt der Aufwand für die exakte Berechnung der Lösung für eine steigende Anzahl Wegpunkte mehr als exponentiell zu. «Mittels geeigneter Architekturen und Näherungsalgorithmen wird versucht, das Problem für den jeweiligen Anwendungsfall effizient zu lösen», erklärt IT-Dozent Alain Lafon, der die Bachelorarbeit betreut hat. Untersucht hat Roman Lickel einerseits, welche Architekturen auf das Webumfeld anwendbar sind, und anderseits, welcher Algorithmus sich am besten eignet. Schliesslich erstellte er mehrere Konzepte, um die Architekturvarianten vergleichen zu können.

«Weil Webtechnologien nicht für rechenintensive Aufgaben entworfen wurden, können sie nur durch einen besseren Algorithmus die nötige Effizienz erreichen.»

Roman Lickel

Architektur für den Webbrowser

Die ausgearbeiteten Konzepte waren in clientseitige, serverseitige und verteilte Systeme unterteilt. «Während bei clientseitigen Konzepten die Berechnung direkt im Webbrowser erfolgt, wird die Lösung bei serverseitigen Konzepten auf einem Server berechnet», erklärt Roman Lickel. «Es stellte sich heraus, dass serverseitige Architekturen für den vorliegenden Fall ungeeignet sind, da die Serverinfrastruktur grosse Kosten verursacht und Rechenleistungsengpässe entstehen können, falls viele Anfragen gleichzeitig eintreffen.» Auch die verteilten Systeme seien wegen des grossen Implementationsaufwands und der nicht ausreichenden Performanz ungeeignet. Somit konzentrierte sich Roman Lickel auf das clientseitige Konzept mit der Berechnung im Webbrowser.

Vielversprechendes Konzept

Die Wahl der Algorithmen stellte sich als wichtigster Einflussfaktor auf die Berechnungsgeschwindigkeit heraus. «Weil Webtechnologien nicht für rechenintensive Aufgaben entworfen wurden, können sie nur durch einen besseren Algorithmus die nötige Effizienz erreichen», so Roman Lickel. Um die bestmögliche Lösung des Problems in der vorgegeben Zeit zu erhalten, hat er eine Aufteilung in Teilprobleme nach der Anzahl Wegpunkte vorgenommen. Aufgrund dieser wird entschieden, welcher Algorithmus für die Berechnung verwendet wird. «Für wenige Wegpunkte erfolgt die Berechnung direkt innerhalb der Web-Applikation», so Roman Lickel. «Bei vier oder mehr Wegpunkten würde der Browser zu lange blockiert und abstürzen, weshalb die Berechnung in einen separaten Berechnungsthread ausgelagert wird.» Laut Roman Lickel stösst der Algorithmus zur exakten Berechnung der Lösung im Webbrowser ab 20 Wegpunkten an seine Grenzen und es kann in nützlicher Zeit nur noch eine Annäherung der Lösung gefunden werden. Der Prototyp, der aufgrund des Konzepts erstellt wurde, zeigt jedoch, dass die Optimierung des TSP mit den gewünschten Anforderungen als Webapplikation umgesetzt werden kann.