rundreiseaufgaben marc schwärzli ss 2011. ein möbellieferant soll die orte 1-4 mindestens einmal...
Post on 05-Apr-2015
103 Views
Preview:
TRANSCRIPT
Rundreiseaufgaben
OPERATIONS RESEARCH
Marc Schwärzli SS 2011
• Ein Möbellieferant soll die Orte 1-4 mindestens einmal besuchen und wieder zu 1 zurückkehren. Die Wegstrecke soll minimal sein.
Traveling-Salesman-Aufgabe
032
02
1503
520
enEntfernung
Wird jeder Ort außer dem Start- und Zielort genau einmal besucht nennt man die Rundreise einen Hamiltonschen
Zyklus.
032
02
1503
520
enEntfernung
Hamiltonscher Zyklus: wenn jeder Ort genau einmal vorkommt (besucht wird)
RundreiseBeispiel Lötroboter:
• Ein Lötroboter soll die Punkte 1 bis 4 auf einer Platine auf dem kürzesten Weg einmal erreichen und wieder zum Ausgangspunkt zurückkehren.
• Die Weglängen des Lötroboters zwischen den einzelnen Orten sind in folgender Distanzmatrix zusammen gefaßt:
Traveling-Salesman-Aufgabe
0325
3025
1403
3620
enEntfernung
Beispiel: • Von Ort 1 nach Ort 2 2• Von Ort 2 nach Ort 1 3
Traveling-Salesman-Aufgabe
• Nach Vorgabe einer Distanzmatrix gibt es verschiedene Verfahren um die kürzeste Tour herauszufinden:– Die vollständige Enumeration– Die Branch-and-Bound-Methode– Die begrenzte Enumeration– Die dynamische Optimierung– Heuristische Verfahren
Die vollständige Enumeration
• Ist wegen des verbundenen Aufwandes nur für eine kleine Anzahl an Orten sinnvoll.
• Dabei werden alle denkbaren Hamiltonschen Zyklen bestimmt.
Lfd.Nr. Hamiltonscher Zyklus (Orte) Länge
1 1 -2-3-4-1 2+4+3+5=14
2 1 - 2 - 4 - 3 - 1 2+1+3+5=11
3 1-3-2-4-1 6+2+1+5=14
4 1-3-4-2-1 6+3+2+3=14
5 1-4-2-3-1 3+2+4+5=14
6 1 – 4 – 3 – 2 - 1 3+3+2+3=11
Die begrenzte Enumeration
• Das Verfahren geht von einer reduzierten Distanzmatrix aus.
• Benötigt eine relativ gute Vergleichsrundreise als Voraussetzung (eine sogenannte suboptimale Lösung)
• Verfahren der sukzessiven Einbeziehung von Stationen liefert die suboptimale Lösung.
Die begrenzte Enumeration
• 1.) Bestimmung der reduzierten Länge• 2.) Bestimmung einer Vergleichsrundreise• 3.) Verkürzen der Rundreise um zwei Orte und
Ersetzen des letzten durch einen unbesuchten rechts aus der Liste– Bsp: 1-2-3-4-5-6-11-2-3-4-6– Wenn größer als reduzierte Länge dann Reduktion,
sonst nächster Ort in der Liste (v links nach rechts) der noch nicht besucht wurde.
Die Begrenzte EnumerationVon der Entfernungsmatrix zur Distanztabelle:
1 2 3 4
1 # 2 6 3
2 3 # 4 1
3 5 2 # 3
4 5 2 3 #
0325
3025
1403
3620
enEntfernung
VonOrt
Nach Ort
Distanztabelle
1.) Erstellen einer Distanztabelle:
Begrenzte Enumeration2.) Bestimmung der Reduktionstabelle:
1 2 3 4 min
1 # 2 6 3 2
2 3 # 4 1 1
3 5 2 # 3 2
4 5 2 3 # 2
7 7
• Von jedem Wert der Tabelle wird das Zeilenminimum abgezogen und eine neue Tabelle erstellt.
• Reduktionskonstante:
Begrenzte Enumeration2.) Bestimmung der Reduktionstabelle:1 2 3 4
1 # 0 4 1
2 2 # 3 0
3 3 0 # 1
4 3 0 1 #
min 2 0 1 0 3
1 2 3 4
1 # 0 3 1
2 0 # 2 0
3 1 0 # 1
4 1 0 0 #
min 1037 • Reduktionskonstante:
• Von jedem Wert der Tabelle wird das Spaltenminimum abgezogen und eine neue Tabelle erstellt:
Begrenzte Enumeration – 3.) Suche einer suboptimalen Lösung:
Ausgangszyklus Neue Station Ergebniszyklus Reduzierte Länge kürzeste
1-2-1 3 1-3-2-11-2-3-1
3+0+0=30+2+1=3 *
1-2-3-1 4 1-4-2-3-11-2-4-3-11-2-3-4-1
1+0+2+1=40+0+0+1=10+2+1+1=4
*
1 2 3 41 # 0 3 12 0 # 2 03 1 0 # 14 1 0 0 #
Vergleichsrundreise: 1-2-4-3-1 mit reduzierter Länge = 1
Reduktionstabelle – Faktor 10
Begrenzte Enumeration
• Hier beginnt die begrenzte Enumeration• Von der suboptimalen Lösung ist nur die
reduzierte Länge von Interesse.• Reduzierte Länge 1 der Vergleichsrundreise
sollte möglichst unterschritten werden.• Teilrouten werden ausgehend von Station 1
nur dann verlängert wenn sich die reduzierte Länge nicht vergrößert.
Begrenzte Enumeration
1 2 3 4
1 # 0 3 1
2 0 # 2 0
3 1 0 # 1
4 1 0 0 #
Vergleichsrundreise: 1-2-4-3-1 mit reduzierter Länge = 1
Teilroute Länge
1-2 0
1-2-3 2>1
1-2-4 0+0=0
1-2-4-3 0
1-2-4-3-1 1
• Reduzierte Länge 1 ist die Grenze, die möglichst unterschritten werden sollte:
Reduktionstabelle – Faktor 10
Begrenzte Enumeration
• Stationen werden in geordneter Liste 1,2,3,4 festgehalten.
• Teilroute wird um den nächsten fehlenden Ort (von rechts in der Liste) verlängert:
Teilroute Länge
1-2 0
1-2-3 2>1
Begrenzte Enumeration
• Grundsätzlich werden 2 Fälle unterschieden:• Die Reduzierte Länge wird unterschritten
Der nächste noch freie in der Liste von links nach rechts wird dazugefügt.
• Die Reduzierte Länge wird überschritten Ersetzen durch den rechten freien Nachbarn in der Liste.
Teilroute Länge
1-2 0
1-2-3 2>1
Reduzierte Länge wird unterschritten
Reduzierte Länge wird überschritten
Begrenzte Enumeration
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts in der Liste ersetzt:
Teilroute Länge
1-2 0
1-2-3 2>1
1-2-4 0+0=0
Begrenzte Enumeration
• Wäre das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort usw.
Teilroute Länge
1-2 0
1-2-3 2>1
1-3-2 3+0>1
Begrenzte Enumeration
• Danach wird der nächste fehlende Ort (von rechts in der Liste) dazugefügt.
• Bleibt kein Ort mehr über, wird die Route mit dem Startort geschlossen.
Teilroute Länge
1-2 0
1-2-3 2>1
1-2-4 0+0=0<1
1-2-4-3 0<1
1-2-4-3-1 1 Neue Vergleichsrundreise
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2 0
1-2-3 0+3=3
1-2-3-4 3
1-2-3-4-5 6
1-2-3-4-5-6 6
1-2-3-4-5-6-1 6<10
• Reduzierte Länge 10 ist die Grenze, die möglichst unterschritten werden sollte:
Reduktionstabelle – Faktor 103Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
• Eine neue Vergleichsrundreise wird um 2 Orte verkürzt. Der verbleibende letzte wird um den nächsten rechts in der „Liste 1,2,3,4,5,6“ ersetzt:
Reduktionstabelle – Faktor 103Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
Das Verfahren ist vollendet, wenn nur mehr Station 1 zum Ersetzen übrig bleibt.
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise: 1-2-3-4-5-6-1 mit reduzierter Länge = 6
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6Reduktionstabelle – Faktor 103
Die 4 hat keinen nächsten rechts in der Liste (5 u. 6), daher wird die Teilroute wieder verkürzt usw..
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6 Reduktionstabelle – Faktor 103
Die 5 kann durch die nächste rechts in der Liste, die 6, ersetzt werden.
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6 Reduktionstabelle – Faktor 103
Die 6 hat keinen nächsten rechts in der Liste.
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
Reduktionstabelle – Faktor 103
Die 4 ist die nächste nach 3 in der Liste 1,2,3,4,5,6.
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
Reduktionstabelle – Faktor 103
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
Reduktionstabelle – Faktor 103
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-4-5-6-1
1-2-3-4-6 3+7=10>6
1-2-3-5 3+1=4
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
Reduktionstabelle – Faktor 103
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5-4 4+5=9>6
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
1-2-6-4 8>6
Reduktionstabelle – Faktor 103
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5-6 4+0=4
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
1-2-6-4 8>6
1-2-6-5 1<6
Reduktionstabelle – Faktor 103
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten freien Nachbarn rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort.
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-5-6-4 4+7=11>6
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
1-2-6-4 8>6
1-2-6-5 1<6
1-2-6-5-3 2<6
Reduktionstabelle – Faktor 103
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-3-6 3+4=7>6
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
1-2-6-4 8>6
1-2-6-5 1<6
1-2-6-5-3 2<6
1-2-6-5-3-4 2<6
Reduktionstabelle – Faktor 103
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-4 8>6
1-2-5 7>6
1-2-6 1<6
1-2-6-3 8>6
1-2-6-4 8>6
1-2-6-5 1<6
1-2-6-5-3 2<6
1-2-6-5-3-4 2<6
1-2-6-5-3-4-1 4<6
Reduktionstabelle – Faktor 103
• Die Teilroute wird um den nächsten fehlenden Ort in der Liste 1,2,3,4,5,6 verlängert:
Neue Vergleichsrundreise
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-6-5-3-4-1 4<6
1-2-6-5-4 6>4
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise
• Die neue Vergleichsrundreise wird um 2 Orte verkürzt. Der verbleibende letzte wird um den nächsten Nachbarn rechts in der „Liste 1,2,3,4,5,6“ ersetzt:
Begrenzte Enumeration - Beispiel
1 2 3 4 5 6
1 # 0 6 2 3 1
2 0 # 3 8 7 1
3 8 3 # 0 1 4
4 2 6 0 # 3 7
5 3 9 1 5 # 0
6 0 0 7 7 0 #
Teilroute Länge
1-2-6-5-3-4-1 4<6
1-2-6-5-4 6>4
1-3 6>4
Reduktionstabelle – Faktor 103
Neue Vergleichsrundreise
• Ist die Länge überschritten worden, wird der letzte Ort durch den nächsten rechts ersetzt.
• Ist das nicht möglich, wird die Teilroute um einen Ort verkürzt und das Ersetzen bezieht sich auf den verbleibenden letzten Ort, oder die Route kann mit dem Startort geschlossen werden.
Begrenzte EnumerationZusammenfassung
• Die begrenzte Enumeration stellt eine sequentielle Abfolge dar.
• Die Reihenfolge wird aufgebaut bis ein hamiltonscher Zyklus entsteht oder bis die bisher kürzeste Länge überschritten wird.
top related