Optimierungsverfahren in der Transportlogistik

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DIPLOMARBEIT. Titel der Diplomarbeit. Anwendung eines Standardsoftwarepaketes für die Lösung von Tourenplanungsproblemen. Verfasserin.

DIPLOMARBEIT. Titel der Diplomarbeit. Anwendung eines Standardsoftwarepaketes für die Lösung von Tourenplanungsproblemen. Verfasserin. DIPLOMARBEIT Titel der Diplomarbeit Anwendung eines Standardsoftwarepaketes für die Lösung von Tourenplanungsproblemen Verfasserin Tirza Hizgilov angestrebter akademischer Grad: Magistra der Sozial- und

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

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

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

Approximations-Algorithmen

Approximations-Algorithmen Approximations-Algorithmen Institut für Computergraphik und Algorithmen Abteilung für Algorithmen und Datenstrukturen 186.102 Sommersemester 2004, 2h VU Motivation: Bereits viele einfache Optimierungsprobleme

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

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

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

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

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

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

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

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

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

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

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

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen zur Lösung kombinatorischer Optimierungsprobleme aus dem Bereich Produktion und Logistik S. Häckel, S. Lemke TU Chemnitz Fakultät für Wirtschaftswissenschaften Professur für Produktionswirtschaft

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

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

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft Lars Melchior Theoretische Grundlagen Theoretische Grundlagen Genetik Genetische Algorithmen NK

Mehr

Dynamische Tourenplanung und -steuerung

Dynamische Tourenplanung und -steuerung Dynamische Tourenplanung und -steuerung Zur Erlangung des akademischen Grades eines Doktors der Wirtschaftswissenschaften (Dr. rer. pol.) der Wirtschaftswissenschaftlichen Fakultät der Universität Passau

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

Wissensbasierte Systeme

Wissensbasierte Systeme WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?

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

Algorithmische Methoden zur Netzwerkanalyse

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

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

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298 Kapitel 1 Einführung Peter Becker (H-BRS) Operations Research I Sommersemester 2015 14 / 298 Inhalt Inhalt 1 Einführung Was ist Operations Research? Planungsprozess im OR Peter Becker (H-BRS) Operations

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

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

Entwicklung eines Planungswerkzeuges für die Tourenplanung von Außendienstmitarbeitern

Entwicklung eines Planungswerkzeuges für die Tourenplanung von Außendienstmitarbeitern Entwicklung eines Planungswerkzeuges für die Tourenplanung von Außendienstmitarbeitern Günter KIECHLE, Karl DÖRNER und Andreas WAGNER Zusammenfassung Im vorliegenden Beitrag wird ein Lösungsverfahren für

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

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

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

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

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

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Minimierung von Fahrzeiten und Treibhausgasen im Holztransport

Minimierung von Fahrzeiten und Treibhausgasen im Holztransport Minimierung von Fahrzeiten und Treibhausgasen im Holztransport Universität für Bodenkultur Wien Institut für Produktionswirtschaft und Logistik Vergleich eines matheuristischen Lösungsverfahrens mit einer

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

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

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Schwierige Probleme in der Informatik Informationen für die Lehrperson Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

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

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

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL 12 Synthese Eingebetteter Systeme Sommersemester 2011 16 Abbildung von Anwendungen: Optimierung mit DOL 2011/06/24 Michael Engel Informatik 12 TU Dortmund unter Verwendung von Foliensätzen von Prof. Lothar

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

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

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

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

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002. Aufgabe 7

Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002. Aufgabe 7 Rheinisch Westfälische Technische Hochschule Institut für Geometrie und Praktische Mathematik Mathematisches Praktikum (MaPra) SS 2002 Prof. Dr. Wolfgang Dahmen Dr. Karl Heinz Brakhage Aufgabe 7 Bearbeitungszeit:

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

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

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

Lösung des Travelling Salesman Problem mit Zeitfenstern mittels Heuristiken im Rahmen einer dynamischen Nachlieferung

Lösung des Travelling Salesman Problem mit Zeitfenstern mittels Heuristiken im Rahmen einer dynamischen Nachlieferung Lösung des Travelling Salesman Problem mit Zeitfenstern mittels Heuristiken im Rahmen einer dynamischen Nachlieferung Bachelorthesis Bergische Universität Wuppertal Fachbereich C - Mathematik und Naturwissenschaften

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

Seminararbeit zum Thema Genetische Algorithmen

Seminararbeit zum Thema Genetische Algorithmen Seminararbeit zum Thema Genetische Algorithmen Seminar in Intelligent Management Models in Transportation und Logistics am Institut für Informatik-Systeme Lehrstuhl Verkehrsinformatik Univ.-Prof. Dr.-Ing.

Mehr

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen 5.1 Lernen mit Entscheidungsbäumen Falls zum Beispiel A = {gelb, rot, blau} R 2 und B = {0, 1}, so definiert der folgende Entscheidungsbaum eine Hypothese H : A B (wobei der Attributvektor aus A mit x

Mehr

Wasserfall-Ansätze zur Bildsegmentierung

Wasserfall-Ansätze zur Bildsegmentierung Wasserfall-Ansätze zur Bildsegmentierung von Philipp Jester Seminar: Bildsegmentierung und Computer Vision 16.01.2006 Überblick 1. Problemstellung 2. Wiederholung: Wasserscheiden-Ansätze 3. Der Wasserfall-Ansatz

Mehr

Prof. Dr. J. H. -Thun. vorlesung, 16.03.2011. Antrittsv vorlesung, 16.03.2011. Prof. Dr. J. H. -Thun. Operations Strategy

Prof. Dr. J. H. -Thun. vorlesung, 16.03.2011. Antrittsv vorlesung, 16.03.2011. Prof. Dr. J. H. -Thun. Operations Strategy vorlesung,.0.0 Operations Strategy Bates et al. (99): a design or blueprint for the manufacturing function that frames the acquisition, development and elimination of manufacturing capabilities far into

Mehr

Klassische Themen der Computerwissenschaft Constraint Programming: Exercises. Gruppe: 100. Inhaltsverzeichnis

Klassische Themen der Computerwissenschaft Constraint Programming: Exercises. Gruppe: 100. Inhaltsverzeichnis Klassische Themen der Computerwissenschaft Constraint Programming: Exercises Gruppe: 100 Inhaltsverzeichnis 1 Exercise 1 1 2 Exercise 2 2 2.1 Backtracking........................... 2 2.2 Forward checking.........................

Mehr

Fully dynamic algorithms for the single source shortest path problem.

Fully dynamic algorithms for the single source shortest path problem. Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem

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

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Approximation in Batch and Multiprocessor Scheduling

Approximation in Batch and Multiprocessor Scheduling Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs

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

Evolutionäre Algorithmen Software

Evolutionäre Algorithmen Software Evolutionäre Algorithmen Software Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung

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

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung 1 Einleitung 1.1 Motivation und Zielsetzung der Untersuchung Obgleich Tourenplanungsprobleme zu den am häufigsten untersuchten Problemstellungen des Operations Research zählen, konzentriert sich der Großteil

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Entwicklung und Analyse eines Verfahrens zur effizienten Lösung des Tourenplanungs- und Laderaumoptimierungsproblems.

Entwicklung und Analyse eines Verfahrens zur effizienten Lösung des Tourenplanungs- und Laderaumoptimierungsproblems. Entwicklung und Analyse eines Verfahrens zur effizienten Lösung des Tourenplanungs- und Laderaumoptimierungsproblems Adalbert Dawid Algorithm Engineering Report TR08-1-007 Dez. 2008 ISSN 1864-4503 Fakultät

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

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen 9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam

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

Ein Simulated Annealing-Verfahren für das Standardproblem der Tourenplanung mit Zeitfensterrestriktionen

Ein Simulated Annealing-Verfahren für das Standardproblem der Tourenplanung mit Zeitfensterrestriktionen Ein Simulated Annealing-Verfahren für das Standardproblem der Tourenplanung mit Zeitfensterrestriktionen Jörg Homberger und Hermann Gehring Fachbereich Wirtschaftswissenschaft, FernUniversität Hagen, BR

Mehr