Optimierungsverfahren in der Transportlogistik

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Optimierungsverfahren in der Transportlogistik"

Transkript

1 Optimierungsverfahren in der Transportlogistik Jakob Puchinger AIT - Mobility Department Jakob Puchinger AIT - Mobility Department 1 / 291

2 Organisatorisches Dienstags 17:30-19:00 3 Übungstermine mit Anwesenheitspflicht Übungsblätter bzw. kurze Präsentationen Mündliche Prüfung: Stoff der Vorlesung und Übung Termin: oder und nach Vereinbarung Jakob Puchinger AIT - Mobility Department 2 / 291

3 Organisatorisches Welche der folgende LVAs haben Sie besucht? Heuristische Optimierung Fortgeschrittene Algorithmen Algorithmen auf Graphen Operations Research Jakob Puchinger AIT - Mobility Department 3 / 291

4 Teil I Einführung Jakob Puchinger AIT - Mobility Department 4 / 291

5 Logistik Definition Logistik (Wikipedia, ) Die Logistik ist die Lehre der ganzheitlichen Planung, Bereitstellung, Durchführung und Optimierung von Prozessen der Ortsveränderung von Gegenständen, Daten, Energie und Personen sowie der notwendigen Transportmittel selbst. Sie sichert den quantitativen und qualitativen Erfolg von Transportprozessen und die räumliche Mobilität der betrachteten Objekte. "Get the right things to the right place at the right time." Optimierung verschiedener Zielfunktionen. Einhaltung bestimmter Nebenbedingungen. Jakob Puchinger AIT - Mobility Department 5 / 291

6 Gütertransport - Zahlen und Fakten EU-15 plus Schweiz und Norwegen (2005): 738 Mrd. Euro 61,4 Mrd. Euro für die zwölf Beitrittsländer von 2006/2007. Insgesamt ca. 800 Mrd. Euro. Pro Kopf 1590 Euro. Insgesamt: Mio. t Österreich 2007 Schiene: 115 Mio. t Straße: 354 Mio. t Donau: 12 Mio. t Jakob Puchinger AIT - Mobility Department 6 / 291

7 Logistische Prozesse Transport Ausserbetrieblich: Beschaffung, Distribution Innerbetrieblich: Zwischen Produktionsstellen, Lagern, etc... Straße, Schiene, Wasser, Luft Umschlag Be- und Entladen, Sortieren, Ein- und Auslagern Verbinden von Transportabschnitten: Kombinierter Verkehr Schnittstelle Innerbetrieblicher/Ausserbetrieblicher Verkehr Kommissionierung Zusammenstellen von Lagerartikeln zu Aufträgen Lagerung Verpackung Jakob Puchinger AIT - Mobility Department 7 / 291

8 Gestaltung der Transportnetze Festlegung der Anzahl, Standorte und Funktion der Knoten des Netzwerks. Facility location problem p-median problem Jakob Puchinger AIT - Mobility Department 8 / 291

9 Planung der Transportwege und Transportmittel Transportation problem Minimum cost flow problem Multicommodity flow problems [ς,c] f 3 [3,4] v1 3 [5,2] v2 [3,2] 3 [2,6] s [1,1] t b(s)=5 2 [3,4] [7,3] 2 b(t)= 5 v3 Jakob Puchinger AIT - Mobility Department 9 / 291

10 Planung des Fahrzeugeinsatzes und Tourenplanung Travelling salesman problem Vehicle routing problem Pick-up-and-delivery problem Dial-a-ride problem Jakob Puchinger AIT - Mobility Department 10 / 291

11 Transportlogistik am AIT Mobility Department Dynamic Transportation Systems: Multimodale Verkehrsströme Verkehrszustandserfassung: Fleet, GoSmart Verwendung der Verkehrsinformationen in der Transportlogistik Dynamische Tourenplanung Standortplanung Abweichungsmanagement Jakob Puchinger AIT - Mobility Department 11 / 291

12 Transportlogistik am AIT Mobility Department Verkehr Aktuelle Verkehrslage Jakob Puchinger AIT - Mobility Department 12 / 291

13 Transportlogistik am AIT Mobility Department Aktuelle Logistikprojekte am AIT HealthLog - Solutions for Health Logistics: Dynamic Stochastic Fleet Management Dynamische und stochastische Optimierung von Krankentransporten Kooperation mit: Universität Wien, Fluidtime Data Services, Samariterbund Wien CareLog - Optimierte intermodale Touren in der mobilen Pflege und Betreuung Tourenplanung im öffentlichen Verkehr + Individualverkehr Kooperation mit: Ilogs Mobile Software, ITS Vienna Region, Sozial Global I2Bau - Integrierte Intermodale Standort-, Netzwerk- und Routenplanung für die Schüttgutlogistik Optimierung intermodaler Transportnetze Kooperation mit: STRABAG BLT, HUBAUER heavy weight logistics Jakob Puchinger AIT - Mobility Department 13 / 291

14 Teil II Heuristische Verfahren Jakob Puchinger AIT - Mobility Department 14 / 291

15 Teil II: Heuristische Verfahren 1 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarschaftssuche Evolutionäre Algorithmen 2 Capacitated Vehicle Routing Konstruktionsheuristiken Zwei-Phasen Heuristiken Verbesserungsheuristiken Evolutionärer Algorithmus 3 Vehicle Routing mit Zeitfenstern Konstruktionsheuristiken Verbesserungsheuristiken Metaheuristiken 4 Das Multi-Depot VRP Ein Evolutionärer Algorithmus für das MDVRP 5 Pickup and Delivery Probleme Tabu Search Jakob Puchinger AIT - Mobility Department 15 / 291

16 Heuristiken Wozu? Praktische Optimierungsprobleme sind oft sehr schwer zu lösen. Exakte Verfahren können viel Zeit und Speicher benötigen Oft ist es schon sehr aufwendig gute Startlösungen zu finden Heuristiken sind oft in der Lage in kurzer Zeit gute Lösungen für schwierige Problem zu finden Nachteile: Keine Optimialitätsgarantie Keine Gütegarantie Jakob Puchinger AIT - Mobility Department 16 / 291

17 Heuristiken Man unterscheidet grundsätzlich: Konstruktionsheuristiken: meist sehr problemspezifisch, häufig schnell und einfach aufgebaut Verbesserungsheuristiken: setzen auf Konstruktionsheuristiken auf, versuchen Lösungen schrittweise durch Änderungen zu verbessern problemunabhängigere Prinzipien, oft langsamer aber bessere Ergebnisse TSP Demo Jakob Puchinger AIT - Mobility Department 17 / 291

18 Metaheuristiken Verbesserungsheuristiken liefern meistens nur lokale Optima. Schwere Probleme haben aber meistens viele lokale Optima die nicht global optimal sind. Jakob Puchinger AIT - Mobility Department 18 / 291

19 Metaheuristiken Metaheuristiken sind Verfahren die lokalen Optima entwischen können. Einige Metaheuristiken: Variable Neighbourhood Search Very Large Neighbourhood Search Tabu Suche Ant Colony Optimization Evolutionäre Algorithmen Jakob Puchinger AIT - Mobility Department 19 / 291

20 Einfache Lokale Suche Lokale Suche begin x Ausgangslösung; repeat: wähle ein x N(x); if f (x ) f (x) then x x ; until Abbruchkriterium erfüllt; end N(x): Nachbarschaft von x (Wir gehen von Minimierung aus.) Jakob Puchinger AIT - Mobility Department 20 / 291

21 Bestandteile der lokalen Suche Definition der Lösungsrepräsentation und einer Zielfunktion f (x) Initialisierung der Anfangslösung Nachbarschaftsstruktur, d.h. welche Lösungen sind benachbart? Schrittfunktion, d.h. in welcher Reihenfolge wird die Nachbarschaft durchsucht bzw. welche Nachbarlösung wird gewählt? Abbruchbedingung Jakob Puchinger AIT - Mobility Department 21 / 291

22 Nachbarschaftsstruktur Definition (Nachbarschaftsstruktur) Eine Nachbarschaftsstruktur ist eine Funktion N : S 2 S, die jeder gültigen Lösung x S eine Menge von Nachbarn N(x) S zuweist. N(x) wird auch Nachbarschaft (von x) genannt. Die Nachbarschaft ist üblicherweise implizit durch mögliche Veränderungen (Züge, Moves) definiert Darstellung als Nachbarschaftsgraph möglich Größe der Nachbarschaft vs. Suchaufwand Jakob Puchinger AIT - Mobility Department 22 / 291

23 Beispiel: Symmetrisches TSP Ausgangslösung ist eine beliebige Tour k-exchange (k-opt) Nachbarschaft: Touren, die sich in maximal k Kanten unterscheiden Nachbarschaftsgröße: O(n k ) Beispiel: 2-exchange für das TSP Jakob Puchinger AIT - Mobility Department 23 / 291

24 Schrittfunktion (Auswahl von x ) Random Neighbor: Generiere immer eine zufällige Nachbarlösung aus N(x). Next Improvement: Durchsuche N(x) in einer festen Reihenfolge, nimm erste Lösung, die besser als x ist. Best Improvement: Durchsuche N(x) vollständig und nimm die beste Nachbarlösung. Wahl kann starken Einfluss auf Performance haben, aber es gibt keine Strategie die immer besser ist als die anderen! Jakob Puchinger AIT - Mobility Department 24 / 291

25 Variable Neighbourhood Search (Hansen und Mladenovic, 1997) Dieses Verfahren macht sich folgende Eigenschaften zu Nutze: 1. Ein lokales Optimum in Bezug auf eine Nachbarschaftsstruktur ist nicht unbedingt ein lokales Optimum in Bezug auf eine andere. 2. Ein globales Optimum ist ein lokales Optimum in Bezug auf alle möglichen Nachbarschaftsstrukturen. 3. Für viele Probleme liegen lokale Optima relativ nahe beieinander. Jakob Puchinger AIT - Mobility Department 25 / 291

26 Variable Neighbourhood Descent (VND) Variable Neighbourhood Descent (x) begin l 1; repeat: finde ein x N l (x) mit f (x ) f (x ), x N l (x); if f (x ) < f (x) then x x ; l 1; else l l + 1; until l > l max ; return x; end Jakob Puchinger AIT - Mobility Department 26 / 291

27 Variable Neighbourhood Descent (contd.) Es wird eine Lösung erreicht, die in allen Nachbarschaftsstrukturen lokal optimal ist. Ordnung der Nachbarschaftsstrukturen: meist nach Größe bzw. Komplexität der Auswertung oder zufällig Beispiel: Vehicle Routing Problem (VRP) N 1 (x): 2-exchange innerhalb der einzelnen Touren N 2 (x): Verschieben einer Stadt von einer Tour zu einer anderen N 3 (x): Austausch zweier Städte über Touren hinweg N 4 (x): 3-exchange innerhalb der einzelnen Touren... Jakob Puchinger AIT - Mobility Department 27 / 291

28 Variable Neighbourhood Descent (contd.) Es wird eine Lösung erreicht, die in allen Nachbarschaftsstrukturen lokal optimal ist. Ordnung der Nachbarschaftsstrukturen: meist nach Größe bzw. Komplexität der Auswertung oder zufällig Beispiel: Vehicle Routing Problem (VRP) N 1 (x): 2-exchange innerhalb der einzelnen Touren N 2 (x): Verschieben einer Stadt von einer Tour zu einer anderen N 3 (x): Austausch zweier Städte über Touren hinweg N 4 (x): 3-exchange innerhalb der einzelnen Touren... Jakob Puchinger AIT - Mobility Department 27 / 291

29 Variable Neighbourhood Descent (contd.) Es wird eine Lösung erreicht, die in allen Nachbarschaftsstrukturen lokal optimal ist. Ordnung der Nachbarschaftsstrukturen: meist nach Größe bzw. Komplexität der Auswertung oder zufällig Beispiel: Vehicle Routing Problem (VRP) N 1 (x): 2-exchange innerhalb der einzelnen Touren N 2 (x): Verschieben einer Stadt von einer Tour zu einer anderen N 3 (x): Austausch zweier Städte über Touren hinweg N 4 (x): 3-exchange innerhalb der einzelnen Touren... Jakob Puchinger AIT - Mobility Department 27 / 291

30 Variable Neighbourhood Search (VNS) VNS ist ein Rahmenwerk, um lokalen Optima zu entkommen. Die Grundidee ist die zufällige Auswahl von Nachbarlösungen aus immer größer werdenden Nachbarschaften. Wiederum gibt es ein Pool unterschiedlicher Nachbarschaftsstrukturen N 1,..., N kmax, nun aber mit folgenden Eigenschaften: Es gibt auch wesentlich größere Nachbarschaftsstrukturen, die i.a. nicht vollständig durchsucht werden können. Die Nachbarschaftsstrukturen sind nach ihrer Größe bzw. der Entfernung Ihrer Lösungen von der Ausgangslösung nach sortiert. Jakob Puchinger AIT - Mobility Department 28 / 291

31 Variable Neighbourhood Search (VNS) VNS ist ein Rahmenwerk, um lokalen Optima zu entkommen. Die Grundidee ist die zufällige Auswahl von Nachbarlösungen aus immer größer werdenden Nachbarschaften. Wiederum gibt es ein Pool unterschiedlicher Nachbarschaftsstrukturen N 1,..., N kmax, nun aber mit folgenden Eigenschaften: Es gibt auch wesentlich größere Nachbarschaftsstrukturen, die i.a. nicht vollständig durchsucht werden können. Die Nachbarschaftsstrukturen sind nach ihrer Größe bzw. der Entfernung Ihrer Lösungen von der Ausgangslösung nach sortiert. Jakob Puchinger AIT - Mobility Department 28 / 291

32 Variable Neighbourhood Search (VNS) VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x N k (x); x lokale Suche(x ); if f (x ) < f (x) then x x ; k 1; else k k + 1; until k > k max; until Abbruchkriterium erfüllt; return x; end Jakob Puchinger AIT - Mobility Department 29 / 291

33 Zu den Nachbarschaftsstrukturen N 1,..., N kmax Um das Hängenbleiben in einem lokalen Optimum zumindest theoretisch sicher zu vermeiden, sollte die Vereinigung aller N 1 (x),..., N kmax (x) den gesamten Raum S aller gültigen Lösungen beinhalten: S N 1 (x) N 2 (x) N kmax, x S Die einzelnen Nachbarschaften können, müssen aber nicht disjunkt sein. Oft sind geschachtelte Nachbarschaften die einfachste Wahl: N 1 (x) N 2 (x) N kmax, x S Dies kann beispielsweise erreicht werden, indem das Shaking in der Nachbarschaft N k durch k hintereinander ausgeführte Züge in der N 1 -Nachbarschaftsstruktur realisiert wird. Jakob Puchinger AIT - Mobility Department 30 / 291

34 Zu den Nachbarschaftsstrukturen N 1,..., N kmax Um das Hängenbleiben in einem lokalen Optimum zumindest theoretisch sicher zu vermeiden, sollte die Vereinigung aller N 1 (x),..., N kmax (x) den gesamten Raum S aller gültigen Lösungen beinhalten: S N 1 (x) N 2 (x) N kmax, x S Die einzelnen Nachbarschaften können, müssen aber nicht disjunkt sein. Oft sind geschachtelte Nachbarschaften die einfachste Wahl: N 1 (x) N 2 (x) N kmax, x S Dies kann beispielsweise erreicht werden, indem das Shaking in der Nachbarschaft N k durch k hintereinander ausgeführte Züge in der N 1 -Nachbarschaftsstruktur realisiert wird. Jakob Puchinger AIT - Mobility Department 30 / 291

35 Zu den Nachbarschaftsstrukturen N 1,..., N kmax Um das Hängenbleiben in einem lokalen Optimum zumindest theoretisch sicher zu vermeiden, sollte die Vereinigung aller N 1 (x),..., N kmax (x) den gesamten Raum S aller gültigen Lösungen beinhalten: S N 1 (x) N 2 (x) N kmax, x S Die einzelnen Nachbarschaften können, müssen aber nicht disjunkt sein. Oft sind geschachtelte Nachbarschaften die einfachste Wahl: N 1 (x) N 2 (x) N kmax, x S Dies kann beispielsweise erreicht werden, indem das Shaking in der Nachbarschaft N k durch k hintereinander ausgeführte Züge in der N 1 -Nachbarschaftsstruktur realisiert wird. Jakob Puchinger AIT - Mobility Department 30 / 291

36 General Variable Neighbourhood Search (GVNS) Kombiniert VNS mit VND. Die Nachbarschaftsstrukturen der VNS (N 1,..., N kmax ) und des VND (N 1,..., N lmax ) sind nicht ident! Jakob Puchinger AIT - Mobility Department 31 / 291

37 Evolutionäre Algorithmen Computer-basierte Problemlösungssysteme, die berechenbare Modelle von natürlichen, evolutionären Prozessen als Schlüsselelemente verwenden Charles Darwin, 1859: Werk über den Ursprung der Arten Vererbung mit Veränderungen (Mutationen) Natürliche Auslese (Selektion) Gregor Johann Mendel, : Mendelsche Gesetze (Vererbung) Jakob Puchinger AIT - Mobility Department 32 / 291

38 Prinzipieller Aufbau eines EAs Evolutionärer Algorithmus begin P set of initial solutions; Evaluate(P); repeat: Q SelectSolutionsForVariation(P); Q GenerateNewSolutionsByVariation(Q); Evaluate(Q); P SelectSurvivingSolutions(P, Q); until termination condition end Jakob Puchinger AIT - Mobility Department 33 / 291

39 Evolutionäre Algorithmen Anstatt einer einzelnen aktuellen Lösung wird mit einer Population von Kandidatenlösungen gearbeitet Der Zufall spielt im allgemeinen eine große Rolle bei der Initialisierung, den Variationsoperatoren und der Selektion Repräsentation der Lösungen ist ein essentieller Bestandteil von EAs Initialisierung üblicherweise durch randomisierte Konstruktionsheuristiken Variationsoperatoren: Mutation, Rekombination Jakob Puchinger AIT - Mobility Department 34 / 291

40 Evolutionäre Algorithmen: Repräsentation Potentielle Lösungen müssen durch eine Datenstruktur repräsentiert werden. Genotyp: kodierte Form einer Lösung (=Chromosom) Phenotyp: dekodierte Form einer Lösung; der Genotyp kann als Baubeschreibung des Phenotypes aufgefaßt werden Der Genotyp kann zum Beispiel ein Binärstring oder eine Permutation sein. Bei einer direkten Repräsentation entspricht der Genotyp genau dem Phenotyp Bei einer indirekten Repräsentation muss der Genotyp mittels eines Algorithmus in einen Phenotyp dekodiert werden. Jakob Puchinger AIT - Mobility Department 35 / 291

41 Evolutionäre Algorithmen: Selektion Meist zufallsgesteuerte Auswahl der Eltern zur Erzeugung der nächsten Generation Bessere Individuen eher (öfter) auswählen als schlechtere. Die Selektion treibt im GA die Population in Richtung besserer Lösungen. Fitness proportional selection (Roulette Wheel) Rank selection Tournament selection Jakob Puchinger AIT - Mobility Department 36 / 291

42 Evolutionäre Algorithmen: Variationsoperatoren Rekombination: Erzeugung von neuen Individuen aus selektierten Eltern. Ein neues Individuum soll möglichst aus Attributen aufgebaut werden, die bereits in den Eltern vorkommen (Vererbung) Mutation: Kleine, zufällige Änderungen Dient dem Einbringen von neuem bzw. verlorengegangenem Genmaterial in die Population. Jakob Puchinger AIT - Mobility Department 37 / 291

43 Hybride Algorithmen Existiert problemspezifisches Wissen ist es oft sinnvoll einen EA mit einer lokalen Optimierungsmethode zu kombinieren. EA: globale Sichtweise, findet hills Lokale Suche: hill climbing findet top of hills Es können auch exakte Verfahren mit Metaheuristiken kombiniert werden z.b.: Branch and Bound verwendet Metaheuristik zum finden guter Lösungen. Relaxierungen leiten Metaheuristik in vielversprechende Regionen des Lösungsraums. Generierung von Cutting Planes mittels Metaheuristiken... Jakob Puchinger AIT - Mobility Department 38 / 291

44 Mehr Informationen VU Heuristische Optimierungsverfahren F. W. Glover, G. A. Kochenberger: Handbook of Metaheuristics, Kluwer Academic Publishers, 2003 (Umfassendes, neueres Standardwerk zu Metaheuristiken) Jakob Puchinger AIT - Mobility Department 39 / 291

45 Teil II: Heuristische Verfahren 1 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarschaftssuche Evolutionäre Algorithmen 2 Capacitated Vehicle Routing Konstruktionsheuristiken Zwei-Phasen Heuristiken Verbesserungsheuristiken Evolutionärer Algorithmus 3 Vehicle Routing mit Zeitfenstern Konstruktionsheuristiken Verbesserungsheuristiken Metaheuristiken 4 Das Multi-Depot VRP Ein Evolutionärer Algorithmus für das MDVRP 5 Pickup and Delivery Probleme Tabu Search Jakob Puchinger AIT - Mobility Department 40 / 291

46 Capacitated Vehicle Routing Ein zentrales Warenlager (Depot). Kunden mit Bedarf and Waren. Die Fahrzeuge sind alle gleich und können nur eine gewisse Menge an Waren transportieren (Kapazität) Das Ziel ist die Kosten zu minimieren (gewichtete Funktion bestehend aus der Anzahl Fahrzeuge und Länge/Dauer der Routen) Jakob Puchinger AIT - Mobility Department 41 / 291

47 Konstruktionsheuristiken für CVRP Zwei Arten von Konstruktionsheuristiken: Zusammenfügen von Routen unter Berücksichtigung eines savings Kriteriums. Einfüge von neuen Städten in bestehende Routen unter Berücksichtigung eines insertion Kriteriums. Jakob Puchinger AIT - Mobility Department 42 / 291

48 Der Savings Algorithmus von Clarke und Wright Savings Kriterium Gegeben zwei Routen: (0,..., i, 0) und (0, j,..., 0). Wenn diese beiden Routen unter Einhaltung der Kapazitätsnebenbedingung zu (0,..., i, j,..., 0) zusammengefügt werden können, entsteht die folgende Einsparung (saving) bei der Distanz: s ij = c i0 + c 0j c ij Jakob Puchinger AIT - Mobility Department 43 / 291

49 Der Savings Algorithmus von Clarke und Wright Der Savings Algorithmus - Schritt 1 Beginne mit einer Route für jeden Kunden i: (0, i, 0) Berechne savings s ij = c i0 + c 0j c ij für i, j = 1,..., n Ordne savings in absteigender Reihenfolge Jakob Puchinger AIT - Mobility Department 44 / 291

50 Der Savings Algorithmus von Clarke und Wright Der Savings Algorithmus - Schritt 2 (parallel) Durchlaufe savings Liste. Für jeden Wert s ij überprüfe ob zwei Routen existieren die jeweils eine Kante (0, j) und (i, 0) enthalten die unter Einhaltung der Nebenbedingungen zusammengefügt werden können. Wenn dies der Fall ist, lösche Kanten (0, j) und (i, 0) und füge Kante (i, j) ein. Jakob Puchinger AIT - Mobility Department 45 / 291

51 Der Savings Algorithmus von Clarke und Wright Der Savings Algorithmus - Schritt 2 (sequentiell) Durchlaufe alle Routen (0, i,..., j, 0) Bestimme den ersten savings Wert s ki oder s jl der ein gültiges Zusammenfügen der aktuellen Route mit einer anderen Route (die entweder Kante (k, 0) oder (0, l) enthält) erlaubt. Füge die beiden Routen zusammen und wiederhole den Vorgang bis keine Routen mehr Zusammengeführt werden können. Jakob Puchinger AIT - Mobility Department 46 / 291

52 Zwei-Phasen Heuristiken für CVRP Es gibt zwei Arten von Zwei-Phasen Heuristiken für das CVRP: Cluster-first, Route-second Route-fist, Cluster-second Jakob Puchinger AIT - Mobility Department 47 / 291

53 Cluster-first, Route-second Heuristiken Sweep-Algorithmus (1) Der Sweep-Algorithmus verwendet ein geometrisches Verfahren für das Erstellen der Cluster und kann deshalb nur auf planare Instanzen angewendet werden. Die Knoten werden durch Polarkoordinaten (θ i, ρ i ) beschrieben. θ i ist der Winkel und ρ i die direkte Entfernung zum Depot. Setze θ i = 0 für ein beliebiges i. Jakob Puchinger AIT - Mobility Department 48 / 291

54 Cluster-first, Route-second Heuristiken Sweep-Algorithmus (2) 1. Wähle ein unbenutztes Fahrzeug k 2. Beginne mit dem ungerouteten Knoten mit dem kleinsten Winkel. Füge solange Knoten zum Fahrzeug k hinzu, bis Kapazität oder maximale Routenlänge ausgeschöpft ist. Wenn ungeroutete Knoten übrig sind gehe zu Erzeuge Touren mittels TSP für jeden Cluster. Jakob Puchinger AIT - Mobility Department 49 / 291

55 Cluster-first, Route-second Heuristiken Fisher und Jaikumar Algorithmus Fixe Anzahl K Routen (Cluster) Initialisiere jeden Cluster k mit einem Knoten j k Berechne die Kosten d ik für das Hinzufügen von Kunden i zu Cluster k: d ik = min{c 0i + c ijk + c jk 0, c 0jk + c jk i + c i0 } (c 0jk + c jk 0) Löse Generalized Assignment Problem (GAP) mit Kosten d ik, Gewichten (Bedarf) q i und Kapazität Q Löse TSP für jeden Cluster aus der GAP Lösung. Jakob Puchinger AIT - Mobility Department 50 / 291

56 Cluster-first, Route-second Heuristiken Generalized Assignement Problem min X X d ik x ik (1) i V k K X q i x ik Q k K (2) i V X x ik = 1 i V (3) k K x ij {0, 1} i V, k K (4) Jakob Puchinger AIT - Mobility Department 51 / 291

57 Route-first, Cluster-second (Beasley 1983) In der ersten Phase wir eine große TSP Tour, ohne Rücksicht auf Nebenbedingungen, erzeugt. In der zweiten Phase wird die Tour in kleinere Touren aufgesplittet. Eine optimale Partition der Tour kann in polynomialer Zeit mittels eines kürzeste Wege Algorithmus berechnet werden. In der Praxis ist gibt diese Verfahren keine besonders guten Ergebnisse, aber es spielt in Kombination mit andere Verfahren eine wichtige Rolle. Jakob Puchinger AIT - Mobility Department 52 / 291

58 Bestimmt man nun den kürzesten Weg von 0 bis n im gerichteten Graphen mit Kosten c ij erhält man eine optimale Partition der Jakob Puchinger gerichteten AIT - Mobility Department Tour. 53 / 291 Route-first, Cluster-second (Beasley 1983) Kürzeste Wege zum Bestimmen einer optimalen Partition Weise der Tour eine Richtung zu und nummeriere die Knoten von 1 bis n in der Reihenfolge der Tour, wobei Knoten 1 der erste Knoten nach dem Depot ist. Sei d ij die Distanz zwischen zwei Knoten, dann definiere c ij als die Distanz die ein Fahrzeug benötigt um die Kunden (i + 1, i + 2,..., j) in dieser Reihenfolge zu besuchen, falls die Route (0, i + 1,..., j, 0) den Nebenbedingungen entspricht. Sonst setze c ij =. { d 0,i+1 + j 1 k=i+1 c ij = d k,k+1 + d j0 wenn (0, i + 1,..., j, 0) erlaubt sonst

59 Verbesserungsheuristiken für CVRP Einzelrouten werden verbessert (klassische TSP Verbesserungsheuristiken), z.b.: k-opt: Entfernen von k Kanten aus der Tour, die Übrig gebliebenen Segmente werden auf alle mögliche Arten wieder verbunden. Lin-Kernighan: Dynamische Modifikation von k im Laufe der Suche. Or-opt: Segmente von 3, 2 oder 1 hintereinander liegenden Knoten werden zwischen jedes Paar von aufeinander folgenden Städten eingefügt. Jakob Puchinger AIT - Mobility Department 54 / 291

60 Verbesserungsheuristiken für CVRP Routen übergreifende Verbesserungsverfahren Routen übergreifende Verbesserungsverfahren lassen sich in drei Kategorien einteilen: String Cross: Durchtrennen von zwei Routen. Durch Kreuzen werden die Knotenketten (strings) dann an die jeweils andere Route wieder angeschlossen. String Exchange: Zwei Knotenketten werden zwischen zwei Routen ausgetauscht. String Relocation: Ein Knotenkette wird von einer Route in eine andere Route verschoben. Jakob Puchinger AIT - Mobility Department 55 / 291

61 Evolutionärer Algorithmus für CVRP (Prins 2004) Einfache Grundidee: Enkodierung als Permutation entsprechend genaue jener Reihenfolge in der ein einzelnes Fahrzeug alle Knoten besuchen würde. Die Permutationsenkodierung definiert also eine große TSP Tour. Berechnung einer optimalen Partition mittels Algorithmus von Beasley. Prinzipiell kann die optimale Lösung mit solch einem Verfahren erreicht werden. Jakob Puchinger AIT - Mobility Department 56 / 291

62 Evolutionärer Algorithmus für CVRP (Prins 2004) Einfache Grundidee: Enkodierung als Permutation entsprechend genaue jener Reihenfolge in der ein einzelnes Fahrzeug alle Knoten besuchen würde. Die Permutationsenkodierung definiert also eine große TSP Tour. Berechnung einer optimalen Partition mittels Algorithmus von Beasley. Prinzipiell kann die optimale Lösung mit solch einem Verfahren erreicht werden. Jakob Puchinger AIT - Mobility Department 56 / 291

63 Evolutionärer Algorithmus für CVRP (Prins 2004) Order Crossover OX 1. Crossover-Bereich zufällig bestimmen: A = B = Gene im Crossover-Bereich von A in B löschen und umgekehrt: A = _ B = 8 _ _ 4 _ 3. Gene umordnen: 3.1 Gene des eigenen Crossover-Bereichs 3.2 freie Plätze 3.3 alle anderen Gene (hinter dem Crossover-Bereich beginnend) A = _ B = _ Freie Plätze mit Genen aus Crossover-Bereich des Partners auffüllen: A = B = Jakob Puchinger AIT - Mobility Department 57 / 291

64 Evolutionärer Algorithmus für CVRP (Prins 2004) Mutation - Lokale Suche Mit einer gewissen Wahrscheinlichkeit wird lokale Suche aufgerufen, dabei werden für jedes Knotenpaar (u, v) die folgenden Moves getestet: 1. Wenn u Kundenknoten, entferne u und füge ihn nach v ein. 2. Wenn u, x Kundenknoten, entferne u und füge (u, x) nach v ein. 3. Wenn u, x Kundenknoten, entferne u und füge (x, u) nach v ein. 4. Wenn u, v Kundenknoten, vertausche u und v. 5. Wenn u, x, v Kundenknoten, vertausche (u, x) und v. 6. Wenn u, x, v, y Kundenknoten, vertausche (u, x), (v, y). 7. Wenn T (u) = T (v) ersetze (u, x), (v, y) durch (u, v), (x, y). 8. Wenn T (u) T (v) ersetze (u, x), (v, y) durch (u, v), (x, y). 9. Wenn T (u) T (v) ersetze (u, x), (v, y) durch (u, y), (x, v). x und y sind die Nachfolger von u und v, T (u) ist die Route die u besucht. Jakob Puchinger AIT - Mobility Department 58 / 291

65 Evolutionärer Algorithmus für CVRP (Prins 2004) Der EA findet sehr gute Ergebnisse, für mehr Details siehe: Christian Prins. A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 31: , Jakob Puchinger AIT - Mobility Department 59 / 291

66 Andere Beispiele für Metaheuristiken für CVRP Marc Reimann, Karl Doerner, and Richard F. Hartl. D-Ants: Savings Based Ants divide and conquer the vehicle routing problem. Computers & Operations Research, 31: , Michel Gendreau, Alain Hertz and Gilbert Laporte. A tabu search heuristic for the vehicle routing problem. Management Science, 40: , Jakob Puchinger AIT - Mobility Department 60 / 291

67 Teil II: Heuristische Verfahren 1 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarschaftssuche Evolutionäre Algorithmen 2 Capacitated Vehicle Routing Konstruktionsheuristiken Zwei-Phasen Heuristiken Verbesserungsheuristiken Evolutionärer Algorithmus 3 Vehicle Routing mit Zeitfenstern Konstruktionsheuristiken Verbesserungsheuristiken Metaheuristiken 4 Das Multi-Depot VRP Ein Evolutionärer Algorithmus für das MDVRP 5 Pickup and Delivery Probleme Tabu Search Jakob Puchinger AIT - Mobility Department 61 / 291

68 Vehicle Routing mit Zeitfenstern Neben der Einhaltung der bisherigen Nebenbedingungen spielt jetzt auch die Zeit eine wichtige Rolle. Jeder Kunde i gibt ein Zeitfenster an, innerhalb dessen er beliefert werden muss [e i, l i ]. Jeder Knoten hat eine gewisse Servicezeit s i. Zeitfenster können hart (Nebenbedingungen) oder weich (Strafterm in der Zielfunktion) sein. Jakob Puchinger AIT - Mobility Department 62 / 291

69 Konstruktionsheuristiken für das VRPTW Route-first, Cluster-second (Solomon 1986). Eine große Route wird erzeugt, diese wird dann in Subrouten zerlegt, wobei das Einhalten der Zeitfenster geachtet wird. Savings-basierte Heuristik (Solomon 1987). Ähnlich zu savings-basierten verfahren für das CVRP. Es wird ein Limit auf die Wartezeiten der Route gesetzt. Sequentielle Einfügeheuristik (Solomon 1987). Eine Route wird zunächst mit einem Startkunden initialisiert. Es werden dann solange wie möglich ungeroutete Kundenkoten zur Route hinzugefügt. Es werden solange neue Routen initialisiert und gebildet bis keine ungerouteten Kundenknoten übrig sind. Jakob Puchinger AIT - Mobility Department 63 / 291

70 Konstruktionsheuristiken für das VRPTW Zeitorientierte Nearest-Neighbour Heuristik M.M. Solomon. Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Operations Research, Vol. 35, No. 2, pp , 1987 Die Heuristik beginnt jede Tour mit dem zum Depot am nächsten liegenden Kundenknoten. Bei jeder weiteren Iteration wird der am nächsten zum zuletzt hinzugefügten Knoten liegende Knoten hinzugefügt. Wobei dieser nur aus jenen Kunden ausgewählt wird die erlaubterweise hinzugefügt werden dürfen. Jakob Puchinger AIT - Mobility Department 64 / 291

71 Konstruktionsheuristiken für das VRPTW Zeitorientierte Nearest-Neighbour Heuristik Um den nächsten Kunden auszuwählen wird folgende Metrik definiert: c ij = δ 1 d ij + δ 2 T ij + δ 3 v ij mit d ij Entfernung zwischen zwei Kunden T ij = b j (b i + s i ) Differenz zwischen Ende des Service am Knoten i und Beginn des Service am Knoten j v ij = l j (b i + s i + t ij ) Dringlichkeit Knoten j zu beliefern δ 1 + δ 2 + δ 3 = 1 und δ 1, δ 2, δ 3 0 Jakob Puchinger AIT - Mobility Department 65 / 291

72 Verbesserungsheuristiken für das VRPTW 2-Opt Exchange (Zweieraustausch) Or-Opt Relocate Exchange Cross-Exchange GENI (Details siehe Tafel) Jakob Puchinger AIT - Mobility Department 66 / 291

73 Verbesserungsheuristiken für das VRPTW Effiziente Implementierung Martin Savelsbergh. The Vehicle Routing Problem with Time Windows: Minimizing Route Duration. ORSA Journal on Computing, 4(2), Jakob Puchinger AIT - Mobility Department 67 / 291

74 Verbesserungsheuristiken für das VRPTW 2-exchange beim TSP: Gegeben ein vollständiger Graph V mit Reisezeiten t ij für jede Kante {i, j} V V. Wir nehmen Knoten 0 als Start und Endpunkt der Tour an (Depot), t ij ist symmetrisch und es gilt die Dreiecksungleichung. Ein 2-exchange ist der Austausch von zwei Kanten {i, i + 1} und {j, j + 1} durch die Kanten {i, j} und {i + 1, j + 1}. Dadurch wird die Reihenfolge des Pfades (i + 1,..., j) umgekehrt. Solch ein Zweieraustausch ergibt eine lokale Verbesserung wenn t ij + t i+1,j+1 < t i,i+1 + t j,j+1. Eine mögliche Verbesserung lässt sich also durch ausschließlich lokale Informationen in konstanter Zeit berechnen. Jakob Puchinger AIT - Mobility Department 68 / 291

75 Verbesserungsheuristiken für das VRPTW 2-exchange für TSP mit Zeitfenstern: Das Hauptproblem bei Nebenbedingungen wie Zeitfenstern ist die Frage ob der 2-exchange erlaubt ist. Durch die Umkehrung des Pfades (i + 1,..., j) muss dies für jeden Knoten auf diesem Pfad überprüft werden. In einer naiven Implementierung würde dies für jeden 2-exchange O(n) Zeit benötigen. Dies würde zu O(n 3 ) für das Überprüfen der 2-optimality führen. Wenn man die 2-opt Nachbarschaft in einer spezifischen Reihenfolge durchsucht und gewisse Informationen über die Nebenbedingungen speichert, kann das Überprüfen der Zeitfenster in konstanter Zeit erfolgen. Jakob Puchinger AIT - Mobility Department 69 / 291

76 Verbesserungsheuristiken für das VRPTW Lexikographische Suche für 2-exchange Wähle Kanten {i, i + 1} in der Reihenfolge in der sie in der Tour vorkommen (äußere Schleife). Danach wähle Kante {j, j + 1} als {i + 2, i + 3}, {i + 3, i + 4},... (innere Schleife). Diese Ordnung führt dazu, dass in der inneren Schleife der Pfad des davor behandelten 2-exchange (i + 1,..., j 1) nur durch die Kante {j 1, j} erweitert wird. (Siehe Zeichnung Tafel). Jakob Puchinger AIT - Mobility Department 70 / 291

77 Verbesserungsheuristiken für das VRPTW Notation TSP mit Zeitfenstern: Zeitfenster in jedem Knoten i [e i, l i ] A i Ankunftszeit im Knoten i D i Abfahrtszeit Knoten i W i Wartezeit im Knoten i, falls Ankunft vor e i Jakob Puchinger AIT - Mobility Department 71 / 291

78 Verbesserungsheuristiken für das VRPTW Forward Time Slack: Nehmen wir die frühestmögliche Abfahrtszeit im Depot (D 0 = e 0 ) an. Der Forward Time Slack F i in jedem Knoten zeigt an, wie weit die Abfahrtszeit in diesem Knoten nach hinten geschoben werden kann ohne die Zeitfenster zu verletzen: F i = min {l k (D i + t p,p+1 )} i k n i p<k Allgemeiner kann man den Forward Slack F (i,...,j) i im Knoten i in Bezug auf einen Pfad (i,..., j) und Abfahrtszeiten D i,..., D j wie folgt definieren: F (i,...,j) i = min {l k (D i + t p,p+1 )} i k j i p<k Jakob Puchinger AIT - Mobility Department 72 / 291

79 Verbesserungsheuristiken für das VRPTW Theorem (Concatenation) Wenn man zwei erlaubte Pfade (i 1,..., j 1 ) und (i 2,..., j 2 ) mit Forward Time Slacks F (i 1,...,j 1 ) i 1 und F (i 2,...,j 2 ) i 2 hintereinander zusammenfügt, dann ergibt sich der Forward Time Slack des ersten Knotens des neuen Pfades als F (i 1,...,j 1,i 2,...,j 2 ) i 1 = min{f (i 1,...,j 1 ) i 1, F (i 2,...,j 2 ) i 2 + W k + D i2 (D j1 + t j1 j 2 )}. i 1 <k j 1 (Beweis siehe Tafel oder Paper) Jakob Puchinger AIT - Mobility Department 73 / 291

80 Verbesserungsheuristiken für das VRPTW Aus dem Theorem ergeben sich für eine gegeben Route (0, 1,..., n) zwei Möglichkeiten den Forward Time Slack im Depot zu berechnen. Vorwärts Rekursion: F (0,...,i,i+1) 0 = min{f (0,...,i) 0, l i+1 D i+1 + Rückwärts Rekursion: F (i,i+1,...,n) i 0<p i = min{l i D i, F (i+1,...,n) i+1 + W i+1 } W p + W i+1 } Jakob Puchinger AIT - Mobility Department 74 / 291

81 Verbesserungsheuristiken für das VRPTW Überprüfen der Einhaltung der Zeitfenster bei 2-exchange: Betrachte den 2-exchange der {i, i + 1} und {j, j + 1} mit {i, j} und {i + 1, j + 1} ersetzt. Die resultierende Route kann in die folgenden drei Pfade geteilt werden: (0,..., i), (j,..., i + 1) und (j + 1,..., n) Mit Hilfe der vorwärts und rückwärts Rekursion lassen sich, für alle i und j + 1 in 0... n, F (0,...,i) 0 und F (j+1,...,n) j+1 in O(n) berechnen. Weiters kann 0<k i W k auch im Vorhinein in O(n) berechnet werden. F (j,...,i+1) j und j<k i+1 W k können in konstanter Zeit initialisiert und aktualisiert werden. Es ist also möglich den Forward Time Slack im Depot in konstanter Zeit zu berechnen indem die drei Pfade zusammengefügt werden. Jakob Puchinger AIT - Mobility Department 75 / 291

82 Metaheuristiken für das VRPTW Tabu Suche Evolutionäre Algorithmen Andere Metaheuristiken Jakob Puchinger AIT - Mobility Department 76 / 291

83 Beispiel Metaheuristik: Two-Stage Local Search Russell Bent, Pascal Van Hentenryck. Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows. TRANSPORTATION SCIENCE, Vol. 38, No. 4, November 2004, pp Im Gegensatz zu vielen anderen Arbeiten werden hier nicht direkt die Routenanztahl und Fahrtkosten in Kombination minimiert, sondern es wird ein zweistufiger Prozess angewendet: 1. Minimierung der Routenanzahl (mittels Simulated Annealing) 2. Minimierung der Reisekosten (mittels Large Neighborhood Search) Jakob Puchinger AIT - Mobility Department 77 / 291

84 Beispiel Metaheuristik: Two-Stage Local Search Problemdefinition und Notationen (1) Kunden Customers = V = {1,..., N} Knoten Sites = S = {0, 1,..., N} Fahrtkosten c ij, normalisiert: c ij = c ij /max ij S c ij Jeder Kunde hat Bedarf q i und Servicezeit s i Gegeben sind m identische Fahrzeuge mit Kapazität Q Eine Route r = 0, v 1,..., v n, 0 cust(r) ist die Menge {v 1,..., v n } der Kunden einer Route r Bedarf einer Route q(r) = c cust(r) q c Fahrtkosten einer Route t(r) = c 0v1 + c v1 v c vn0 Jakob Puchinger AIT - Mobility Department 78 / 291

85 Beispiel Metaheuristik: Two-Stage Local Search Problemdefinition und Notationen (2) Ein Routenplan ist eine Menge von Routen {r 1,..., r m } die jeden Kunden genau einmal besucht. Nachfolger und Vorgänger von i in einem Routenplan: i + und i. Zeitfenster [e i, l i ] Abfahrtszeit δ i bei einem Kunden i, rekursiv definiert als: δ 0 = 0, δ i = max(δ i + c i i, e i ) + s i i V Frühestmögliche Servicezeit für eine Kunden i: a i = max(δ i + c i i, e i ) i V Frühestmögliche Ankunftszeit einer Route r = 0, v 1,..., v n, 0 : a(r) = δ vn + c vn0 Jakob Puchinger AIT - Mobility Department 79 / 291

86 Beispiel Metaheuristik: Two-Stage Local Search Problemdefinition und Notationen (3) Spätestmögliche Ankunftszeit bei einem Kunden i: z 0 = l 0 z i = min(z i + c ii + s i, l i ) i V Eine Lösung für das VRPTW ist ein Routenplan σ = {r 1,..., r m } der die Kapazität und Zeitfenster einhält: q(r j ) Q 1 j m a(r j ) l 0 1 j m a i l i i V Größe eines Routenplans: σ = {r σ cust(r) } Zielfunktion: f (σ) = σ, r σ t(r) Jakob Puchinger AIT - Mobility Department 80 / 291

87 Beispiel Metaheuristik: Two-Stage Local Search Minimierung der Routenanzahl: Nachbarschaften 2-Opt Exchange Or-Opt Relocate Exchange CROSS-Exchange In jeder Iteration wird eine Subnachbarschaft zufällig bestimmt indem eine Nachbarschaft und ein Kundenknoten zufällig gewählt und alle möglichen Nachbarlösungen betrachtet werden. Jakob Puchinger AIT - Mobility Department 81 / 291

88 Beispiel Metaheuristik: Two-Stage Local Search Minimierung der Routenanzahl: Zielfunktion Anstatt der üblichen Zielfunktion σ, r σ t(r), wird hier: σ, r σ r 2, mdl(σ) minimiert. Die zweite Komponente maximiert r σ r 2 und bevorzugt Lösungen die Routen mit vielen Kunden und wenigen Kunden enthalten. (mdl(σ) minimal delay siehe nächste Folie) Jakob Puchinger AIT - Mobility Department 82 / 291

89 Beispiel Metaheuristik: Two-Stage Local Search Minimierung der Routenanzahl: Zielfunktion Der minimal delay mdl(σ) bevorzugt Lösungen wo Kunden aus kurzen Routen mit möglichst geringen Zeitfensterverletzungen zu langen Routen verschoben werden können. mdl(σ) = mdl(r, σ) mdl(r, σ) = i cust(r) (where) r = min r σ r mdl(i, r, σ) 0 if N (relocation, i, σ) mdl(i, r, σ) = if r r, q(r ) + q i > Q min j V \cust(r) mdl(i, j, r, σ) otherwise mdl(i, j, r, σ) = max(δ j + c ji l i, 0) + max(δ i + c ij z j +, 0) Jakob Puchinger AIT - Mobility Department 83 / 291

90 Beispiel Metaheuristik: Two-Stage Local Search Minimierung der Routenanzahl: Simulated Annealing (Bent and Van Hentenryck, 2004) Jakob Puchinger AIT - Mobility Department 84 / 291

91 Beispiel Metaheuristik: Two-Stage Local Search Minimierung der Fahrtkosten: Large Neighborhood Search Originale Zielfunktion wird jetzt minimiert: f (σ) = σ, r σ t(r) Nachbarschaft N R (σ, S) ist jene Lösungsmenge die von σ durch Umplatzierung (relocation) der Kunden in S erreicht werden kann. Gegeben eine Lösung σ mit Kunden aus V \ S, dann bezeichnet N I (σ, S) jene Lösungen die durch Einfügen der Kunden S in σ erreicht werden können. Jakob Puchinger AIT - Mobility Department 85 / 291

92 Beispiel Metaheuristik: Two-Stage Local Search Minimerung der Fahrtkosten: Large Neighbourhood Search (Bent and Van Hentenryck, 2004) Jakob Puchinger AIT - Mobility Department 86 / 291

93 Beispiel Metaheuristik: Two-Stage Local Search Large Neighbourhood Search: SelectCustomers(σ, n) (Bent and Van Hentenryck, 2004) Mit relatedness Maß: 1 relatedness(i, j) = c ij + v ij mit v ij = 1 wenn Kunden i und j in verschiedenen Routen auftreten und 0 sonst. Jakob Puchinger AIT - Mobility Department 87 / 291

94 Beispiel Metaheuristik: Two-Stage Local Search Durchsuchen der Nachbarschaft: DFSExplore(σ c, S, σ b ) (Bent and Van Hentenryck, 2004) Jakob Puchinger AIT - Mobility Department 88 / 291

95 Beispiel Metaheuristik: Two-Stage Local Search Durchsuchen der Nachbarschaft: Berechnen der unteren Schranken Für die untere Schranke muß gelten: BOUND(σ, S) min f σ N I (σ,s) (σ ) Die untere Schranke berechnet sich mittels eines minimum spanning k-tree auf dem Insertion Graph. Minimum spanning k-tree ist ein Spannbaum mit n + K Kanten. Insertion Graph besteht aus den drei Kantenmengen: Die Kanten in σ Die Kanten zwischen Kunden in S Die erlaubten Kanten die Kunden aus C = S r σ cust(r) mit Kunden in S verbinden. Jakob Puchinger AIT - Mobility Department 89 / 291

96 Beispiel Metaheuristik: Two-Stage Local Search Durchsuchen der Nachbarschaft: Limited Discrepancy Search LDSEXPLORE(σ c, S, σ b, d) (Bent and Van Hentenryck, 2004) Jakob Puchinger AIT - Mobility Department 90 / 291

97 Heuristiken und Metaheuristiken für das VRPTW Mehr Infos: O. Bräysy and M. Gendreau. Vehicle Routing Problem with Time Windows, Part I: Route Construction and Local Search Algorithms. Transportation Science. 39: O. Bräysy and M. Gendreau. Vehicle Routing Problem with Time Windows, Part II: Metaheuristics. Transportation Science. 39: Jakob Puchinger AIT - Mobility Department 91 / 291

98 Teil II: Heuristische Verfahren 1 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarschaftssuche Evolutionäre Algorithmen 2 Capacitated Vehicle Routing Konstruktionsheuristiken Zwei-Phasen Heuristiken Verbesserungsheuristiken Evolutionärer Algorithmus 3 Vehicle Routing mit Zeitfenstern Konstruktionsheuristiken Verbesserungsheuristiken Metaheuristiken 4 Das Multi-Depot VRP Ein Evolutionärer Algorithmus für das MDVRP 5 Pickup and Delivery Probleme Tabu Search Jakob Puchinger AIT - Mobility Department 92 / 291

99 Das Multi-Depot VRP Vehicle Routing Problem mit mehreren Depots Jedes Fahrzeug muss zu seinem Ausgangsdepot zurückkehren Sei G = (V, A) ein gerichteter Graph. V = V c V d wobei V c = {v 1,..., v n } die Menge der Kunden und V d = {v n+1,..., v n+p } die Menge der Depots. Jeder Kunde hat einen Bedarf d i und eine Servicezeit ρ i. Kosten c ij In jedem Depot können zwischen 0 und n Fahrzeuge stationiert werden. Jakob Puchinger AIT - Mobility Department 93 / 291

100 Das Multi-Depot VRP Ziel beim Multi-Depot VRP ist es die Anzahl der benötigten Fahrzeuge zu minimieren. Dabei sollen die Fahrtkosten (Distanz) möglichst gering gehalten werden Jeder Kunde soll genau einmal angefahren werden Jede Tour endet bei jenem Depot bei dem Sie begonnen hat Der Gesamtbedarf einer Tour darf die Fahrzeugkapazität nicht übersteigen Die gesamte Tourdauer (Fahrtzeit + Servicezeit) darf ein gewisses Limit nicht überschreiten. Jakob Puchinger AIT - Mobility Department 94 / 291

101 Ein Evolutionärer Algorithmus für das MDVRP Béatrice Ombuki-Berman and Franklin T. Hanshar. Using Genetic Algorithms for Multi-depot Vehicle Routing. F. B. Pereira and J. Tavares (Eds.). Bio-inspired Algorithms for the Vehicle Routing Problem. Springer Jakob Puchinger AIT - Mobility Department 95 / 291

102 Ein Evolutionärer Algorithmus für das MDVRP Initiale Depot-Clusterung Initiale Depot-Clusterung: Zu Beginn, wird jeder Kunde dem nächstliegenden (euklidische Distanz) Depot zugeordnet. Dabei werden auch Grenzfälle identifiziert, welche im weiteren Verlauf mittels inter-depot Mutation einem anderen Depot zugewiesen werden können. Repräsentation Es wird eine Permutationskodierung benutzt welche später zu einzelnen Routen dekodiert werden. Die Representation umfasst p Vektoren, für jedes Depot einen, die jeweils eine geordnete Teilmenge (Permutation) der Kunden enthalten. Jakob Puchinger AIT - Mobility Department 96 / 291

103 Ein Evolutionärer Algorithmus für das MDVRP Dekodierung Die Permutationen werden mittels eines zweiphasigen Verfahrens dekodiert. In der ersten Phase werden die Kunden in der Reihenfolge der Permutation zu einer Route hinzugefügt. Wenn der aktuelle Kunde nicht zur aktuellen Route hinzugefügt werden kann, wird eine Route begonnen. In der zweiten Phase wird noch eine lokale Optimierung vorgenommen, wo der letzte Kunde jeder Route r i vor dem ersten Kunden einer Route r i+1 eingefügt wird, wenn dies zu einer Verbesserung führt. Jakob Puchinger AIT - Mobility Department 97 / 291

104 Ein Evolutionärer Algorithmus für das MDVRP Gewichtete Fitness Berechnung F(x) = αk (x) + βc(x) mit K (x) der Anzahl der Fahrzeuge und C(x) der zurückgelegten Distanz. Jakob Puchinger AIT - Mobility Department 98 / 291

105 Ein Evolutionärer Algorithmus für das MDVRP Fitness Berechnung durch Pareto Ranking (Ombuki-Berman and Hanshar, 2009) Jakob Puchinger AIT - Mobility Department 99 / 291

106 Ein Evolutionärer Algorithmus für das MDVRP Best Route Crossover 1. Zufällige Selektion von zwei Elternpaaren p 1, p 2 aus der Population 2. Zufällige Auswahl eines Depots Φ 3. Zufällige Auswahl einer Route des ausgewählten Depots bei den jeweiligen Eltern r 1 p 1Φ, r 2 p 2Φ. 4. Entferne aller Kunden von r 1 aus p 2 und r 2 aus p 1 5. Für jeden Kunden c r 1 Berechnen der Einfügekosten und Zulässigkeit von c für jede Position in p 2Φ Entscheide zufällig (mit einer gewissen Wahrscheinlichkeit) zwischen zulässiger erstbester Position oder erstbester Position zum Einfügen. 6. Füge Elemente von r 2 in p 1Φ analog ein. Jakob Puchinger AIT - Mobility Department 100 / 291

107 Ein Evolutionärer Algorithmus für das MDVRP Intra-Depot Mutation: Mutation von Routen innerhalb eines Depots Inversion, Auswahl zweier Stellen im Chromosom Inversion der Reihenfolge zwischen den beiden Stellen: wird Single customer re-routing, ein Kunde wird zufällig aus einer Route entfernt und in die bestmögliche Position eingefügt. Swapping, Austausch zweier zufällig ausgewählter Kunden zwischen zwei Routen Inter-Depot Mutation: Austausch von Kunden zwischen mehreren Depots. Ein Kunde aus der bei der Initialisierung festgelegten Liste von austauschbaren Kunden wird mit einer gewissen Wahrscheinlichkeit einem anderen Depot zugeordnet. Jakob Puchinger AIT - Mobility Department 101 / 291

108 Teil II: Heuristische Verfahren 1 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarschaftssuche Evolutionäre Algorithmen 2 Capacitated Vehicle Routing Konstruktionsheuristiken Zwei-Phasen Heuristiken Verbesserungsheuristiken Evolutionärer Algorithmus 3 Vehicle Routing mit Zeitfenstern Konstruktionsheuristiken Verbesserungsheuristiken Metaheuristiken 4 Das Multi-Depot VRP Ein Evolutionärer Algorithmus für das MDVRP 5 Pickup and Delivery Probleme Tabu Search Jakob Puchinger AIT - Mobility Department 102 / 291

109 Pickup and Delivery Probleme Güter werden nicht von einem oder mehreren zentralen Depots verteilt, sondern von Abholorten zu Auslieferungsdestinationen geliefert. Es wir unterschieden ob Abholorte und Destinationen zusammenhängen oder nicht (paired vs. unpaired). Beim klassischen Pickup and Delivery Problem geht es um die Verteilung von Gütern Beim Dial-a-Ride Problem werden Personen transportiert. Dies drückt sich üblicherweise in zusätzlichen Nebenbedingungen (Komfort) aus. Darüber hinaus können auch noch Zeitfenster hinzukommen, auch dynamische und stochastische Varianten sind sehr verbreitet. Jakob Puchinger AIT - Mobility Department 103 / 291

110 Das Dial-a-Ride Problem Gegeben ein gerichteter Graph G = (V, A). Die Knotenmenge besteht aus Pickup P und Delivery D Knoten und einem zentralen Depot {0, 2n + 1} an dem die Fahrzeuge stationiert sind. Ein Auftrag ist ein Knotenpaar (i, n + i), wobei i P und n + i D ist. In jedem Knoten gibt es eine gewisse Beladungsmenge q i wobei q 0 = q 2n+1 = 0, q i 0 für i = 1,..., n und q i = q i n für i = n + 1,..., 2n gilt. Weiters hat jede Kante Kosten c ij und eine Reisezeit t ij. Jakob Puchinger AIT - Mobility Department 104 / 291

111 Das Dial-a-Ride Problem Außerdem gibt es auch eine Zeitdauer für das Beladen und Entladen in jedem Knoten, d i 0 und d 0 = d 2n+1 = 0. Jedes Fahrzeug hat eine gewisse Kapazität Q k und eine maximale Routendauer T k. Die maximale Reisezeit jedes Kunden ist L und das Zeitfenster im Knoten i ist [e i, l i ].i Sie A i die Ankunftszeit eines Fahrzeuges im Knoten i. B i = max{a i, e i } der Anfang des Service im Knoten i, falls das Fahrzeug vor e i ankommt entsteht eine Wartezeit W i = B i A i. D i = B i + d i die Abfahrtszeit von Knoten i. Die Reisezeit eines Kunden ist L i = B i+n D i. Jakob Puchinger AIT - Mobility Department 105 / 291

112 Tabu Search für das Dial-a-Ride Problem Cordeau, J.-F. and Laporte, G. (2003). A tabu search heuristic for the static multi-vehicle dial-a-ride problem. Transport Res B, 37: Bei der Tabusuche werden auch ungültige Lösungen zugelassen, die Nebenbedingungen welche die Beladung Routendauer, Zeitfenster und Reisezeit einschränken dürfen Verletzt werden. Für eine Lösung s, seien c(s) die Gesamtkosten: Summe der c ij der befahrenen Kanten. Die Kapazitätsüberschreitung q(s) und die Überschreitung der maximalen Reisezeit d(s) erden pro Route berechnet und beziehen sich auf Q k und T k. Die Verletzung der Zeitfenster w(s) = 2n i=0 max{0, B i l i }. Verletzung der Reisezeit t(s) = i=1 n max{0, L i L}. Daraus ergibt sich die Evaluationsfunktion f (s) = c(s) + αq(s) + βd(s) + γw(s) + τt(s) Jakob Puchinger AIT - Mobility Department 106 / 291

113 Tabu Suche Basisalgorithmus begin TL ; // Tabu-Liste x Ausgangslösung; repeat: X Teilmenge von N(x) unter Berücksichtigung von TL; x beste Lösung von X ; füge x zu TL hinzu; lösche Elemente aus TL die älter sind als t L Iterationen; x x ; if x ist besser als bisher beste Lösung then merke x; until Abbruchkriterium erfüllt; end Jakob Puchinger AIT - Mobility Department 107 / 291

114 Tabu Search für das Dial-a-Ride Problem Eine Lösung s wird durch die Menge U(s) = {(i, k) : Auftrag i wird von Fahrzeug k durchgeführt} charakterisiert. Die Nachbarschaft N(s) enthält alle Lösungen welche durch die Anwendung eines einfachen Operators erreicht werden können: Ersetzen des Attributs (i, k) durch ein Attribut (i, k ), mit k k. Bei Entfernen des Attributs (i, k) werden die Knoten i und n + i aus der Route k entfernt wobei dann einfach Vorgänger und Nachfolger dieser Knoten direkt verbunden werden. Die Knoten i und n + i werden dann in Route k an jenen Positionen eingefügt welche die Gesamterhöhung von f (s) minimieren. Jakob Puchinger AIT - Mobility Department 108 / 291

115 Tabu Search für das Dial-a-Ride Problem Die Attribute werden auch dazu verwendet die Tabuliste zu kontrollieren, wenn ein Auftrag i aus einer Route k entfernt wurde, wird dessen Wiedereinfügen in k für θ Iterationen verboten. Aspirationskriterium: Verbotenes Attribut kann zu einer Nachbarlösung führen die besser als die bisher beste gefundene Lösung ist. Jakob Puchinger AIT - Mobility Department 109 / 291

116 Tabu Search für das Dial-a-Ride Problem Die Startlösung wird mit Hilfe einer randomisierten Konstruktionsheuristik erzeugt. Jedem Auftrag i wird ein zufällig ausgewähltes Fahrzeug zugewiesen und die zugehörigen Knoten i und n + i werden einfach am Ende der teilweise erzeugten Route dazugehängt. Diese Prozedur stellt sicher, dass die Kapazitätsnebenbedingungen eingehalten werden und jeder Kunde von seinem Ausgangsort zu seiner Destination gebracht wird. Die anderen Nebenbedingungen (d(s), w(s) und t(s)) können hingegen verletzt sein. Jakob Puchinger AIT - Mobility Department 110 / 291

117 Tabu Search für das Dial-a-Ride Problem Nach jeder Iteration der Tabusuche werden die Parameter der Evaluierungsfunktion dynamisch mittels eines Parameters 1 + δ δ > 0 adaptiert. Wenn die aktuelle Lösung die Kapazitätsnebenbedingungen erfüllt wird α wie folgt verändert α = α 1+δ und α = α (1 + δ) Die Parameter β, γ und τ werden analog behandelt. Alle κ Iterationen werden auf jeder Route Exchange Moves durchgeführt, diese werden auch immer dann durchgeführt wenn eine neue beste Lösung gefunden wurde. Jakob Puchinger AIT - Mobility Department 111 / 291

118 Tabu Search für das Dial-a-Ride Problem Um die Suche zu diversifizieren wird jede Lösung s N(s) mit f (s) f (s) bestraft. Sei ρ ik die Anzahl wie oft Attribut (i, k) zur Lösung während der Suche hinzugefügt worden ist. Sei (i, k) das Attribut das zu einer Lösung s hinzugefügt werden muss um Lösung s zu erreichen, wird eine Bestrafung p(s) = λc(s nmρ ik zu den Kosten von s hinzugefügt. Jakob Puchinger AIT - Mobility Department 112 / 291

119 Tabu Search für das Dial-a-Ride Problem Durchsuchen der Nachbarschaft kann sehr teuer sein, da die beiden Routen k und k ändern. Der Forward Time Slack (etwas umgeformt) entspricht der längstmöglichen Verzögerung im Knoten i die keine Zeitfenster verletzt: F i = min W p + (l i j q j B j ) i<p j Hier sind ungültige Lösungen erlaubt. Forward Time Slack wird modifiziert, dass er der längstmöglichen Verzögerung im Knoten i die keine Zeitfensterverletzungen verstärkt entspricht. Weiters sollen auch Reisezeitverletzungen nicht verstärkt werden, der modifizierte Forward Time Slack ist: F i = min W i j q p + max{0, min{l j B j, L P j }. i<p j Jakob Puchinger AIT - Mobility Department 113 / 291

120 Tabu Search für das Dial-a-Ride Problem Wenn man nun D 0 = e 0 + F 0 anstatt D 0 = e 0 setzt, erhält man eine Route minimaler Dauer mit gleich starken Zeitfensterverletzungen und gleich oder weniger starken Reisezeitverletzungen. Solange die Abfahrtszeit im Depot nicht um mehr als 0<p<q W p verzögert wird, beeinflusst dies nicht die Ankunftszeit A q. Eine längere Verzögerung würde diese jedoch um genauso viel verlängern. Die minimale Routendauer die keine Verletzungen von Nebenbedingungen erhöht ist also A q e 0 + min F 0, W p. 0<p<q Der Forward Time Slack kann auch dazu verwendet werden das Service bei den einzelnen Kunden zu verzögern um Reisezeiten zu verringern. Jakob Puchinger AIT - Mobility Department 114 / 291

121 Tabu Search für das Dial-a-Ride Problem Auswirkungen die das Löschen von zwei Knoten i und n + i einer Route k und Einfügen in Route k können wie folgt ermittelt werden. 1. Setze D 0 = e 0 2. Berechne A i, W i, B i und D i für alle Knoten i in der Route 3. Berechne F 0 4. Setze D 0 = e 0 + min{f 0, 0<p<q W p} 5. Aktualisiere A i, W i, B i und D i für alle Knoten i in der Route 6. Berechne L i für jeden Auftrag der Route 7. Für jeden Knoten j 7.1 Berechne F j 7.2 Setze B j = B j + min{f j, P 0<p<q Wp}; D j = B j + d j 7.3 Aktualisiere A i, W i, B i und D i für alle Knoten i die nach j der Route vorkommen 7.4 Aktualisiere Reisezeit L i für jeden Auftrag i mit Zielknoten nach j 8. Berechne Veränderungen in den Verletzungen der Nebenbedingungen Jakob Puchinger AIT - Mobility Department 115 / 291

122 Das Dial-a-Ride Problem Weitere Literatur: Parragh, S.N., Doerner, K.F., Hartl, R.F. (2010), Variable Neighborhood Search for the Dial-a-Ride Problem. Computers & Operations Research 37, Parragh, S.N., Doerner, K.F., Hartl, R.F. (2008), A survey on pickup and delivery problems. Part I: Transportation between customers and depot. Journal für Betriebswirtschaft 58, Parragh, S.N., Doerner, K.F., Hartl, R.F. (2008), A survey on pickup and delivery problems. Part II: Transportation between pickup and delivery locations. Journal für Betriebswirtschaft, 58, Jakob Puchinger AIT - Mobility Department 116 / 291

123 Teil III Exakte Verfahren Jakob Puchinger AIT - Mobility Department 117 / 291

124 Exakte Verfahren Im zweiten Teil der Vorlesung beschäftigen wir uns mit exakten Verfahren zum Lösen von Problemen aus der Transportlogistik Vor und Nachteile exakter Verfahren? Branch and Cut Branch and Price Travelling Salesman Problem Vehicle Routing Problem und verschiedene Varianten... Jakob Puchinger AIT - Mobility Department 118 / 291

125 Teil III: Exakte Verfahren 6 Einführung 7 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Kamm-Ungleichungen Kamm-Ungleichungen aus Blüten Gomory Mixed Integer Inequalities 8 Das Vehicle Routing Problem Capacitated Vehicle Routing Problem Branch-and-Cut für Capacitated Vehicle Routing 9 Vehicle Routing mit Zeitfenstern Modell Spaltengenereierung Branch-and-Price 10 Das Dial-a-Ride Problem Modell Branch-and-Cut Jakob Puchinger AIT - Mobility Department 119 / 291

126 Lineare Programmierung Transportproblem Waren müssen von mehreren Ausgangspunkten (i = 1,..., n) zu mehreren Zielorten (j = 1,..., m) transportiert werden. An jedem der Ausgangspunkte gibt es ein fixes Angebot (a i ) und an den Zielorten einen fixen Bedarf (b j ). Die Summe der Angebote entspricht genau der Summe des Bedarfs: n i=1 a i = m j=1 b j. Transportkosten pro transportierter Einheit (c ij ). Die Transportkosten sollen minimiert werden. Jakob Puchinger AIT - Mobility Department 120 / 291

127 Lineare Programmierung Transportproblem min Jakob Puchinger AIT - Mobility Department 121 / 291

128 Lineare Programmierung Transportproblem min c ij Jakob Puchinger AIT - Mobility Department 121 / 291

129 Lineare Programmierung Transportproblem min c ij x ij x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger AIT - Mobility Department 121 / 291

130 Lineare Programmierung Transportproblem min n m c ij x ij i=1 j=1 x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger AIT - Mobility Department 121 / 291

131 Lineare Programmierung Transportproblem min n m c ij x ij i=1 j=1 m x ij = a i, i = 1,..., n j=1 x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger AIT - Mobility Department 121 / 291

132 Lineare Programmierung Transportproblem min n m c ij x ij i=1 j=1 m x ij = a i, i = 1,..., n j=1 n x ij = b j, j = 1,..., m i=1 x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger AIT - Mobility Department 121 / 291

133 Lineares Programm Definition Lineares Programm n min c i x i i=1 n a ij x i b j j = 1,..., m i=1 x i 0 i = 1,..., n Jakob Puchinger AIT - Mobility Department 122 / 291

134 Lineares Programm Zulässigkeitsbereich Für den Zulässigkeitsbereich P = { n i=1 a ijx i b j j = 1,..., m} gilt: P = LP unlösbar, keine zulässige Lösung existiert. P, aber inf{c T x x P} existiert nicht LP ist lösbar, aber es gibt keine optimale Lösung. Das LP ist unbeschränkt. P und das min{c T x x P} existiert LP lösbar und endliche optimale Lösung x existiert. Jakob Puchinger AIT - Mobility Department 123 / 291

135 Lineares Programm Polyeder Definition Eine Teilmenge P R n heißt Polyeder, falls es eine Matrix A R (m n) und einen Vektor b R m gibt mit P = {x R n Ax b}. Halbräume sind Polyeder. Die leere Menge ist ein Polyeder = {x 0 T x 1}. Der gesamte Raum ist ein Polyeder R n = {x 0 T x 1}. Jedes Polyeder P R n ist der Durchschnitt von endlich vielen Halbräumen. Definition Ein Polytop ist ein beschränktes Polyeder: P {x R n x B} für ein B > 0. Jakob Puchinger AIT - Mobility Department 124 / 291

136 Einblick in den Simplexalgorithmus Simplexalgorithmus wurde 1947 von George Dantzig entwickelt. Heute ist es möglich, lineare Programme mit mehreren Millionen Variablen und Nebenbedingungen zu lösen. Das kommerzielle ILOG CPLEX benötigt z. B. zur Lösung eines LPs mit Variablen und Nebenbedingungen 59,1 Sekunden (2.0 GHz P4). Es existieren worst-case Beispiele, bei denen der Simplexalgorithmus nicht in polynomieller Zeit läuft. Diese sind selten, Simplexalgorithmus ist einer der am weitesten verwendeten Algorithmen in der Praxis. Es gibt auch Polynomialzeitalgorithmen z.b.: die Ellipsoidmethode. Jakob Puchinger AIT - Mobility Department 125 / 291

137 Einblick in den Simplexalgorithmus x 1 + x 2 = 8 x 1 + 3x 2 = 12 2x 1 x 2 = x 1 + 2x 2 = 22 Jakob Puchinger AIT - Mobility Department 126 / 291

138 Einblick in den Simplexalgorithmus Mehr Details: VU Fortgeschrittene Algorithmen und Datenstrukturen R. Vanderbei. Linear Programming: Foundations and Extensions. Kluwer Jakob Puchinger AIT - Mobility Department 127 / 291

139 Ganzzahliges Lineares Programm Ganzzahliges Lineares Programm n min c i x i i=1 n a ij x i b j j = 1,..., m i=1 x i 0, x i ganzzahlig i = 1,..., n Jakob Puchinger AIT - Mobility Department 128 / 291

140 LP Relaxierung Relaxierung (Weglassen) der Ganzzahligkeitsbedingung Lineare Programme sind effizient lösbar Untere Schranke für das Ganzzahlige Lineare Programm Lösungswerte der Relaxierung können auf Lösung des Originalproblems hinweisen Jakob Puchinger AIT - Mobility Department 129 / 291

141 Branch and Bound Aufzählungsverfahren: Lösungsbaum entsteht zum Beispiel durch Tiefensuche Berechnung von unteren und oberen Schranken um Teile des Lösungsbaums abzuschneiden. Untere Schranke: LP Relaxierung Obere Schranke: Zulässige ganzzahlige Lösung Jakob Puchinger AIT - Mobility Department 130 / 291

142 Branch and Bound Lösung der LP Relaxierung im Wurzelknoten Sei x i Variable mit fraktionalem Wert x i. Verzweigung des Suchbaums in: x i x i und x i x i Jakob Puchinger AIT - Mobility Department 131 / 291

143 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Wir betrachten das ganzzahlige Programm max 7x 1 3x 2 4x 3 x 1 + 2x 2 + 3x 3 x 4 = 8 3x 1 + x 2 + x 3 x 5 = 5 x 1, x 2, x 3, x 4, x 5 0 x 1, x 2, x 3, x 4, x 5 Z Jakob Puchinger AIT - Mobility Department 132 / 291

144 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Die LP-Relaxierung liefert optimale Lösung x 3 = x 4 = x 5 = 0, x 1 = 2 5, x 2 = 19 5 mit Zielfunktionswert c = 71 5 (= 14, 2). Wir erhalten als obere Schranke 15. Jakob Puchinger AIT - Mobility Department 133 / 291

145 Branch and Bound für Ganzzahlige Optimierung P 0 U = c = 15 Jakob Puchinger AIT - Mobility Department 134 / 291

146 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Verzweigen nach Variable x 2 : P 1 = P 0 {x x 2 3} P 2 = P 0 {x x 2 4} P 1 : Nächstes Problem. Die Optimallösung der LP-Relaxierung LP 1 ist x 4 = x 5 = 0, x 1 = 1 2, x 2 = 2, x 3 = 1 2 und c = 29 2 (obere Schranke -15). Jakob Puchinger AIT - Mobility Department 135 / 291

147 Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 2 4 P 2 Jakob Puchinger AIT - Mobility Department 136 / 291

148 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound P 1 muss weiter zerlegt werden: P 3 = P 1 {x x 1 0} P 4 = P 1 {x x 1 1} Die aktiven Probleme sind: K = {P 2, P 3, P 4 }. Lösung von LP 3 liefert x 1 = x 5 = 0, x 2 = 3, x 3 = 2, x 4 = 4 und c = 17. P 3 ist gelöst bisher beste Lösung hat Wert 17. Jakob Puchinger AIT - Mobility Department 137 / 291

149 Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 2 4 P 2 x 1 0 x 1 1 U = 17 P 3 P 4 Jakob Puchinger AIT - Mobility Department 138 / 291

150 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Lösung von LP 4 liefert: x 4 = 0, x 1 = 1, x 2 = 3, x 3 = 1 3, x 5 = 4 3 und c = 52 3 = Obere Schranke ( 18) ist schlechter als die beste Lösung, damit ist auch P 4 gelöst. Jakob Puchinger AIT - Mobility Department 139 / 291

151 Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 2 4 P 2 U = 17 x 1 0 x 1 1 U = 17 P 3 c = 18 P 4 Jakob Puchinger AIT - Mobility Department 140 / 291

152 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Lösen von P 2 : LP-Relaxierung hat Optimum x 3 = x 5 = 0, x 1 = 1 3, x 2 = 4, x 4 = 1 3 und c = P 2 ist noch nicht gelöst, verzweigen: P 5 = P 2 {x x 1 0} P 6 = P 2 {x x 1 1} Jakob Puchinger AIT - Mobility Department 141 / 291

153 Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 1 0 x 2 4 P 2 U = 17 c = 15 x 1 0 x 1 1 x 1 1 U = 17 P 3 c = 18 P 4 P 5 P 6 Jakob Puchinger AIT - Mobility Department 142 / 291

154 Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Die Lösung von LP 5 liefert x 1 = x 3 = x 5 = 0, x 2 = 5, x 4 = 2 und c = 15. Dies ist eine neue beste Lösung mit Wert 15. P 5 ist gelöst. P 6 braucht nicht mehr betrachtet zu werden, da wegen LP 0 keine bessere Lösung als 15 möglich ist. Jakob Puchinger AIT - Mobility Department 143 / 291

155 Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 1 0 x 2 4 P 2 U = 17 c = 15 x 1 0 x 1 1 x 1 1 U = 17 P 3 c = 18 P 4 U = 15 P 5 c = 15 P 6 Jakob Puchinger AIT - Mobility Department 144 / 291

156 Branch and Bound Verschiedene Varianten: Selektion des nächsten Knoten Variablenselektion Wie werden Knoten aufgespalten Mögliche Probleme: zu lange Laufzeiten, zu viel Speicherplatz... Mehr Details: VU Fortgeschrittene Algorithmen und Datenstrukturen L. Wolsey. Integer Programming. Wiley Jakob Puchinger AIT - Mobility Department 145 / 291

157 Teil III: Exakte Verfahren 6 Einführung 7 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Kamm-Ungleichungen Kamm-Ungleichungen aus Blüten Gomory Mixed Integer Inequalities 8 Das Vehicle Routing Problem Capacitated Vehicle Routing Problem Branch-and-Cut für Capacitated Vehicle Routing 9 Vehicle Routing mit Zeitfenstern Modell Spaltengenereierung Branch-and-Price 10 Das Dial-a-Ride Problem Modell Branch-and-Cut Jakob Puchinger AIT - Mobility Department 146 / 291

158 Travelling Salesman Problem Gegeben: Vollständiger Graph K n = (V, E) mit Kantengewichten c R E. Gesucht: Tour minimalen Gewichts. Sei δ(v) die Menge aller zu v inzidenten Kanten und x(δ(v)) die Summe aller Werte x e, deren Kanten sich in δ(v) befinden. Touren besuchen jeden Knoten genau einmal: Anzahl der zu v inzidenten Kanten in einer Tour ist genau 2. Daraus folgen die Grad-Gleichungen: x(δ(v)) = 2 für alle v V Diese Gleichungen alleine genügen noch nicht, um Touren zu charakterisieren. Jakob Puchinger AIT - Mobility Department 147 / 291

159 Travelling Salesman Problem Eine Tour ist zusammenhängend. Sei beliebige Tour T, betrachte Knotenmenge W V und alle Kanten, die in W beginnen und außerhalb von W enden: Dann müssen davon mindestens zwei Kanten Teil von T sein. Dies führt zu Subtour-Eliminations-Ungleichungen: x(δ(w )) 2 für alle W V, W, W V Ein Schnitt δ(w ) einer Knotenmenge W V bezeichnet alle Kanten, die einen Endknoten in W, und einen Endknoten außerhalb von W besitzen. x(δ(w )) bezeichnet die Summe aller Werte x e, deren Kanten sich im Schnitt δ(w ) befinden. Jakob Puchinger AIT - Mobility Department 148 / 291

160 Travelling Salesman Problem n min c e x e e E x(δ(v)) = 2 für alle v V x(δ(w )) 2 für alle W V, W, W V 0 x e 1 für alle e E x e {0, 1} für alle e E Jakob Puchinger AIT - Mobility Department 149 / 291

161 Schnittebenenverfahren Cutting Plane Method Exponentiell viele Ungleichungen! Schnittebenenverfaren Grundidee Beginnne mit einer kleinen Teilmenge der Restriktionen und löse das resultierende LP. Prüfe ob Lösung für alle Restriktionen zulässig ist. Falls Ja : optimal Andernfalls finde Restriktion die von Lösung verletzt ist und füge sie zum LP hinzu. Iteriere bis keine Restriktionen mehr hinzugefügt werden müssen. Jakob Puchinger AIT - Mobility Department 150 / 291

162 Schnittebenenverfahren Cutting Plane Method Exponentiell viele Ungleichungen! Schnittebenenverfaren Grundidee Beginnne mit einer kleinen Teilmenge der Restriktionen und löse das resultierende LP. Prüfe ob Lösung für alle Restriktionen zulässig ist. Falls Ja : optimal Andernfalls finde Restriktion die von Lösung verletzt ist und füge sie zum LP hinzu. Iteriere bis keine Restriktionen mehr hinzugefügt werden müssen. Jakob Puchinger AIT - Mobility Department 150 / 291

163 Schnittebenverfahren Jakob Puchinger AIT - Mobility Department 151 / 291

Optimierungsverfahren in der Transportlogistik

Optimierungsverfahren in der Transportlogistik Optimierungsverfahren in der Transportlogistik Jakob Puchinger 1 1 Dynamic Transportation Systems, arsenal research Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 1 /

Mehr

Verbesserungsheuristiken

Verbesserungsheuristiken Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.

Mehr

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS) Konstruktions-Verbesserungsheuristiken Iterierte lokale Suche (ILS) Idee: 2-Phasen-Suche 1. Phase: Randomisierte Konstruktionsheuristik 2. Phase: Lokale Suche Beispiele: Multi-Start lokale Suche GRASP:

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

Heuristiken im Kontext von Scheduling

Heuristiken im Kontext von Scheduling Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35 Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Optimierungsverfahren in der Transportlogistik

Optimierungsverfahren in der Transportlogistik Optimierungsverfahren in der Transportlogistik Jakob Puchinger 1 1 Dynamic Transportation Systems, arsenal research Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 1 /

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents Betreut von: ao.univ.-prof. Dr. Günther R. Raidl ao.univ.-prof. Dr. Ulrich Pferschy 25. Jänner 2010

Mehr

Motivation. Problemstellung. Lösungsansätze. Fazit und Ausblick. Dipl. Wi.-Inf. Thomas Huth. Problemstellung. Lösungsansätze. Fazit und Ausblick

Motivation. Problemstellung. Lösungsansätze. Fazit und Ausblick. Dipl. Wi.-Inf. Thomas Huth. Problemstellung. Lösungsansätze. Fazit und Ausblick Dynamische Aspekte in der mehrperiodischen Tourenplanung Doktorandenkolloquium Sonnenberg, März M 2007 1 Motivation Dynamische Aspekte in der Tourenplanung werden zunehmend wichtiger Gründe dafür sind

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Fachhochschule Brandenburg Fachbereich Informatik und Medien Kolloquium zur Diplomarbeit Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Übersicht Darstellung

Mehr

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung Teil II Optimierung Gliederung 9 Einführung, Klassifizierung und Grundlagen 10 Lineare Optimierung 11 Ganzzahlige und kombinatorische Optimierung 12 Dynamische Optimierung Literatur: zu 10-12: Neumann,

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Evolutionärer Algorithmus zur Optimierung des Technikereinsatzes der Firma Miele und Cie. KG

Evolutionärer Algorithmus zur Optimierung des Technikereinsatzes der Firma Miele und Cie. KG Informatik Sabina El Haoum (geb. Puk) Evolutionärer Algorithmus zur Optimierung des Technikereinsatzes der Firma Miele und Cie. KG Diplomarbeit Universität Paderborn Fachbereich Wirtschaftswissenschaften

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

11. Übung zu Algorithmen I 6. Juli 2016 11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus 5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Computational Intelligence

Computational Intelligence Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE Seminararbeit GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE Simeon Andreev Institut für Theoretische Informatik Karlsruher Institut für Technologie (KIT) Inhaltsverzeichnis 1 Einleitung 3 1.1 Einführung...................................

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Dynamisches Routing in der Logistik

Dynamisches Routing in der Logistik Informatik, Angewandte Informatik, Technische Informationssysteme Dynamisches Routing in der Logistik Tobias Dimmel Dresden, 24.05.2012 Agenda 1. Begriffe 2. Traveling Salesman Problem 3. Ameisenalgorithmus

Mehr

Routen- & Tourenplanung

Routen- & Tourenplanung Prof. Dr.-Ing. Bernd NOCHE Mustafa GÜLLER, M.Sc. Routen- & Tourenplanung Lehrstuhl für Fabrikorganisation Technische Universität Dortmund Leonhard-Euler-Str. 5 44227 Dortmund Telefon: +49 (0) 231 755-5773

Mehr

Teil I. Heuristische Optimierungsverfahren 186.112, VU2. Arten von Optimierungsaufgaben. Einleitung

Teil I. Heuristische Optimierungsverfahren 186.112, VU2. Arten von Optimierungsaufgaben. Einleitung Heuristische Optimierungsverfahren 186.112, VU2 Zeit: jeweils Dienstag, 13:15 14:45 Uhr Ort: Seminarraum 186 Univ.-Prof. Dr. Günther Raidl (raidl@ads.tuwien.ac.at) Univ.-Ass. DI Andreas Chwatal (chwatal@ads.tuwien.ac.at)

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit: Vorlesung 5.5. VERBINDUNGSNETZWERKE Kommunikation zwischen den einzelnen Komponenten eines arallelrechners wird i.d.r. über ein Netzwerk organisiert. Dabei unterscheidet man zwei Klassen der Rechner: TOOLOGIE:

Mehr

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen Dr. Abebe Geletu Ilmenau University of Technology Department of Simulation and Optimal Processes

Mehr

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Survival of the Fittest Optimierung mittels Genetischer Algorithmen Übung zu Organic Computing Survival of the Fittest Optimierung mittels Genetischer Algorithmen Sabine Helwig Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Universität Erlangen-Nürnberg sabine.helwig@informatik.uni-erlangen.de

Mehr

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010 Lösungsverfahren für Ganzzahlige Optimierung Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) Fortgeschrittene Algorithmen und Datenstrukturen Arbeitsbereich für Algorithmen und Datenstrukturen Institut für

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick Grundlagen der Künstlichen Intelligenz 5. April 0 8. Suchalgorithmen: Lokale Suche Grundlagen der Künstlichen Intelligenz 8. Suchalgorithmen: Lokale Suche 8.1 Einleitung Malte Helmert Universität Basel

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Hauptseminar Repräsentationen für Optimierungsalgorithmen Stefan Bens Hauptseminar Dresden, 03.07.2008 Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2 Als Repräsentation bezeichnet man die Kodierung

Mehr

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem Gerold Jäger Martin-Luther-Universität Halle-Wittenberg (in Zusammenarbeit mit Paul Molitor) DFG-Projekt: Toleranzbasierte

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

PROSEMINAR ONLINE ALGORITHMEN

PROSEMINAR ONLINE ALGORITHMEN PROSEMINAR ONLINE ALGORITHMEN im Wintersemester 2000/2001 Prof. Dr. Rolf Klein, Dr. Elmar Langetepe, Dipl. Inform. Thomas Kamphans (Betreuer) Vortrag vom 15.11.2000 von Jan Schmitt Thema : Finden eines

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

1. Allgemeine Hinweise Alexander.Martin.Koenig@TU-Clausthal.de

1. Allgemeine Hinweise Alexander.Martin.Koenig@TU-Clausthal.de 1. Allgemeine Hinweise Alexander.Martin.Koenig@TU-Clausthal.de Man sollte eine Excel-Tabelle immer so übersichtlich wie möglich halten. Dazu empfiehlt es sich, alle benötigten Daten, Konstanten und Messwerte

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Überblick. Motivation. Kap. 7.6 Verbesserungsheuristiken. Nachbarschaft einer Lösung Einfache lokale Suche

Überblick. Motivation. Kap. 7.6 Verbesserungsheuristiken. Nachbarschaft einer Lösung Einfache lokale Suche Kap. 7.6 Verbesserungsheuristiken (letzte VO) Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 7. VO DAP SS 008 17. Juli 008 Überblick Verbesserungsheuristiken

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

TEILWEISE ASYNCHRONE ALGORITHMEN

TEILWEISE ASYNCHRONE ALGORITHMEN TEILWEISE ASYNCHRONE ALGORITHMEN FRANK LANGBEIN Literatur: D. Berseas, J. Tsitsilis: Parallel and distributed computatoin, pp. 48 489 URI: http://www.langbein.org/research/parallel/ Modell teilweiser asynchroner

Mehr

Kap. 7.6 Verbesserungsheuristiken (letzte VO)

Kap. 7.6 Verbesserungsheuristiken (letzte VO) Kap. 7.6 Verbesserungsheuristiken (letzte VO) Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 25. VO DAP2 SS 2009 23. Juli 2009 1 Überblick Verbesserungsheuristiken

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Logistik: Rundreisen und Touren

Logistik: Rundreisen und Touren Logistik: Rundreisen und Touren 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Von Universitätsprofessor Dr. Wolfgang

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Lineare Programmierung

Lineare Programmierung Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Organic Computing: Peer-to-Peer-Netzwerke

Organic Computing: Peer-to-Peer-Netzwerke Organic Computing Peer-to-Peer-Netzwerke Rolf Wanka Sommersemester 2015 rwanka@cs.fau.de Inhalte Kurze Geschichte der Peer-to-Peer- Netzwerke Das Internet: Unter dem Overlay Die ersten Peer-to-Peer-Netzwerke

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Berechnung von Abständen

Berechnung von Abständen 3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.

Mehr

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr