Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

traveling salesman problem

Ähnliche Präsentationen


Präsentation zum Thema: "traveling salesman problem"—  Präsentation transkript:

1 traveling salesman problem
ZIP-Methode Kombinatorischer Ansatz einer optimalen Lösung symmetrischer Rundreiseprobleme

2 traveling salesman problem
Ziel: Vorstellung eines kombinatorischen Lösungsansatzes des Rundreiseproblems Voraussetzungen: Kenntnisse der vier Grundrechenarten etwas Geduld mit dem Vortragenden ....

3 traveling salesman problem
Anlass: Fachschullehrbuch: Mathematik für Wirtschaftswissenschaften Verlag die Wirtschaft, Berlin (DDR), 1983 - darin: Rundreiseproblem S. 418ff.

4 Agenda das Rundreiseproblem bisherige Lösungen neue Überlegungen
Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

5 das Rundreiseproblem das Rundreiseproblem bisherige Lösungen
neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

6 das Rundreiseproblem Formulierung des Rundreiseproblems:
Gesucht wird die kürzeste Entfernung zwischen n verschiedenen Orten. Dabei soll jeder Ort nur einmal aufgesucht werden und die Rundreise wieder im Ausgangsort enden.

7 das Rundreiseproblem graphentheoretische Beschreibung: Graph G
Knoten xi Kante u(xi,xj) bzw. u<xi,xj> Knotengrad Komponenten eines Graphs Teilgraph eines Graphs (Kantenteilgraph) Graphfamilie und Mächtigkeit

8 das Rundreiseproblem Laufindexe: Kurz-Schreibweise einer Kante:
i = Laufindex des Anfangsknoten xi j = Laufindex des Endknoten xj k = Laufindex des Platzes einer Kante innerhalb eines Graphen Kurz-Schreibweise einer Kante: u(ij)  i-j (Beispiel: u(2;4)  2-4) f(i-j) = Ausprägung der Kante; (z.B.: Länge)

9 das Rundreiseproblem kleinster Graph:
Problem ist nicht die Berechnung des einzelnen Graphen, sondern die mit wachsenden n Knoten um je eine Fakultät ansteigenden Zahl der Graphen. |G| = n ! bei beliebigem Anfangsknoten |G| = (n-1)! , wenn Anfangsknoten x1 ist. |G| = (n-1)! /2 bei Symmetrie

10 bisherige Lösungen das Rundreiseproblem bisherige Lösungen
neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

11 bisherige Lösungen bisherige allgemeine optimale Lösungen:
(grundsätzlich: Überprüfung aller Lösungen) Voll-Enumeration begrenzte Enumeration branch and bound weitere .... alle allgemeinen optimalen Lösungen nur für kleine n

12 bisherige Lösungen bisherige suboptimale Lösungen: viele ...
viele gute ... viele gute, für die Praxis völlig ausreichend ...

13 bisherige Lösungen Fazit zu den bisherigen Lösungen:
Soweit erkennbar, liegt das wissenschaftliche Interesse seit langem in der Entwicklung und Verbesserung von suboptimalen Lösungen, weil scheinbar optimale Lösungen erschöpfend erforscht sind.

14 neue Überlegungen ... das Rundreiseproblem bisherige Lösungen
Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

15 neue Überlegungen ... aber zuerst eine Aufgabe für Sie:
Bitte schreiben Sie in beliebiger Reihenfolge die Zahlen von 1 bis 6 auf. 5 3 6 2 1 4

16 neue Überlegungen ... Verbindet man die Knoten, so entsteht:
1-komponentiger G mit 6 Kanten mit 6 Knoten jeder Knoten hat den Knotengrad 2 5 5 3 6 2 1 4

17 neue Überlegungen ... wir erinnern uns: bei n = 6  n! = 720
5 5 3 6 2 1 4

18 neue Überlegungen ... wir addieren nun die Werte der Kanten:
dabei tritt jeder Knoten zweimal auf: 5 5 3 6 2 als Anfangsknoten einer Kante und als Endknoten einer Kante. 1 1 4 Und das ist vom Übel !

19 neue Überlegungen ... wenn jeder Knoten nur einmal auftritt, so entsteht aus dem ganzen Graphen: ein Teilgraph mit allen 6 Knoten, aber nur mit 3 Kanten: z.B. Kanten: 1-6, 5-3, 2-4 5 5 3 6 2 1 4

20 neue Überlegungen ... ... übrig bleibt ein Komplement-Teilgraph mit derselben Struktur wie der Teilgraph ! Kanten: 1-4, 2-3, 5-6 5 5 3 6 2 1 4

21 neue Überlegungen ... Der Graph setzt sich also zusammen:
aus dem Teilgraphen mit Kanten:1-6,5-3,2-4 und dem Teilgraphen mit Kanten:1-4,2-3,5-6 5 5 3 6 2 1 4

22 neue Überlegungen ... Wegen derselben Struktur der Teilgraphen muss die Zahl der Knoten gradzahlig sein. (ggf. ist ein Pseudo-Knoten einzufügen.) 5 5 3 6 2 1 4

23 neue Überlegungen ...  f(1-6) + f(5-3) + f(2-4) Symmetrie-Regel:
Der Anfangsknoten einer Kante hat den kleineren Laufindex als der Endknoten i < j:  f(1-6) + f(5-3) + f(2-4) = f(1-6) + f(3-5) + f(2-4) 5 5 3 6 2 1 4

24 neue Überlegungen ... Sortier-Regel:
die Kanten werden nach dem Laufindex ihres Anfangsknoten sortiert. 1. Kante Kante Kante  f(1-6) + f(3-5) + f(2-4) = f(1-6) + f(2-4) + f(3-5) 5 5 3 6 2 1 4

25 neue Überlegungen ... wir erinnern uns:
Bei n = 6 gibt es insgesamt Graphen bzw symmetrische Graphen wieviele Teilgraphen gibt es eigentlich ? 1. Teilgraph 2. Teilgraph 3. Teilgraph 4. Teilgraph 5. Teilgraph 6. Teilgraph 7. Teilgraph 8. Teilgraph 9. Teilgraph 10. Teilgraph 11. Teilgraph 12. Teilgraph 13. Teilgraph 14. Teilgraph 15. Teilgraph mehr nicht !

26 neue Überlegungen ... Bei Anwendung der Symmetrieregel und der
Sortierregel läßt sich jeder der 120 Graphen in 2 der 15 Teilgraphen zerlegen. 1. Teilgraph 2. Teilgraph 3. Teilgraph 4. Teilgraph 5. Teilgraph 6. Teilgraph 7. Teilgraph 8. Teilgraph 9. Teilgraph 10. Teilgraph 11. Teilgraph 12. Teilgraph 13. Teilgraph 14. Teilgraph 15. Teilgraph Probieren Sie es bitte an Ihrem eigenen Beispiel aus.

27 neue Überlegungen ... Beispiel: 1-2, 3-4, 5-6 insgesamt 8 (= 2 x 4)
Wie viele Teilgraphen „passen“ zu einem Teilgraphen, d.h. bilden zusammen wieder einen Gesamt-Graphen ? Beispiel: 1-2, 3-4, 5-6 1. Teilgraph 2. Teilgraph 3. Teilgraph 4. Teilgraph 5. Teilgraph 6. Teilgraph 7. Teilgraph 8. Teilgraph 9. Teilgraph 10. Teilgraph 11. Teilgraph 12. Teilgraph 13. Teilgraph 14. Teilgraph 15. Teilgraph insgesamt 8 (= 2 x 4) Nr.5, 6, 8, 9, 10, 11, 13, 14

28 neue Überlegungen ... Wie erhält man den kleinsten Graphen ?
1. Schritt: man ermittelt den kleinsten Teilgraphen 2. Schritt: man ermittelt den zugehörigen kleinsten Kompl.-Teilgraphen. 1. Teilgraph 2. Teilgraph 3. Teilgraph 4. Teilgraph 5. Teilgraph 6. Teilgraph 7. Teilgraph 8. Teilgraph 9. Teilgraph 10. Teilgraph 11. Teilgraph 12. Teilgraph 13. Teilgraph 14. Teilgraph 15. Teilgraph

29 neue Überlegungen ... Damit ist vielleicht der kleinste Graph gefunden ! aber nur: vielleicht!

30 neue Überlegungen ... Weitere Überlegungen:
Der kleinste (Gesamt-)Graph setzt sich zusammen: entweder: aus den beiden gefundenen Teilgraphen (kleinster Teilgraph mit zugehörigem kleinsten Kompl.-Teilgraph) oder: aus zwei dazwischen liegenden Teilgraphen.

31 neue Überlegungen ... Zahlenbeispiel:
kleinster Teilgraph hat die Kantenlänge: 20 der kleinste zugehörige Kompl.-Teilgraph: ergibt einen Gesamtgraphen: interessant sind damit nur noch die Teilgraphen mit Kantenlängen zwischen 20 und 40.

32 neue Überlegungen ... Zahlenbeispiel:
kleinster Teilgraph hat die Kantenlänge: 20 der kleinste zugehörige Kompl.-Teilgraph: ergibt einen Gesamtgraphen: Außerdem: ein Gesamtgraph mit einer Kantenlänge < muß mindestens aus einem Teilgraphen mit einer Kantenlänge < 30 zusammengesetzt sein.

33 neue Überlegungen ... Zahlenbeispiel:
kleinster Teilgraph hat die Kantenlänge: 20 der kleinste zugehörige Kompl.-Teilgraph: ergibt einen Gesamtgraphen: d.h., nur Teilgraphen (und zugehörige Kompl.-Teilgraphen) mit Kantenlängen zwischen 20 und < 30 sind zu prüfen.

34 neue Überlegungen ... Zahlenbeispiel:
kleinster Teilgraph hat die Kantenlänge: 20 der kleinste zugehörige Kompl.-Teilgraph: ergibt einen Gesamtgraphen: d.h., (a+b) < c  a und/oder b < (c/2) und a < b oder a = b  a < (c/2)

35 neue Überlegungen ... Weitere Iterationsschritte: (bis zur halben Kantenlänge des bisher kleinsten gefundenen Gesamt-Graphen) ausgehend vom kleinsten Teilgraphen wird jeweils der nächst größere Teilgraph mit seinem Komplement-Teilgraph überprüft, ob daraus ein kleinerer Gesamt-Graph zusammengesetzt werden kann. wenn ja, ist der neue Gesamt-Graph Ausgangswert für weitere Iterationsschritte. wenn nein, ist der kleinste Graph bereits gefunden.

36 Beispiel mit 6 Knoten: das Rundreiseproblem bisherige Lösungen
neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

37 nach 1 nach 2 nach 3 nach 4 nach 5 nach 6
Beispiel mit 6 Knoten: Gegeben seien 6 Knoten mit den zugehörigen Entfernungen: nach 1 nach 2 nach 3 nach 4 nach 5 nach 6 von von von von von von

38 Beispiel mit 6 Knoten: Þ kleinster Graph Kleinster Teilgraph:
Nr. 1 mit Kantenlänge = 49 Nr. 1.K K K K.-Länge Komp.-Teilgraphen: Nr. 5, 6, 8, 9, 10, 11, 13 u.14 davon der kleinste: Nr. 10 mit Kantenlänge = 62 Länge des Graphen: 111 ( ) : 2 = 55,5 Þ kleinster Graph

39 Beispiel mit 10 Knoten: das Rundreiseproblem - Fragestellung
Problem und bisherige Lösungen neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

40 Beispiel mit 10 Knoten: Entwicklung der ZIP-Formel bei n = 10:
1 · · · · = 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 ————————————— = 2 · · · 8 9! ————————————— = (1 · 2) · (2 · 2) · (3 · 2) · (4 · 2) 9! ————————————— = ( 1 · 2 · 3 · 4 ) · ( 2 · 2 · 2 · 2 ) 9! ————————————— = 4! ·

41 Beispiel mit 10 Knoten: (n – 1)! ————————— ( n/2 – 1 ) ! · 2 n/2 - 1
davon: { ( n/2 – 1 ) ! } (Sortierregel) Teilgraph: — — — — — (Kantenzahl =n/2) x 2 x 2 x 2 x (Symmetrie) Anfangsknoten = x1

42 Beispiel mit 10 Knoten:

43 Beispiel mit 10 Knoten: lfd.Nr. K.-Länge 1. Kante 2.Kante 3.Kante 4.Kante 5.Kante Bemerk. min. TG 1 76 1 - 2 3 - 7 4 - 6 5 - 8 9 -10 2 77 1 - 5 2 - 9 3 - 8 4 - 6 7 -10 3 79 1 - 5 2 -10 3 - 7 4 - 6 8 - 9 4 83 1 - 5 2 - 7 3 - 8 4 - 6 9 -10 5 92 1 - 2 3 - 5 4 - 6 7 -10 8 - 9 6 93 1 - 2 3 - 9 4 - 6 5 - 8 7 -10 7 96 1 - 2 3 - 6 4 - 9 5 - 8 7 -10 8 96 1 - 8 2 - 5 3 - 7 4 - 6 9 -10 9 97 1 - 5 2 - 3 4 - 6 7 -10 8 - 9 10 100 1 - 2 3 - 6 4 - 5 7 -10 8 - 9 11 100 1 - 5 2 - 7 3 - 6 4 -10 8 - 9 min.TGkomp 12 101 1 - 8 2 - 9 3 - 5 4 - 6 7 -10 13 103 1 - 3 2 - 9 4 - 6 5 - 8 7 -10 .... Sortierung der 945 Teilgraphen nach Kantenlänge bis 945 min. TG + min.Tgkomp = 176; / 2 = 88

44 Beispiel mit 10 Knoten: .... lfd.Nr. K.-Länge 1. Kante 2.Kante 3.Kante
Bemerk. 1 76 1 - 2 3 - 7 4 - 6 5 - 8 9 -10 2 77 1 - 5 2 - 9 3 - 8 4 - 6 7 -10 3 79 1 - 5 2 -10 3 - 7 4 - 6 8 - 9 4 83 1 - 5 2 - 7 3 - 8 4 - 6 9 -10 5 92 1 - 2 3 - 5 4 - 6 7 -10 8 - 9 6 93 1 - 2 3 - 9 4 - 6 5 - 8 7 -10 7 96 1 - 2 3 - 6 4 - 9 5 - 8 7 -10 8 96 1 - 8 2 - 5 3 - 7 4 - 6 9 -10 9 97 1 - 5 2 - 3 4 - 6 7 -10 8 - 9 10 100 1 - 2 3 - 6 4 - 5 7 -10 8 - 9 11 100 1 - 5 2 - 7 3 - 6 4 -10 8 - 9 12 101 1 - 8 2 - 9 3 - 5 4 - 6 7 -10 13 103 1 - 3 2 - 9 4 - 6 5 - 8 7 -10 .... bis 945

45 Beispiel mit 10 Knoten: .... lfd.Nr. K.-Länge 1. Kante 2.Kante 3.Kante
Bemerk. 1 76 1 - 2 3 - 7 4 - 6 5 - 8 9 -10 2 77 1 - 5 2 - 9 3 - 8 4 - 6 7 -10 3 79 1 - 5 2 -10 3 - 7 4 - 6 8 - 9 4 83 1 - 5 2 - 7 3 - 8 4 - 6 9 -10 5 92 1 - 2 3 - 5 4 - 6 7 -10 8 - 9 6 93 1 - 2 3 - 9 4 - 6 5 - 8 7 -10 7 96 1 - 2 3 - 6 4 - 9 5 - 8 7 -10 8 96 1 - 8 2 - 5 3 - 7 4 - 6 9 -10 9 97 1 - 5 2 - 3 4 - 6 7 -10 8 - 9 10 100 1 - 2 3 - 6 4 - 5 7 -10 8 - 9 11 100 1 - 5 2 - 7 3 - 6 4 -10 8 - 9 12 101 1 - 8 2 - 9 3 - 5 4 - 6 7 -10 13 103 1 - 3 2 - 9 4 - 6 5 - 8 7 -10 .... bis 945

46 Beispiel mit 10 Knoten: min. TG + min.Tgkomp = 175; 175 / 2 = 87,5
lfd.Nr. K.-Länge 1. Kante 2.Kante 3.Kante 4.Kante 5.Kante Bemerk. 1 76 1 - 2 3 - 7 4 - 6 5 - 8 9 -10 2 77 1 - 5 2 - 9 3 - 8 4 - 6 7 -10 3 79 1 - 5 2 -10 3 - 7 4 - 6 8 - 9 min. TG 4 83 1 - 5 2 - 7 3 - 8 4 - 6 9 -10 5 92 1 - 2 3 - 5 4 - 6 7 -10 8 - 9 6 93 1 - 2 3 - 9 4 - 6 5 - 8 7 -10 7 96 1 - 2 3 - 6 4 - 9 5 - 8 7 -10 min.TGkomp 8 96 1 - 8 2 - 5 3 - 7 4 - 6 9 -10 9 97 1 - 5 2 - 3 4 - 6 7 -10 8 - 9 10 100 1 - 2 3 - 6 4 - 5 7 -10 8 - 9 11 100 1 - 5 2 - 7 3 - 6 4 -10 8 - 9 12 101 1 - 8 2 - 9 3 - 5 4 - 6 7 -10 13 103 1 - 3 2 - 9 4 - 6 5 - 8 7 -10 .... bis 945 min. TG + min.Tgkomp = 175; / 2 = 87,5

47 Beispiel mit 10 Knoten: .... lfd.Nr. K.-Länge 1. Kante 2.Kante 3.Kante
Bemerk. 1 76 1 - 2 3 - 7 4 - 6 5 - 8 9 -10 2 77 1 - 5 2 - 9 3 - 8 4 - 6 7 -10 3 79 1 - 5 2 -10 3 - 7 4 - 6 8 - 9 opt. TG opt.TGkomp 4 83 1 - 5 2 - 7 3 - 8 4 - 6 9 -10 5 92 1 - 2 3 - 5 4 - 6 7 -10 8 - 9 6 93 1 - 2 3 - 9 4 - 6 5 - 8 7 -10 7 96 1 - 2 3 - 6 4 - 9 5 - 8 7 -10 8 96 1 - 8 2 - 5 3 - 7 4 - 6 9 -10 9 97 1 - 5 2 - 3 4 - 6 7 -10 8 - 9 10 100 1 - 2 3 - 6 4 - 5 7 -10 8 - 9 11 100 1 - 5 2 - 7 3 - 6 4 -10 8 - 9 12 101 1 - 8 2 - 9 3 - 5 4 - 6 7 -10 13 103 1 - 3 2 - 9 4 - 6 5 - 8 7 -10 .... bis 945

48 Beispiel mit 10 Knoten: Summe der Kantenlängen
Anzahl der Teilgraphen Summe der Kantenlängen nach dem 1.Durchlauf: nur noch 11 von 945 Teilgraphen bei insgesamt Gesamt-Graphen

49 Beispiel mit 10 Knoten: Von insgesamt 945 Teilgraphen scheiden beim back tracking der begrenzten Enumeration aus: Abbruch nach der 5. Kante: Abbruch nach der 4. Kante: Abbruch nach der 3. Kante: Abbruch nach der 2. Kante: Abbruch nach der 1. Kante: 105 Þ möglichst frühzeitiger Abbruch !!

50 Beispiel mit 10 Knoten: Beziehung zwischen Anfangsknoten und Kantenplatz: 1. Kante 2. Kante 3. Kante 4. Kante 5. Kante oder oder oder oder oder oder oder oder oder oder oder i = k für k = i = k, k + 1 , ... , 2k -1 für k > 1

51 Beispiel mit 10 Knoten:

52 Beispiel mit 10 Knoten: weitere Überlegungen: Numerierungsregel
(die größten Abweichungen nach vorn) Minimalkantenregel (Berechnung der noch ausstehenden kleinsten Kante für jeden einzelnen Kantenplatz; nicht mehr für alle)

53 Beispiel mit 10 Knoten: Beispiel: Knoten xi mit seinen 5 Kanten
Minimalkantenregel Numerierungsregel

54 Beispiel mit 26 Knoten: das Rundreiseproblem - Fragestellung
Problem und bisherige Lösungen neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

55 Beispiel mit 26 Knoten: Weihnachtsrätsel:
Das Institut für Rechnergestützte Wissenverarbeitung (KBS) der Universität Hannover hat 1996 als „Weihnachtsrätsel“ die Aufgabe gestellt, für 26 europäische Hauptstädte die kürzeste Rundreise zu finden. Die Aufgabe mit Lösungen finden Sie leider nicht mehr im Internet

56 Beispiel mit 26 Knoten: Ergebnisse:
Zahl aller Graphen (25!): Zahl der symm. Graphen: Zahl aller Teilgraphen : Ergebnisse: kl.Teilgraph + kl.Komp.-Teilgraph: km km = km heuristisch gefundener kl. Graph: km km = km davon die Hälfte : km / 2 = km

57 Beispiel mit 26 Knoten:

58 Beispiel mit 26 Knoten: Geographische Darstellung des opimalen Graphen
1. Amsterdam 2. Athen 3. Barcelona 4. Belgrad 5. Berlin 6. Brüssel 7. Bucarest 8. Budapest 9. Frankfurt/M 10. Genf 11. Helsinki 12. Istanbul 13. Kopenhagen 14. Lissabon 15. London 16. Madrid 17. Mailand 18. Oslo 19. Paris 20. Prag 21. Rom 22. Sofia 23. Stockholm ... 1. Lissabon 2. Helsinki 3. Madrid 4. Istanbul 5. Athen 6. Bucarest 7. Sofia 8. Stockholm 9. Oslo 10. Belgrad 11. Budapest 12. Kopenhagen 13. Rom 14. Warschau 15. Wien 16. Berlin 17. Amsterdam 18. London 19. Brüssel 20. Prag 21. Mailand 22. Zürich 23. Barcelona ... Geographische Darstellung des opimalen Graphen

59 Schlussfolgerungen und Ausblick
das Rundreiseproblem - Fragestellung Problem und bisherige Lösungen neue Überlegungen Beispiel mit 6 Knoten Beispiel mit 10 Knoten Beispiel mit 26 Knoten (Ergebnisse) Schlussfolgerungen und Ausblick

60 Schlussfolgerungen diese algebraische Lösung ist offensichtlich neu
das Weihnachtsrätsel mit 26 Orten ist optimal gelöst es kann gesagt werden, ob eine optimale Lösung gefunden wurde. Symmetrie wird voll ausgenutzt ..... und ...

61 Schlussfolgerungen bis ca. 10 Knoten (ggf. mehr) lassen sich symmetrische Graphen mit der Voll-Enumeration optimal lösen. bis ca. 30 Knoten (ggf. mehr) lassen sich symmetrische Graphen mit der begrenzten Enumeration optimal lösen. Für alle TSP-Verfahren gilt: Können bekannte Lösungen nicht nur auf Graphen sondern auch auf Teilgraphen angewandt werden, so bringt die ZIP-Methode den entscheidenden Quantensprung der rechentechnischen Vereinfachung.

62 Ausblick es bleibt zu prüfen, ob der neue Lösungsansatz auch auf andere Optimierungsprobleme angewandt werden kann. Alle Aspekte des neuen Lösungsansatzes sind sicherlich noch nicht geklärt und sollten weiter untersucht werden.

63 traveling salesman problem
Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "traveling salesman problem"

Ähnliche Präsentationen


Google-Anzeigen