Schiemann Tassilo - Projekt Travelling - oth

Werbung
Virtuelle Hochschule Bayern
Prüfungsfach: Neuronale Netze, Fuzzy Control
Aufgabensteller: Prof. Sauer
Genetische Algorithmen
Prüfungsteilnehmer
Name: Schiemann
Vorname: Tassilo
Hochschule: FH Regensburg
Semester: MA 7
Matrikel-Nr.: 2242701
Projekt: Aufgabe 4: Lösen des Travelling-Salesman-Problems mittels Matlab und folgenden
Mitteln/Algorithmen:
a) Simulated Annealling, b) Threshold Accepting und c) einer SOM
Projektteam: Tassilo Schiemann
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
Beurteilung: ____________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
______________________________________________________________________________________
1
1. Aufgabenstellung
Mein Projekt beschäftigte sich mit der Lösung des Travelling-Salesman-Problems. Dabei
handelt es sich um die Minimierung des Weges eines Handlungsreisenden, der fest
vorgegebene Städte bereisen muss und dann wieder zum Ausgangspunkt zurück kehrt.
Diese Fragestellung klingt sehr einfach und kann von Menschen intuitiv gut gelöst werden –
mit Glück auch optimal. Dennoch stellt es für einen Computer eine große Herausforderung
dar, weil es bereits ab 10 Städten mehr als 3 Mio. (= 10!) verschiedene Reiserouten gibt, kann
dieses Problem auch nicht „straight forward“ indem man alle Möglichkeiten durchrechnet
gelöst werden. Aber es gibt mehrere Herangehensweisen, die dieses Problem lösen. Im
Rahmen meines Projektes habe ich die folgenden 3 Lösungsansätze implementiert:
a) Simulated Annealing (SA)
b) Threshold Accepting (TA)
c) „self organizing map“ (SOM)
2. Lösung
2.1 Beschreibung der Methoden
2.1.1 Simulated Annealing (SA)
Bei diesem Algorithmus wird bei der Initialisierung eine zufällige Reihenfolge wie die Städte
durchfahren werden angenommen. Der Algorithmus vergleicht daraufhin jeweils zwei zufällig
ausgewählte Verbindungen miteinander.
Dabei wird die Reihenfolge nicht nur verändert, wenn das Ergebnisse besser ist als die alte
Reihenfolge, sondern es werden mit einer bestimmten, sich im Laufe des Algorithmus
verringernden Wahrscheinlichkeit auch Reihenfolgen mit längeren Gesamtweg angenommen.
2.1.2 Threshold Accepting (TA)
Dieser Algorithmus ist dem Simulated Annealing sehr ähnlich. Er unterscheidet sich nur
hinsichtlich seiner Entscheidung wann die Reihenfolge der Städte geändert wird.
Dabei wird hier nicht auf Wahrscheinlichkeiten zurückgegriffen sondern auf einen festen
Grenzwert (Threshold), der mit fortschreitendem Algorithmus immer kleiner wird und gegen
Null geht. Letzteres kann auch so ausgedrückt werden: Anfangs werden bis zu einem
gewissen Grad auch schlechtere Reihenfolgen akzeptiert. Aber im Verlauf des Algorithmus
werden nur noch Reihenfolgen geändert, wenn sie eine bessere Gesamtlänge mit sich bringen,
bzw. eine kaum merkliche Verschlechterung.
2.1.2 Self organizing Map (SOM)
Die SOM besteht aus einer einzigen Reihe von Neuronen, deren Anzahl vom Benutzer
vorgegeben wird. Bei der Initialisierung der Neuronen werden diese in einem Kreis
angeordnet.
2
2.2 Beschreibung des Programms
Sämtliche Methoden wurde in einem einzigen Matlab-Programm implementiert, so dass ein
zufällig gewähltes Problem mit allen Lösungsalgorithmen berechnet wird und somit die
Ergebnisse verglichen werden können.
Das Matlab-Skript „main“ startet das Programm. Öffnet man dieses Skript können
verschiedene Parameter für die Berechnung eingegeben werden – z.B. die Anzahl der Städte
(amountCities), der Abstieg der Temperatur (konvergenz) oder die Anzahl der verwendeten
Neuronen in der SOM (amountNeurons).
Die Implementierung des SA- und des TA-Algorithmus sind weitgehend an die
Implementierung aus dem Artikel „Reiselust“ der Zeitschrift c't angelehnt. Die SOM wurde
mit Hilfe der Toolbox „Neuronal Networks“ aus Matlab implementiert.
Besonders erwähnt werden sollte, dass mehrere SOMs berechnet werden – Anzahl je nach
Benutzereinstellung (amountTestedNetworks). Damit werden nochmals bessere Ergebnisse
bei der Lösung mittels SOMs erreicht und nicht zuletzt wird die Verbindung zwischen dem
ersten und dem letzten Punkt der Linie meist optimaler gewählt.
2.3 Testverhalten
Um die Verfahren miteinander zu vergleichen, habe ich das Programm mehrmals
hintereinander ausgeführt und die Ergebnisse dokumentiert. Dabei habe ich die Weglänge für
10 Städte berechnen lassen. Die SOM wurde mit 50 Neuronen erstellt. Ansonsten habe ich die
im Programm angegebenen Standardwerte benutzt.
Hier die Ergebnisse, wobei die kürzeste Weglänge jeweils blau markiert ist.
Ausgangslänge
Sa
Länge
TA
Epochen
Länge
SOM
Epochen
Länge
6,40
3,76
10164
3,37
5736
3,10
5,92
3,49
22249
4,17
5161
3,60
5,07
3,14
13473
2,93
5135
2,85
6,06
3,64
13078
3,64
7057
3,54
4,61
2,95
20909
2,95
11928
3,20
6,78
3,78
12174
3,34
5487
3,55
Grundsätzlich kann gesagt werden, dass jedes Verfahren eine eindeutige Verbesserung der
Weglänge mit sich bringt. Welches Verfahren die besten Ergebnisse liefert kann allgemein
gültig nur schwer beantwortet werden.
Vorausgesetzt die Verbindung vom ersten zum letzten Neuron ist günstig gewählt, liefert die
SOM die besten Ergebnisse von allen 3 Methoden. Bei der Minimierung des Gesamtweges,
liefern SA und TA ähnliche Ergebnisse. Auffällig sind aber die deutlich kleineren
Epochenanzahlen, die TA zum bestimmen seines Ergebnisses braucht – meist nur 50 % derer,
die SA benötigt.
3
Herunterladen