Optimierungsverfahren in der Transportlogistik
|
|
- Ingeborg Baumann
- vor 8 Jahren
- Abrufe
Transkript
1 Optimierungsverfahren in der Transportlogistik Jakob Puchinger 1 1 Dynamic Transportation Systems, arsenal research Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 1 / 247
2 Organisatorisches Dienstags 17:30-19:00 Ausnahme 26.05: 18:00-19:30 3 Übungstermine mit Anwesenheitspflicht Übungsblätter und kurze Präsentationen Mündliche Prüfung: Stoff der Vorlesung und Übung Termin: Dienstag und nach Vereinbarung Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 2 / 247
3 Organisatorisches Welche der folgende LVAs haben Sie besucht? Heuristische Optimierung Fortgeschrittene Algorithmen Algorithmen auf Graphen Operations Research Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 3 / 247
4 Teil I Einführung Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 4 / 247
5 Teil I: Einführung Logistik 1 Logistik 2 Lineare Programmierung Einführung Definitionen Simplexalgorithmus Netzwerkflussproblem 3 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Definitionen Branch and Bound 4 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarshcaftssuche Evolutionäre Algorithmen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 5 / 247
6 Logistik 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 6 / 247
7 Logistik 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 7 / 247
8 Logistik 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 8 / 247
9 Logistik Gestaltung der Transportnetze Festlegung der Anzahl, Standorte und Funktion der Knoten des Netzwerks. Facility location problem p-median problem Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 9 / 247
10 Logistik Planung der Transportwege und Transportmittel Transportation problem Minimum cost flow problem Multicommodity flow problems [ς,c] f 3 [3,4] v 1 v 2 3 [5,2] [3,2] 3 [2,6] s [1,1] t b(s)=5 2 [3,4] [7,3] 2 b(t)= 5 v 3 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 10 / 247
11 Logistik Planung des Fahrzeugeinsatzes und Tourenplanung Travelling salesman problem Vehicle routing problem Pick-up-and-delivery problem Dial-a-ride problem Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 11 / 247
12 Logistik Transportlogistik bei arsenal research Dynamic Transportation Systems: Multimodale Verkehrsströme Verkehrszustandserfassung: Fleet, GoSmart Verwendung der Verkehrsinformationen in der Transportlogistik Dynamische Tourenplanung Standortplanung Abweichungsmanagement Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 12 / 247
13 Logistik Transportlogistik bei arsenal research Verkehr Aktuelle Verkehrslage Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 13 / 247
14 Teil I: Einführung Lineare Programmierung 1 Logistik 2 Lineare Programmierung Einführung Definitionen Simplexalgorithmus Netzwerkflussproblem 3 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Definitionen Branch and Bound 4 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarshcaftssuche Evolutionäre Algorithmen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 14 / 247
15 Lineare Programmierung Einführung 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 15 / 247
16 Lineare Programmierung Lineare Programmierung Einführung Transportproblem min Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
17 Lineare Programmierung Lineare Programmierung Einführung Transportproblem min c ij Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
18 Lineare Programmierung Lineare Programmierung Einführung Transportproblem min c ij x ij x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
19 Lineare Programmierung Lineare Programmierung Einführung Transportproblem min n m c ij x ij i=1 j=1 x ij 0, i = 1,... n, j = 1,..., m Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
20 Lineare Programmierung Lineare Programmierung Einführung 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
21 Lineare Programmierung Lineare Programmierung Einführung 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 16 / 247
22 Lineare Programmierung Definitionen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 17 / 247
23 Lineare Programmierung Definitionen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 18 / 247
24 Lineare Programmierung Definitionen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 19 / 247
25 Polytop Beispiel Lineare Programmierung Definitionen Wir betrachten das Polytop P = {( ) 0, 1 ( ) 1, 0 ( )} 1 1 Die Darstellung durch Ungleichungen ist graphisch leicht ablesbar: {( ) } x P = R 2 x 1, y 1, x + y 1 y Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 20 / 247
26 Lineare Programmierung Definitionen Polyeder Seitenflächen Definition F P heißt Seitenfläche von P, falls es eine für P gültige Ungleichung a T x a 0 gibt, so dass F = {x P a T x = a 0 }. F ist echte Seitenfläche falls F P. Definition Eine Ecke eines Polyeders P ist eine einelementige Seitenfläche von P. Eine Facette von P ist eine maximale nicht leere echte Seitenfläche von P. Für jede Facette F von P gilt dim(f) = dim(p) 1. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 21 / 247
27 Lineare Programmierung Polyeder Seitenflächen Definitionen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 22 / 247
28 Lineare Programmierung Simplexalgorithmus 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 23 / 247
29 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Beispiel max 3x 1 + 2x 2 x 1 + 3x 2 12 x 1 + x 2 8 2x 1 x 2 10 x 1, x 2 0 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 24 / 247
30 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Schlupfvariablen max 3x 1 + 2x 2 x 1 + 3x 2 + x 3 = 12 x 1 + x 2 + x 4 = 8 2x 1 x 2 + x 5 = 10 x 1, x 2, x 3, x 4, x 5 0 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 25 / 247
31 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Simplextableau max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 26 / 247
32 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Strategie der Simplexmethode Beginne an einer Ecke des Lösungspolyeders. Wandere von dieser entlang einer Kante zu einer nächsten Ecke, die den Zielfunktionswert auf jeden Fall verbessert. Wiederhole Vorgang so lange noch Verbesserung möglich ist. Simplexalgorithmus D. h. wir wandern von einer Lösung x 1, x 2, x 3, x 4, x 5 zu einer neuen Lösung x 1, x 2, x 3, x 4, x 5, so dass gilt 3 x x 2 > 3x 1 + 2x 2. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 27 / 247
33 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Startlösung Startlösung : x 1 = x 2 = 0. Werte der Schlupfvariablen: x 3 = 12, x 4 = 8, x 5 = 10 Zielfunktionswert z = 0 Wie erhalten wir die nächste, bessere Lösung? Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 28 / 247
34 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung x 1 auf 1 erhöhen, ergäbe z = 3. x 1 auf 2 erhöhen, ergäbe z = 6. x 1 auf 6 erhöhen, würde x 5 = 2 erfordern: nicht erlaubt. Wie weit dürfen wir x 1 erhöhen ohne eine unzulässige Lösung zu erhalten? Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 29 / 247
35 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung Erste Gleichung ergibt keine Einschränkung für x 1. Zweite Gleichung ergibt x 1 8. Dritte Gleichung ergibt x 1 5. Wir erhöhen x 1 auf den größtmöglichen Wert: 5. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 30 / 247
36 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung Wir betrachten diejenige Gleichung für die die Schranke erreicht wurde. Diese lautet nach Umformung: x 1 = x x 5 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 31 / 247
37 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Erste Simplex-Iteration Ersetzen von x 1 in den anderen Gleichungen: z = x x 5 x 1 = x x 5 x 3 = x x 5 x 4 = x x 5 Lösungswerte einfach ablesen: x 1 = 5, x 2 = 0, x 3 = 17, x 4 = 3, x 5 = 0 mit z = 15. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 32 / 247
38 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x5 x 1 = x x5 x 3 = x x5 x 4 = x x5 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Zweite Iteration Nur eine Erhöhung von x 2 kann die Zielfunktion verbessern. Wie weit können wir x 2 nun erhöhen? Die Bedingung x 1 0 ergibt keine Einschränkung für x 2. Aus x 3 0 folgt x Bedingung x 4 0 ergibt x 2 2. Erhöhen von x 2 auf 2, x 4 wird 0. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 33 / 247
39 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Zweite Iteration Wie vorher: System so umschreiben, dass sich alle positiven Variablen (die sogenannten Basisvariablen) auf der linken Seite befinden. Bei jedem Austausch wandert eine neue Variable, die vorher den Wert 0 hatte, in die Basis, während eine Variable, die vorher ungleich 0 war, den Wert 0 erhält, also zur Nicht-Basisvariable wird. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 34 / 247
40 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x5 x 1 = x x5 x 3 = x x5 x 4 = x x5 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Zweite Iteration Die dritte Gleichung gehört zur ausscheidenden Basisvariable, diese wird zu: x 2 = x x 5 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 35 / 247
41 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Zweite Simplex-Iteration Ersetzen von x 2 : z = x x 5 x 1 = x x 5 x 2 = x x 5 x 3 = x x 5 Nun können wir die Werte der Lösung wieder aus dem Tableau ablesen. Unsere neue Lösung sieht folgendermaßen aus: x 1 = 6, x 2 = 2, x 3 = 12, x 4 = 0, x 5 = 0, mit z = 22. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 36 / 247
42 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x5 x 1 = x x5 x 2 = x x5 x 3 = x x5 Simplexalgorithmus Zweite Iteration Wieder Variable erhöhen, die zu einer Erhöhung der Zielfunktion führt? Jede Erhöhung einer Variable führt zu einer Verminderung des aktuellen Zielfunktionswertes. Die bisher erreichte Lösung mit Zielfunktionswert 22 ist optimal, da wir wissen, dass x 4 und x 5 nicht-negativ sein müssen. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 37 / 247
43 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Definition Die Variablen die auf der linken Seite unserer Gleichungssysteme auftreten werden Basisvariablen genannt, während die anderen Nicht-Basisvariablen heißen. Die Lösungen, die wir durch Null setzen der Nicht-Basisvariablen erhalten heißen Basislösungen, die auch den Ecken des Polyeders entsprechen. Generell: Der Simplexalgorithmus beginnt mit einer zulässigen Basislösung, und wandert von einer Basislösung zur nächsten die einen gleichen oder besseren Zielfunktionswert aufweist. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 38 / 247
44 Lineare Programmierung Simplexalgorithmus 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 39 / 247
45 Lineare Programmierung Simplexalgorithmus Einblick in den Simplexalgorithmus Mehr Details: VU Fortgeschrittene Algorithmen und Datenstrukturen R. Vanderbei. Linear Programming: Foundations and Extensions. Kluwer Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 40 / 247
46 Lineare Programmierung Netzwerkflussproblem Netzwerkflussproblem Verallgemeinerung des Transportproblems Angebotsknoten, Zwischenknoten, Bedarfsknoten Versandorte, Umschlagpunkte, Empfangsorte Fluss repräsentiert Menge der transportierten Waren Ziel: Kosten minimieren Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 41 / 247
47 Lineare Programmierung Netzwerkflussproblem Modell Netzwerkflussproblem Gegeben ein Graph G(V, E) mit Kantenkosten c ij und Kapazitäten d ij min c ij x ij (i,j) E x ij x ji = b i i V j:(i,j) E j:(j,i) E 0 x ij d ij (i, j) A Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 42 / 247
48 Lineare Programmierung Netzwerkflussproblem Lösungsverfahren Cycle Cancelling Algorithm Successive Shortest Path Algorithm Netzwerksimplex Primal/Dual Verfahren VU Algorithmen auf Graphen Ahuja, Magnanti, Orlin. Network Flows Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 43 / 247
49 Lineare Programmierung Netzwerkflussproblem Mehrgüter Netzwerkflussproblem Multi-commodity flow problems Darauf basierende Modelle werden in vielen Bereichen angewandt Im Gegensatz zum Transportproblem und zum Netzwerkflussproblem besitzen solche Modelle nicht die Ganzzahligkeitseigenschaft. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 44 / 247
50 Lineare Programmierung Netzwerkflussproblem Mehrgüter Netzwerkflussproblem - Modell Gegeben k = 1,..., K Güter. j:(i,j) E x k ij K k=1 j:(j,i) E min K k=1 (i,j) E c k ij x k ij x k ij d ij, (i, j) E x k ji = b k i, i V, k = 1,..., K 0 x k ij d k ij, (i, j) A k = 1,..., K Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 45 / 247
51 Teil I: Einführung Ganzzahlige Lineare Programmierung 1 Logistik 2 Lineare Programmierung Einführung Definitionen Simplexalgorithmus Netzwerkflussproblem 3 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Definitionen Branch and Bound 4 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarshcaftssuche Evolutionäre Algorithmen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 46 / 247
52 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Travelling Salesman Problem Gegeben: Vollständiger Graph K n = (V, E) mit Kantengewichten c R E. Gesucht: Tour minimalen Gewichts. Zulässigen Lösungen: Menge aller Touren in K n. Variablen: Kanten in K n. Jeder Tour entspricht ein 0/1-Vektor x R E und umgekehrt. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 47 / 247
53 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 48 / 247
54 Ganzzahlige Lineare Programmierung Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 49 / 247
55 Ganzzahlige Lineare Programmierung Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 50 / 247
56 Ganzzahlige Lineare Programmierung Definitionen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 51 / 247
57 LP Relaxierung Ganzzahlige Lineare Programmierung Definitionen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 52 / 247
58 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 53 / 247
59 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 54 / 247
60 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 55 / 247
61 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 56 / 247
62 Ganzzahlige Lineare Programmierung Branch and Bound Branch and Bound für Ganzzahlige Optimierung P 0 U = c = 15 Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 57 / 247
63 Ganzzahlige Lineare Programmierung Branch and Bound 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 und c = 29 2 x 4 = x 5 = 0, x 1 = 1 2, x 2 = 2, x 3 = 1 2 (obere Schranke -15). Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 58 / 247
64 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 59 / 247
65 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 60 / 247
66 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 61 / 247
67 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 62 / 247
68 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 63 / 247
69 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 64 / 247
70 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 65 / 247
71 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 66 / 247
72 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 67 / 247
73 Ganzzahlige Lineare Programmierung Branch and Bound 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 68 / 247
74 Teil I: Einführung Lokale Suche und Metaheuristiken 1 Logistik 2 Lineare Programmierung Einführung Definitionen Simplexalgorithmus Netzwerkflussproblem 3 Ganzzahlige Lineare Programmierung Travelling Salesman Problem Definitionen Branch and Bound 4 Lokale Suche und Metaheuristiken Lokale Suche Variable Nachbarshcaftssuche Evolutionäre Algorithmen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 69 / 247
75 Lokale Suche und Metaheuristiken 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 70 / 247
76 Heuristiken Lokale Suche und Metaheuristiken 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 71 / 247
77 Lokale Suche und Metaheuristiken Metaheuristiken Verbesserungsheuristiken liefern meistens nur lokale Optima. Schwere Probleme haben aber meistens viele lokale Optima die nicht global optimal sind. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 72 / 247
78 Metaheuristiken Lokale Suche und Metaheuristiken Metaheuristiken sind Verfahren die lokalen Optima entwischen können. Einige Metaheuristiken: Variable Neighborhood Search Very Large Neighborhood Search Tabu Suche Ant Colony Optimization Evolutionäre Algorithmen Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 73 / 247
79 Lokale Suche und Metaheuristiken Einfache Lokale Suche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 74 / 247
80 Lokale Suche und Metaheuristiken Lokale Suche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 75 / 247
81 Lokale Suche und Metaheuristiken Nachbarschaftsstruktur Lokale Suche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 76 / 247
82 Lokale Suche und Metaheuristiken Lokale Suche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 77 / 247
83 Lokale Suche und Metaheuristiken Variable Neighborhood Search Variable Nachbarshcaftssuche (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 (arsenal research) Optimierungsverfahren in der Transportlogistik 78 / 247
84 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood Descent (VND) Nachbarschaftsstrukturen N 1,..., N lmax werden systematisch gewechselt. Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 79 / 247
85 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 80 / 247
86 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 80 / 247
87 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 80 / 247
88 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 81 / 247
89 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 81 / 247
90 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 82 / 247
91 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 83 / 247
92 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 83 / 247
93 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 83 / 247
94 Lokale Suche und Metaheuristiken Variable Nachbarshcaftssuche General Variable Neighborhood 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 84 / 247
95 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 85 / 247
96 Lokale Suche und Metaheuristiken Prinzipieller Aufbau eines EAs Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 86 / 247
97 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 87 / 247
98 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 88 / 247
99 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 89 / 247
100 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 90 / 247
101 Lokale Suche und Metaheuristiken Evolutionäre Algorithmen 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 Beispiel: Lokale Optimierung vor Fitneßberechnung Vor der Fitneßberechnung für ein Individuum: einige Schritte einer lokalen Suche durchführen Derartige hybride Methoden werden auch memetische Algorithmen genannt. In der Praxis oft sehr erfolgreich! Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 91 / 247
102 Mehr Informationen Lokale Suche und Metaheuristiken Evolutionäre Algorithmen VU Heuristische Optimierungsverfahren F. W. Glover, G. A. Kochenberger: Handbook of Metaheuristics, Kluwer Academic Publishers, 2003 (Umfassendes, neueres Standardwerk zu Metaheuristiken) Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 92 / 247
103 Teil II Exakte Verfahren Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 93 / 247
104 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 94 / 247
105 Travelling Salesman Problem Teil II: Exakte Verfahren 5 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Kamm-Ungleichungen Kamm-Ungleichungen aus Blüten Gomory Mixed Integer Inequalities 6 Das Vehicle Routing Problem Capacitated Vehicle Routing Problem Branch-and-Cut für Capacitated Vehicle Routing 7 Vehicle Routing mit Zeitfenstern Modell Spaltengenereierung Branch-and-Price Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 95 / 247
106 Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 96 / 247
107 Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 97 / 247
108 Travelling Salesman Problem 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 98 / 247
109 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 99 / 247
110 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut 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 (arsenal research) Optimierungsverfahren in der Transportlogistik 99 / 247
111 Schnittebenverfahren Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 100 / 247
112 Travelling Salesman Problem Schnittebenenverfahren Schnittebenenverfahren und Branch-and-Cut Wir betrachten das allgemeine ganzzahliges Optimierungsproblem: min c T x unter der Nebenbedingung x S S ist eine endliche Teilmenge von R n und c R n. Schnittebenenverfahren Wähle Ax b gültig für alle x S P = {x Ax b} while P do Finde x P welches c T x minimiert if x S then return x else Finde Ungleichungen A x b so dass S {x A x b} und A x > b P = P {x A x b } return S = Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 101 / 247
113 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Beschränktes Schnittebenenverfahren Beschränktes Schnittebenenverfahren Wähle Ax b gültig für alle x S P = {x Ax b} while P do Finde x P das c T x minimiert if x / S then if FINDCUTS(S, x ) findet Ungleichungen A x b then P = P {x A x b } else return P und x else return P und x return S = FINDCUTS(S, x ) findet nicht alle verletzten Schnittebenen. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 102 / 247
114 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Branch-and-Cut Beschränktes Schnittebenenverfahren liefert Lösung für Relaxierung. Branch-and-Bound mit Schnittebeneverfahren kombinieren: Branch-and-Cut Die einzelnen Teilprobleme werden mittels beschränktem Schnittebenenverfahren gelöst. Wenn man dort nicht mehr weiterkommt teilt man die Probleme auf. Jedes der neuen Teilprobleme wird wieder mit dem beschränkten Schnittebenenverfahren gelöst. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 103 / 247
115 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Branch-and-Cut Idealerweise gibt es bei Branch-and-Cut Verfahren einen relativ kleinen Branch-and-Bound Baum, während dieser bei Branch-and-Bound typischerweise groß ist. Der Erfolg von Branch-and-Cut Algorithmen beruht auf 1 der Verwendung guter LP-Relaxierungen 2 schnellen Separationsalgorithmen 3 zahlreichen strategischen und algorithmischen Tricks Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 104 / 247
116 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Subtour-Eliminations-Ungleichungen Finden verletzter Subtour-Eliminations-Ungleichungen Gegeben eine Lösung x eines relaxierten TSP Suche einen minimalen Schnitt x (δ(s)) Wenn x (δ(s)) < 2 verletzte Ungleichung gefunden Ansonsten ist x optimale Lösung der LP-Relaxierung des TSP Beschränktes Schnittebenenverfahren. Warum? Subtour-Eliminations-Ungleichungen berücksichtigen Ganzzahligkeit nicht. Weitere Schnittebenen, die die Ganzzahligkeit erzwingen, müssten noch hinzugefügt werden. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 105 / 247
117 Travelling Salesman Problem Schnittebenenverfahren und Branch-and-Cut Subtour-Eliminations-Ungleichungen Finden verletzter Subtour-Eliminations-Ungleichungen Gegeben eine Lösung x eines relaxierten TSP Suche einen minimalen Schnitt x (δ(s)) Wenn x (δ(s)) < 2 verletzte Ungleichung gefunden Ansonsten ist x optimale Lösung der LP-Relaxierung des TSP Beschränktes Schnittebenenverfahren. Warum? Subtour-Eliminations-Ungleichungen berücksichtigen Ganzzahligkeit nicht. Weitere Schnittebenen, die die Ganzzahligkeit erzwingen, müssten noch hinzugefügt werden. Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 105 / 247
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 /
MehrDie Verbindung von Linearer Programmierung und Graphentheorie
Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der
Mehr3. Grundlagen der Linearen Programmierung
3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations
MehrBestimmung 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,
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrSchranken für zulässige Lösungen
Schranken für zulässige Lösungen Satz 5.9 Gegeben seien primales und duales LP gemäß der asymmetrischen Form der Dualität. Wenn x eine zulässige Lösung des primalen Programms und u eine zulässige Lösung
MehrAnmerkungen 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
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrInformatik-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
MehrOPERATIONS-RESEARCH (OR)
OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:
Mehr4. Dynamische Optimierung
4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrLineare 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
Mehr3.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
MehrGrundlagen 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
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrBabeș-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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrOptimierung und Simulation ökonomischer Problemlagen privater Haushalte 3. Vorlesung
Optimierung und Simulation ökonomischer Problemlagen privater Haushalte 3. Vorlesung Rainer Hufnagel / Laura Wahrig 2006 Diese Woche LO - Sensitivitätsanalyse Simulation Beispiel Differenzengleichungen
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrAlgorithmen 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
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrLineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Einführung Standard- und Schlupfformen Simplex Algorithmus Matthias Zwicker Universität Bern Frühling 2009 2 Beispiel: Wahlkampf Ziel: mit möglichst wenig Werbung eine gewisse
MehrSuche 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:
MehrOptimierung. Optimierung. Vorlesung 7 Lineare Programmierung II. 2013 Thomas Brox, Fabian Kuhn
Optimierung Vorlesung 7 Lineare Programmierung II 1 Lineare Programme Lineares Programm: Lineare Zielfunktion Lineare Nebenbedingungen (Gleichungen oder Ungleichungen) Spezialfall der konvexen Optimierung
MehrV 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,
Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen
MehrEntscheidungsbä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
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrTeil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrS=[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
MehrOptimierung für Nichtmathematiker
Optimierung für Nichtmathematiker Typische Prüfungsfragen Die folgenden Fragen dienen lediglich der Orientierung und müssen nicht den tatsächlichen Prüfungsfragen entsprechen. Auch Erkenntnisse aus den
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrErwin 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Überblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
Mehr17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014
17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrLernmaterial für die Fernuni Hagen effizient und prüfungsnah
Lernmaterial für die Fernuni Hagen effizient und prüfungsnah www.schema-f-hagen.de Sie erhalten hier einen Einblick in die Dokumente Aufgaben und Lösungen sowie Erläuterungen Beim Kauf erhalten Sie zudem
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrLINGO: Eine kleine Einführung
LINGO: Eine kleine Einführung Jun.-Prof.Dr. T. Nieberg Lineare und Ganzzahlige Optimierung, WS 2009/10 LINDO/LINGO ist ein Software-Paket, mit dessen Hilfe (ganzzahlige) lineare Programme schnell und einfach
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrPraktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben
Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren
MehrTangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:
Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung
MehrLiteratur. 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,
Mehr3. LINEARE GLEICHUNGSSYSTEME
176 3. LINEARE GLEICHUNGSSYSTEME 90 Vitamin-C-Gehalt verschiedener Säfte 18,0 mg 35,0 mg 12,5 mg 1. a) 100 ml + 50 ml + 50 ml = 41,75 mg 100 ml 100 ml 100 ml b) : Menge an Kirschsaft in ml y: Menge an
MehrTeil 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,
MehrDas große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten
Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrAlgorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.
Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrBinärdarstellung von Fliesskommazahlen
Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M
MehrAlgorithmentheorie. 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
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrRechnerische 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
MehrAnwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht
Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht Beispiele wirtschaftsmathematischer Modellierung Lehrerfortbildung, Speyer, Juni 2004-1- Beispiele wirtschaftsmathematischer Modellierung
MehrDas 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
MehrApproximation 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
Mehr3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung
32KAPITEL 3. NP-SCHWIERIGE KOMBINATORISCHE OPTIMIERUNGSPROBLEME n Anzahl der Ungleichungen 3 8 4 20 5 40 6 910 7 87.472 8 >488.602.996 Tabelle 3.1: Anzahl der Ungleichungen des LOP-Polytops für n 8 3.4
MehrSimplex-Umformung für Dummies
Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrAustausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen
Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrAlgorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
MehrPlanen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher
Planen mit mathematischen Modellen 00844: Computergestützte Optimierung Leseprobe Autor: Dr. Heinz Peter Reidmacher 11 - Portefeuilleanalyse 61 11 Portefeuilleanalyse 11.1 Das Markowitz Modell Die Portefeuilleanalyse
Mehr6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrAlgorithmische 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
MehrMaximizing the Spread of Influence through a Social Network
1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2
MehrCharakteristikenmethode im Beispiel
Charakteristikenmethode im Wir betrachten die PDE in drei Variablen xu x + yu y + (x + y )u z = 0. Das charakteristische System lautet dann ẋ = x ẏ = y ż = x + y und besitzt die allgemeine Lösung x(t)
MehrBeheben von verlorenen Verknüpfungen 20.06.2005
Vor folgender Situation ist sicher jeder Solid Edge-Anwender beim Öffnen von Baugruppen oder Drafts schon einmal gestanden: Die Ursache dafür kann sein: Die Dateien wurden über den Explorer umbenannt:
MehrVerbesserungsheuristiken
Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrNeuanlage des Bankzugangs ohne das bestehende Konto zu löschen
1 Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen In moneyplex lässt sich ein Konto und ein Bankzugang nur einmal anlegen. Wenn sich der Bankzugang geändert hat oder das Sicherheitsmedium
MehrÜbungsklausur. Bitte wählen Sie fünf Aufgaben aus! Aufgabe 1. Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr.
Übungsklausur zu Mathematik I für BWL und VWL (WS 2008/09) PD Dr. Gert Zöller Übungsklausur Hilfsmittel: Taschenrechner, Formblatt mit Formeln. Lösungswege sind stets anzugeben. Die alleinige Angabe eines
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrPeriodische 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
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrKapitel 15. Lösung linearer Gleichungssysteme
Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren
MehrAnhand des bereits hergeleiteten Models erstellen wir nun mit der Formel
Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrStatistische Untersuchungen zu endlichen Funktionsgraphen
C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion
MehrAbschnitt: 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
MehrDiskrete Optimierung
Diskrete Optimierung Mi 10-12, C118, Sand Dr. Stephanie Reifferscheid Universität Tübingen, WSI 12. Oktober 2011 Dr. Stephanie Reifferscheid Diskrete Optimierung 12. Oktober 2011 1 / 17 Technisches Erreichbarkeit
Mehr