Teil I. Heuristische Optimierungsverfahren , VU2. Arten von Optimierungsaufgaben. Einleitung
|
|
- Maximilian Sternberg
- vor 8 Jahren
- Abrufe
Transkript
1 Heuristische Optimierungsverfahren , VU2 Zeit: jeweils Dienstag, 13:15 14:45 Uhr Ort: Seminarraum 186 Univ.-Prof. Dr. Günther Raidl Univ.-Ass. DI Andreas Chwatal Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Homepage der Lehrveranstaltung: RSS-Feed für aktuelle Informationen: WS 2007 Version vom 16. Oktober 2007 Heuristische Optimierungsverfahren 1 Heuristische Optimierungsverfahren 2 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Arten von Optimierungsaufgaben Teil I Einleitung Kombinatorische Probleme diskrete und endliche Menge von Lösungen hiermit beschäftigt sich diese Vorlesung hauptsächlich Kontinuierliche Parameteroptimierung Optimierung nichtlinearer Strukturen, z.b.: Neuronale Netze Computer Programme elektronische Schaltkreise Heuristische Optimierungsverfahren 3 Heuristische Optimierungsverfahren 4
2 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Unimodale und multimodale kontinuierliche Funktionen Kombinatorische Optimierungsprobleme Definition (Kombinatorisches Optimierungsproblem) Ein kombinatorisches Optimierungsproblem ist eine Menge von (Problem-)Instanzen. Eine Instanz ist ein Paar (S, f ), wobei ist. S eine endliche Menge aller zulässigen Lösungen (Suchraum) und f : S R die zu minimierende (oder maximierende) Zielfunktion Aufgabe ist es, eine (global) optimale Lösung zu finden, d.h. ein x S, sodass f (x ) f (x), x S (bzw. f (x ) f (x)). Heuristische Optimierungsverfahren 5 Heuristische Optimierungsverfahren 6 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Beispiele für kombinatorische Optimierungsprobleme Finden von kürzesten Wegen bzw. Rundreisen Routenplanung für Güterzulieferung an Kunden Stundenplanerstellung Scheduling von Prozessen Optimale Investitionsauswahl bei beschränktem Budget Pack- und Verschnittprobleme Design von Kommunikationsnetzwerken Beispiel: Das Traveling Salesman Problem (TSP) Definition (Traveling Salesman Problem) Geg.: Vollständiger Graph G = (V, E) mit Kantengewichten di,j 0, (i, j) E. Ges.: Hamilton scher Kreis mit geringstem Kantengewicht, d.h. eine kürzeste Rundreise bei der jeder Knoten genau 1 besucht wird. Unterklassen: Euklidische Instanzen Symmetrisches TSP, d.h. i, j : di,j = dj,i Asymmetrisches TSP, d.h. i, j di,j dj,i... Heuristische Optimierungsverfahren 7 Heuristische Optimierungsverfahren 8
3 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Beispielinstanz zum TSP (1) Beispielinstanz zum TSP (2) Kürzeste Tour durch 532 Städte in den USA Instanz aus der Leiterplattenherstellung Heuristische Optimierungsverfahren 9 Heuristische Optimierungsverfahren 10 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Praxisrelevante Erweiterung des TSP: Routenplanung Beispiel einer VRP Instanz Vehicle Routing Problem (VRP) Kunden (z.b. Bars) mit geg. Bedarf müssen beliefert werden. Es steht nur ein Depot zur Verfügung (= Ausgangs- und Endpunkt der Lieferfahrzeuge) Für die Auslieferung müssen Fahrzeugrouten gefunden werden, sodass Kapazitätsrestriktionen eingehalten werden. Ziel ist die Anzahl der Routen und/oder die Gesamtstrecke zu minimieren. Geg.: Depot und Kundenknoten Heuristische Optimierungsverfahren 11 Heuristische Optimierungsverfahren 12
4 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Beispiel einer VRP Instanz Häufige praxisrelevante Erweiterungen Restriktionen für Fahrzeuge/Fahrer Kapazitätsrestriktionen maximale Arbeitszeit Zeitfenster für das Verlassen des Depots Ruhepausen des Fahrers Unterschiedliche Kosten für die Fahrzeuge Kosten von Wegstrecken sind zeitabhängig Mögliche Lösung Heuristische Optimierungsverfahren 13 Heuristische Optimierungsverfahren 14 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Häufige praxisrelevante Erweiterungen (contd.) Restriktionen für Kunden Zeitfenster eines Kunden An- und Abholung beim Kunden, Bedarf kann stochastisch sein Zufahrtsrestriktionen für Kunden Prioritäten für Kunden, falls nicht alle beliefert werden können Teillieferungen Schwierige Probleme Manche Optimierungsaufgaben sind schwierig zu lösen, wegen Größe des Suchraums Komplexität der Zielfunktion zu berücksichtigender Randbedingungen Rauschen (Ungenauigkeiten) in der Zielfunktion sich zeitlich ändernder Zielfunktion mehrerer zu berücksichtigender Optimierungsziele ( z.b. eine Menge von Pareto-optimalen Lösungen ist gesucht) Heuristische Optimierungsverfahren 15 Heuristische Optimierungsverfahren 16
5 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Beispiele klassischer Optimierungsmethoden Zufallssuche: globale Methode, sehr allgemein anwendbar, aber meistens ineffizient Aufzählungsmethoden: primitives Aufzählen ineffizient bei größeren Suchräumen besser: beschränkte Enumeration, dynamische Programmierung Branch-and-Bound: Suchraum nach dem Divide-and-Conquer Prinzip rekursiv zerteilen, bis Teilbereiche gelöst oder ausgeschlossen werden können Gradienten-Methoden: lokale Methode, benötigt Ableitung Simplex-Methode: zur Lösung linearer Programme (lineare Zielfunktionen, linearen Randbedingungen, kont. Variablen) Heuristische Optimierungsverfahren 17 Heuristische Methoden Heuristische Methoden liefern nicht unbedingt das Optimum, aber hoffentlich in akzeptabler Zeit gute Näherungslösungen. 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 Heuristische Optimierungsverfahren 18 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Was ist eine Metaheuristik? Definition (Metaheuristik, nach Voss (1999)) A metaheuristic is an iterative master process that guides and modifies the operations of subordinate heuristics to efficiently produce high-quality solutions. It may manipulate a complete (or incomplete) single solution or a collection of solutions at each iteration. The subordinate heuristics may be high (or low) level procedures, or a simple local search, or just a construction method. Überblick über die in dieser VU behandelte Verfahren Konstruktionsheuristiken Einfache lokale Suche und Varianten Greedy Randomized Adaptive Search Procedures (GRASP) Variable Neighborhood Search Very Large Neighborhood Search Simulated Annealing Tabu Suche Guided Local Search Genetische Algorithmen Evolutionsstrategien Ant Colony Optimization Genetic Programming Heuristische Optimierungsverfahren 19 Heuristische Optimierungsverfahren 20
6 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken No-Free-Lunch Theorem Welches Verfahren ist allgemein das beste? Wolpert und Macready (1996) Alle Optimierungsverfahren sind über alle Probleme betrachtet gleich gut. Konstruktionsheuristiken Das gilt z.b. auch für die Zufallssuche! Man kann die Leistungsfähigkeit unterschiedlicher Optimierungsverfahren immer nur in Bezug auf bestimmte Aufgabenstellungen vergleichen. Heuristische Optimierungsverfahren 21 Heuristische Optimierungsverfahren 22 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Konstruktionsheuristiken Häufiges Schema: starte mit einer leeren Lösung füge in jedem Schritt eine Lösungskomponente hinzu Greedy Verfahren: Bewerte weitere Lösungskomponenten mit einer heuristischen Funktion und wähle jeweils die lokal beste procedure Greedy Konstruktionsheuristik begin x leere Lösung; while x ist keine vollständige Lösung do e aktuell günstigste Erweiterung für x; x x e; end; end Heuristische Optimierungsverfahren 23 Beispiele für Konstruktionsheuristiken Minimaler Spannbaum: Prims und Kruskals Algorithmen (greedy, liefern globales Optimum) 0/1-Rucksack Problem: Greedy Heuristiken TSP: Nearest-Neighbor Heuristik (greedy) Insertion-Heuristiken (greedy) Spannbaum Heuristik (Gütegarantie 2 für Eukl. Instanzen) Christophides Heuristik (Gütegarantie 1.5 für Eukl. Instanzen) Einige dieser Algorithmen bieten Gütegarantien Approximationsalgorithmen Heuristische Optimierungsverfahren 24
7 Einleitung Konstruktionsheuristiken Einleitung Konstruktionsheuristiken Beispiel zur Nearest-Neighbor Heuristik (1) Beispiel zur Nearest-Neighbor Heuristik (2) Heuristische Optimierungsverfahren 25 Heuristische Optimierungsverfahren 26 Einleitung Insertion-Heuristiken für das TSP Konstruktionsheuristiken Beginne mit einer Tour aus 3 Städten (oder bei Euklidischer Instanz: konvexe Hülle) Füge alle restlichen Städte iterativ hinzu bis Tour komplett. Strategien zur Wahl der nächsten Stadt: Random Insertion: Einfügen einer zufällig gewählten Stadt Nearest Insertion: Einfügen einer Stadt mit geringster Entfernung zu einer Stadt aus Tour Farthest Insertion: Einfügen einer Stadt bei der die geringste Entfernung zu Stadt aus Tour maximal ist Einfügeposition Nach der nächstgelegenen Stadt in Tour Wahl durch Minimierung der Tourlänge Teil II Nachbarschaftsbasierende Verfahren Heuristische Optimierungsverfahren 27 Heuristische Optimierungsverfahren 28
8 Einfache Lokale Suche Einfache Lokale Suche und Varianten procedure 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.) Heuristische Optimierungsverfahren 29 Heuristische Optimierungsverfahren 30 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 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 Heuristische Optimierungsverfahren 31 Heuristische Optimierungsverfahren 32
9 Bsp.: Aussagenlogisches Erfüllbarkeitsproblem (SAT) Definition (Satisfiability Problem) Geg.: Eine aussagenlogische Formel in konjunktiver Normalform, z.b. (x1 x2) (x 1 x 2) Ges.: Zuweisung von 1 ( true ) und 0 ( false ), sodass alle Klauseln erfüllt sind. Optimierungs-Variante: MAX-SAT: Anzahl der erfüllten Klauseln soll maximiert werden. Lösungsrepräsentation: Binärer Vektor x konzeptionell eines der einfachsten Probleme NP-vollständig eines der grundlegendsten Probleme der Informatik Beispiel: Nachbarschaftsstruktur für binäre Vektoren k-flip Nachbarschaft: Lösungen haben Hamming-Distanz k, d.h. sie unterscheiden sich in maximal k Bit. Nachbarschaftsgröße: O(n k ) Grafik: Der Suchraum von binären Vektoren der Länge n kann durch einen n-dimensionalen Hypercube dargestellt werden. Heuristische Optimierungsverfahren 33 Heuristische Optimierungsverfahren 34 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 Zug für das TSP Beispiel: Symmetrisches TSP (contd.) k-opt Lösung kann nicht mehr durch Austausch von k Kanten verbessert werden mit größerem k steigt Lösungsgüte aber auch Laufzeit 4-opt in der Praxis schon zu teuer Verschiedene andere Nachbarschaften: node-displacement für das asymmetrische TSP meist besser geeignet 2.5-opt Lin-Kernighan Heuristische Optimierungsverfahren 35 Heuristische Optimierungsverfahren 36
10 2-opt Lösungen zum TSP (1) 2-opt Lösungen zum TSP (2) Heuristische Optimierungsverfahren 37 Heuristische Optimierungsverfahren 38 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 mindestens so gut wie 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! Heuristische Optimierungsverfahren 39 Analyse-Beispiel: Das OneMax Problem Definition (OneMax Problem) Lösungsraum: Binäre Vektoren x {0, 1} n n Zielfunktion: f (x) = dh(x, x ) = xi xi (Hammingdistanz), i=1 wobei x ein vorgegebene Optimum ist, hier z.b. x = (1,..., 1). Wir betrachten eine lokale Suche mit: Ausgangslösung = zufälliger Bitstring 1-flip Nachbarschaft Random Neighbor Schrittfunktion Frage: Wie hoch ist die Laufzeit der lokalen Suche bis das Optimum x gefunden wurde? Heuristische Optimierungsverfahren 40
11 Offensichtlich: Best-case Laufzeit: Tbest = Θ(n) (Ausgangslösung ist x ) Worst-case Laufzeit: Tworst = Bei stochastischen Algorithmen ist vor allem die erwartete Laufzeit interessant: Wir definieren Zustände Z0 bis Zn, wobei sich der Algorithmus genau dann in Zustand Zi befindet, wenn f (x) = i. Zu erwartender Anfangszustand: Heuristische Optimierungsverfahren 41 Chernoffs Ungleichung bestätigt, dass die Abweichungen von diesem erwarteten Anfangszustand i.a. klein sind: Seien (X1,..., Xn) {0, 1} unabhängige Zufallsvariablen. Sei pi = Pr(Xi = 1). Sei X = X Xn Der Erwartungswert ist E(X ) = p pn, und es gilt für 0 δ 1 Pr(X (1 δ)e(x )) e E(X )δ2 /2 und für alle δ > 0: ( Pr(X > (1 + δ)e(x )) e δ (1 + δ) 1+δ )E(X ). Eine für unseren Fall interessante Folgerung ist z.b.: Die Wahrscheinlichkeit, dass weniger als 1/3 der Bits richtig sind ist beschränkt mit e n/36. Heuristische Optimierungsverfahren 42 Wahrscheinlichkeit Zi Zi 1 in einer Iteration: pi = i n, i = 1,..., n Zu erwartende Anzahl von notwendigen Iterationen bis Zi ti = 1 = n pi i Wir summieren ti für i = n/2,..., 1: n/2 n/2 n 1 = n = n H i i n/2 n ln n 2 i=1 i=1 Hk... k-te Harmonische Zahl: ln (k + 1) < Hk 1 + ln k Hk ln k Zi 1: Aufwand pro Iteration: Θ(n) für vollständige Berechnung des Zielfunktionswertes Erwartete Gesamtlaufzeit: Texpected = Θ(n 2 log n) Heuristische Optimierungsverfahren 43 Heuristische Optimierungsverfahren 44
12 Inkrementelle Berechnung des Zielfunktionswertes = einfache und sehr effektive Verbesserung: ausgehend vom Zielfunktionswert f (x) der aktuellen Lösung x wird nur der durch den betrachteten Zug verursachte Unterschied f (x, x ) ermittelt und hinzugezählt: Aufwand pro Iteration: Θ(1) Erwartete Gesamtlaufzeit: f (x ) = f (x) + f (x, x ) Texpected = Θ(n log n) Die inkrementelle Bewertung ist auch für viele schwierige Optimierungsaufgaben aus der Praxis eine wichtige Beschleunigungsmöglichkeit! Heuristische Optimierungsverfahren 45 Das Coupon Collector s Theorem bestätigt, dass die Wahrscheinlichkeit einer Abweichung von dieser Laufzeit exponentiell klein ist: Es gibt n unterschiedliche Typen von Sammelkarten In jeder Iteration wird eine zufällig gewählt, jede Type ist immer gleich wahrscheinlich. Wir interessieren uns für Anzahl der Iterationen X bis wir von jedem Typ mindestens eine Karte haben. Es gilt: und lim Pr(X n ln n cn) = e ec n lim Pr(X n ln n + cn) = 1 e e c n Heuristische Optimierungsverfahren 46 OneMax: Next Improvement Schrittfunktion Genauer: Immer alle Bits in der Reihenfolge 1, 2,...durchgehen; wenn ein Bitflip eine Verbesserung ergibt, ist diese Lösung x. Laufzeiten bei inkrementeller Bewertung: Tbest = Θ(n) Tworst = Θ(n 2 ) Durchschnittlicher, erwarteter Aufwand, um x zu bestimmen: Θ(n/2) Bei n/2 erwarteten Iterationen ist die erwartete Gesamtlaufzeit: ( (n ) ) 2 Texpected = Θ = Θ(n 2 ) 2 OneMax: Best Improvement Schrittfunktion Da alle möglichen Verbesserungen immer gleich gut sind, ist hier der höhere Aufwand im Vergleich zu next improvement vergeudet. Die Komplexität der Laufzeit ist allerdings unverändert: Tbest = Θ(n) Tworst = Texpected = Θ(n 2 ) Leider sind solche Analysen für interessante Probleme aus der Praxis kaum möglich! Heuristische Optimierungsverfahren 47 Heuristische Optimierungsverfahren 48
13 Problem der lokalen Suche Die einfache lokale Suche findet im allgemeinen nur lokal optimale Lösungen: Problem der lokalen Suche Definition Ein lokales Minimum in Bezug auf eine Nachbarschaftsstruktur N ist eine Lösung x für die gilt: f (x) f (x ) x N(x). Es kann aber ein x S geben, für das f (x ) < f (x ). Nachbarschaftsstruktur bestimmt welche Lösungen lokale Minima sind globale Minima sind spezielle lokale Minima Was wir uns wünschen würden: kleine exakte Nachbarschaften, in denen jedes lokale Minimum auch ein globales Minimum ist Heuristische Optimierungsverfahren 49 Heuristische Optimierungsverfahren Nachbarschaftsvergrößerung i.a. wenigere und bessere lokale Minima mit größeren basins of attraction Einfache Verbesserungsmöglichkeiten basin of attraction A(x): Teilmenge aller Lösungen, für die die Anwendung der einfachen lokalen Suche das lokale Optimum x ergibt. i.a. bessere Ergebnisse, der Zeitaufwand steigt aber auch stark an z.b. k-exchange für das TSP: O(n k ) Nachbarlösungen in der Praxis ist k > 3 kaum mehr durchführbar bzw. sinnvoll Heuristische Optimierungsverfahren 51 Heuristische Optimierungsverfahren 52
14 2. Multi-start lokale Suche Lokale Suche von mehreren unterschiedlichen Ausgangslösungen aus durchführen sehr einfache Verbesserung, erfordert aber natürlich mehr Zeit effektiv wenn relativ wenige lokale Minima bzw. das globale Optimum ein großes basin of attraction besitzt Heuristische Optimierungsverfahren Iterierte lokale Suche (ILS) procedure Iterierte Lokale Suche begin x Ausgangslösung; x lokale Suche (x); repeat: x Perturbation (x); x lokale Suche (x ); if f (x ) f (x) then x x ; until Abbruchkriterium erfüllt; end Perturbation: Zufälliger Zug in einer größeren Nachbarschaft bzw. eine Serie von zufälligen Zügen in kleineren Nachbarschaften Heuristische Optimierungsverfahren 54 Greedy Randomized Adaptive Search Procedure (GRASP) Grundlegende Idee: Greedy Randomized Adaptive Search Procedure (GRASP) Eine Greedy-Konstruktionsheuristik wird systematisch randomisiert, um viele gute Startlösungen für eine nachfolgende lokale Suche zu generieren Erste Ansätze von Feo und Resende (1989) Heuristische Optimierungsverfahren 55 Heuristische Optimierungsverfahren 56
15 Randomisierung von Greedy-Konstruktionsheuristiken Mechanismen zur Bestimmung von RCL procedure Randomisierte Greedy Heuristik begin x leere Lösung; while x ist keine vollständige Lösung do CL alle möglichen Lösungskomponenten zur Erweiterung von x; bestimme RCL CL vielversprechender Erweiterungen; wähle eine Erweiterung e RCL zufällig; x x e; end; end CL: candidate list RCL: restricted candidate list Nimm die k kostengünstigsten Lösungskomponenten Seien cmin und cmax die geringsten bzw. höchsten Komponentenkosten in CL. Übernehme ein e CL in RCL wenn c(e) cmin + α (cmax cmin), α [0, 1] α = 0 ˆ= greedy Konstruktionsheuristik α = 1 ˆ= zufällige Lösungskonstruktion Heuristische Optimierungsverfahren 57 Heuristische Optimierungsverfahren 58 Nachfolgende lokale Suche typischerweise best improvement Schrittfunktion Vorteile, wenn lokale Suche von mehreren greedy-randomized Lösungen gestartet wird: im allgemeinen geringere Varianz und höhere Endlösungsgüte als bei Start von reinen Zufallslösungen lokale Suche benötigt im allgemeinen wenige Iterationen schnell es können in der gleichen Zeit mehr Ausgangslösungen lokal optimiert werden durch die Randomisierung und Wiederholung meist bessere Endlösung als einfacher Aufruf der greedy Heuristik + lokale Suche Erweiterungen von GRASP Auswahl aus RCL mit Bias: Lösungskomponenten in RCL werden mit unterschiedlichen Wahrscheinlichkeiten ausgewählt; z.b. proportional zu 1/c(e) Automatisches Einstellen von α: zufällige Wahl des Parameters Reactive GRASP Verwendung eines Gedächnisses Verwendung einer Elite guter Lösungen zur Steuerung des Konstruktionsprozesses Einfache Parallelisierung Heuristische Optimierungsverfahren 59 Heuristische Optimierungsverfahren 60
16 Bsp.: Quadratic Assignment Problem (QAP) Definition (Quadratic Assignment Problem) Geg.: n Abteilungen, n Standorte D = (Di,j) R n n : Distanzen zwischen Standorte F = (Fi,j) R n n : Verkehr zwischen Abteilungen Ges.: Zuordnung der Abteilungen zu Standorten, d.h. eine Permutation x : {1,..., n} {1,..., n}, mit minimaler Gesamtwegstrecke n n f (x) = Fi,jDxi,xj i=1 j=1 Bsp.: GRASP für QAP (Li, Pardalos, Resende, 1994) greedy-funktion: Kosten der Interaktion von neuen Abteilung/Standort Paaren bzgl. der schon vorhandenen, partiellen Lösung Beschränkung der Kandidatenliste durch Größe k zufällige Wahl eines Abteilung/Standort Paares aus RCL 2-exchange lokale Suche (d.h. Nachbarschaft: Austausch zweier Abteilungen) Heuristische Optimierungsverfahren 61 Heuristische Optimierungsverfahren 62 Bsp.: Aussagenlogisches Erfüllbarkeitsproblem (SAT) Definition (Satisfiability Problem) Geg.: Eine aussagenlogische Formel in konjunktiver Normalform, z.b. (x1 x2) (x 1 x 2) Ges.: Zuweisung von 1 ( true ) und 0 ( false ), sodass alle Klauseln erfüllt sind. Optimierungs-Variante: MAX-SAT: Anzahl der erfüllten Klauseln soll maximiert werden. Lösungsrepräsentation: Binärer Vektor x konzeptionell eines der einfachsten Probleme NP-vollständig eines der grundlegendsten Probleme der Informatik Bsp.: GRASP für SAT (Resende, Feo, 1996) greedy-funktion: Anzahl der noch nicht erfüllten Klauseln, die nach einer Variableninstantiierung mit 1 bzw. 0 erfüllt sein würden Sei Φ + i : Menge der zusätzlich erfüllten Klauseln, wenn xi = 1 Sei Φ i : Menge der zusätzlich erfüllten Klauseln, wenn xi = 0 RCL-Beschränkung: Sei Φ = maxi=1,...,n{ Φ + i, Φ i xi noch nicht instantiiert} Φ + i α Φ (xi = 1) RCL Φ i α Φ (xi = 0) RCL Heuristische Optimierungsverfahren 63 Heuristische Optimierungsverfahren 64
17 Bsp.: GRASP für SAT (contd.) Zusammenfassung zu GRASP Auswahl von RCL: falls eine unerfüllte Klausel nur eine nicht instantiierte Variable enthält, versuche diese Klausel zu erfüllen ansonsten wähle ein Element von RCL zufällig best improvement 1-flip lokale Suche einfach zu implementierende Erweiterung von Konstruktionsheuristiken wenige Parameter viele Anwendungen oft relativ schnell bei relativ guten Ergebnissen Heuristische Optimierungsverfahren 65 Heuristische Optimierungsverfahren 66 Variable Neighborhood Search (Hansen und Mladenovic, 1997) Dieses Verfahren macht sich folgende Eigenschaften zu Nutze: Variable Neighborhood Search (VNS) 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. Heuristische Optimierungsverfahren 67 Heuristische Optimierungsverfahren 68
18 Variable Neighborhood Descent (VND) Nachbarschaftsstrukturen N1,..., Nlmax werden systematisch gewechselt. procedure Variable Neighborhood Descent (x) begin l 1; repeat: finde ein x mit f (x ) f (x ), x Nl(x); if f (x ) < f (x) then x x ; l 1; else l l + 1; until l > lmax; return x; end Variable Neighborhood Descent (contd.) Schrittfunktion: üblicherweise best oder next improvement 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) N1(x): 2-exchange innerhalb der einzelnen Touren N2(x): Verschieben einer Stadt von einer Tour zu einer anderen N3(x): Austausch zweier Städte über Touren hinweg N4(x): 3-exchange innerhalb der einzelnen Touren... Heuristische Optimierungsverfahren 69 Heuristische Optimierungsverfahren 70 Reduced Variable Neighborhood Search (RVNS) RVNS 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 N1,..., Nkmax, 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. procedure Reduced VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x Nk(x); if f (x ) < f (x) then x x ; k 1; else k k + 1; until k > kmax; until Abbruchkriterium erfüllt; return x; end Heuristische Optimierungsverfahren 71 Heuristische Optimierungsverfahren 72
19 Zu den Nachbarschaftsstrukturen N 1,..., N kmax Um das Hängenbleiben in einem lokalen Optimum zumindest theoretisch sicher zu vermeiden, sollte die Vereinigung aller N1(x),..., Nkmax (x) den gesamten Raum S aller gültigen Lösungen beinhalten: S N1(x) N2(x) Nkmax, x S Die einzelnen Nachbarschaften können, müssen aber nicht disjunkt sein. Oft sind geschachtelte Nachbarschaften die einfachste Wahl: N1(x) N2(x) Nkmax, x S Dies kann beispielsweise erreicht werden, indem das Shaking in der Nachbarschaft Nk durch k hintereinander ausgeführte Züge in der N1-Nachbarschaftsstruktur realisiert wird. Heuristische Optimierungsverfahren 73 Basic Variable Neighborhood Search (BVNS) RVNS wird um eine einfache lokale Suche erweitert: procedure Basic VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x Nk(x); x lokale Suche(x ); if f (x ) < f (x) then x x ; k 1; else k k + 1; until k > kmax; until Abbruchkriterium erfüllt; return x; end Heuristische Optimierungsverfahren 74 General Variable Neighborhood Search (GVNS) Kombiniert RVNS mit VND. Die Nachbarschaftsstrukturen der VNS (N1,..., Nkmax ) und des VND (N1,..., Nlmax ) sind nicht ident! procedure General VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x Nk(x); // x lokale Suche mit VND (x ): l 1; repeat: finde ein x mit f (x ) f (x ), x Nl (x ); if f (x ) < f (x ) then x x ; l 1; else l l + 1; until l > lmax; if f (x ) < f (x) then x x ; k 1; else k k + 1; until k > kmax; until Abbruchkriterium erfüllt; return x; end Heuristische Optimierungsverfahren 75 Heuristische Optimierungsverfahren 76
20 Variable Neighborhood Decomposition Search (VNDS) Variante bzw. Erweiterung von (Basic) VNS. procedure VNDS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x Nk(x); Y Menge der Variablen, in denen sich x und x unterscheiden; x lokale Suche oder Verb.heuristik (x ), bei der die Variablen x \ Y fixiert bleiben, d.h. nur Variablen in Y werden optimiert; if f (x ) < f (x) then x x ; k 1; else k k + 1; until k > kmax; until Abbruchkriterium erfüllt; return x; end Variable Tiefensuche Heuristische Optimierungsverfahren 77 Heuristische Optimierungsverfahren 78 Variable Tiefensuche komplexere Züge werden aus einer Aneinanderkettung einfacher Züge aufgebaut Anzahl einfacher Züge ist variabel Züge sind nicht unabhängig von einander Nachbarschaft wird durch Restriktionen beschränkt vielversprechende Zugkombinationen werden weiterverfolgt, wenig sinnvoll erscheinende Zugkombinationen verworfen Bsp.: Lin-Kernighan Heuristik für das TSP komplexere Züge werden aus Folge abhängiger 2-exchange Züge aufgebaut variable Anzahl von Kanten kann ausgetauscht werden Nachbarschaft in polynomieller Zeit durchsuchbar Für jeden 2-exchange Zug wird zuvor ein δ-pfad als Zwischenergebnis betrachtet; dieser entsteht durch Austausch einer ersten Kante: v w v u w v u w u u u Heuristische Optimierungsverfahren 79 Heuristische Optimierungsverfahren 80
21 Prinzip der Lin-Kernighan Heuristik für das TSP Prinzip der Lin-Kernighan Heuristik für das TSP (contd.) Starte mit Tour T Erzeuge Folge von δ-pfaden solange der δ-pfad kürzer als T Berechne zu jedem δ-pfad Pi zugehörige Tour T (Pi) Falls T (P) kürzer als T, setze T T (P) Setze Reihe der δ-pfade fort bis δ-pfad länger als beste Tour Neu hinzugefügte oder gelöschte Kanten dürfen nicht wieder gelöscht bzw. hinzugefügt werden. Definitionen für den nachfolgenden Pseudocode: x1, x2,...: aus der Ausgangstour T zu entfernende Kanten y1, y2,...: zur Ausgangstour T hinzuzufügende Kanten Gi: gain des i-ten δ-pfades, d.h. Länge von T Länge von Pi lange Zeit beste Heuristik für TSP effiziente Implementierung nicht trivial Heuristische Optimierungsverfahren 81 Heuristische Optimierungsverfahren 82 Lin-Kernighan Heuristik 1 Generate an initial tour T. 2 Let i = 1. Choose t1. 3 Choose x1 = (t1, t2) T. 4 Choose y1 = (t2, t3) T such that G1 > 0. If this is not possible, go to Step Let i = i Choose xi = (t2i 1, t2i ) T such that (a) if t2i is joined to t1, the resulting configuration is a tour, T, and (b) xi ys for all s < i. If T is a better tour than T, let T = T and go to Step 2. 7 Choose yi = (t2i, t2i+1) T such that (a) Gi > 0, (b) yi xs for all s i, and (c) xi+1 exists. If such yi exists, go to Step 5. 8 If there is an untried alternative for y2, let i = 2 and go to Step 7. 9 If there is an untried alternative for x2, let i = 2 and go to Step If there is an untried alternative for y1, let i = 1 and go to Step If there is an untried alternative for x1, let i = 1 and go to Step If there is an untried alternative for t1, then go to Step 2. Zusammenfassendes zur variablen Tiefensuche Die Lin-Kernighan Heuristik für das TSP ist ein prominentes Beispiel, von dem es viele Varianten gibt. Das Grundprinzip wird häufig auch vereinfacht eingesetzt, um große Nachbarschaften sinnvoll einzuschränken: (Teil-)Züge werden nur ausgeführt, wenn diese im Sinne eines bestimmten Kriteriums vielversprechend sind. Beispiel: MAX-SAT: Anstatt alle k-flip Züge zu evaluieren, kann man sich auf jene Variablen beschränken, die in verletzten Klauseln vorkommen. Häufig werden komplexere Nachbarschaften auch so definiert, dass besonders teure (ineffiziente) Lösungskomponenten identifiziert werden und versucht wird günstigeren Ersatz zu finden. Heuristische Optimierungsverfahren 83 Heuristische Optimierungsverfahren 84
22 Very Large Neighborhood Search (VLNS) Grundidee: Es wird eine spezielle, sehr große Nachbarschaftsstruktur N(x) gewählt, in der die beste Lösung jedoch effizient bestimmt werden kann. Very Large Neighborhood Search (VLNS) Oft ist N(x) exponentiell von der Problemgröße abhängig; die beste Nachbarlösung kann trotzdem in polynomieller Zeit gefunden werden. Es wird nicht jede Nachbarlösung explizit evaluiert. Oft beinhaltet N(x) alle Lösungen, die von x aus durch eine beliebigen Serie unabhängiger Züge erreicht werden können. Heuristische Optimierungsverfahren 85 Heuristische Optimierungsverfahren 86 Ansätze zur effizienten Nachbarschaftsdurchsuchung Dynamische Programmierung Dynasearch über das Finden von Zyklen mit minimalen Kosten in einem Improvement-Graphen über das Finden von kürzesten Pfaden über das Lösen von Minimum Cost Assignment oder Matching Probleme über effiziente Verfahren zur Lösung von Spezialfällen des Problems und entsprechenden Nachbarschaftsstrukturen Bsp. zu effizienten Verfahren zur Lösung von Spezialfällen: TSP Ein Halin Graph ist ein Graph, der wie folgt konstruiert werden kann: Es wird ein Baum erstellt, der keine Knoten vom Grad 2 besitzt Der Baum wird kreuzungsfrei in der Ebene gezeichnet. Seine Blätter werden mit zusätzlichen Kanten kreuzungsfrei zu einem Zyklus verbunden. Für Halin Graphen kann das TSP in der Zeit O(n) gelöst werden. Heuristische Optimierungsverfahren 87 Heuristische Optimierungsverfahren 88
23 i i Bsp. zu effizienten Verfahren zur Lösung von Spezialfällen: TSP (contd.) Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP Definition (Halin-Nachbarschaft N(x)) Erweitere aktuelle Tour x durch Hinzufügen geeigneter Kanten zu einem möglichst großen Halin Graphen. Das kann z.b. durch greedy Verfahren, die kurze Kanten bevorzugen, oder auch durch Hinzunahme zufälliger Kanten erfolgen. N(x) entspricht allen zulässigen Touren in diesem Halin Graphen. Größe der Nachbarschaft: Ω(2 n ) Zeit für das Finden der besten Nachbarlösung: O(n) Definition (Remove-and-restricted-reinsert Nachbarschaft N(x)) Wähle k Städte der aktuellen Tour und ersetze sie und ihre inzidenten Kanten durch direkte Verbindungen der jeweiligen Nachbarknoten. reduzierte Tour T N(x) beinhaltet alle Touren, die aus der reduzierten Tour entstehen können indem die entfernten Knoten wiederum eingefügt werden, wobei jedoch keine zwei zuvor entfernten Knoten unmittelbar nebeneinander zu liegen kommen dürfen. Heuristische Optimierungsverfahren 89 Heuristische Optimierungsverfahren 90 Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (contd.) 8 8 h h g 1 g 1 a 6 6 a f e c k k d b 3 3 a i k g h Minimum Cost Matching a Improvement Graph: i k g h Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (contd.) Finden der besten Nachbarlösung in N(x): Konstruiere einen vollständigen, bipartiten Improvement Graphen: Knotenmenge: VR: Knoten für alle entfernten Städte VT Knoten für alle Kanten in reduzierter Tour T Kantenmenge: Kanten (i, (u, v)) zwischen allen Stadt-Knoten i VR und Kanten-Knoten (u, v) VT Kantenkosten entsprechen Änderung der Tourlänge, wenn der Knoten i zwischen u und v eingefügt wird: c(i, (u, v)) = d(u, i) + d(i, v) d(u, v) Heuristische Optimierungsverfahren 91 Heuristische Optimierungsverfahren 92
24 Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (contd.) Finde im Improvement Graphen ein Matching mit geringsten Kosten (Zeitaufwand: O(n 3 )) Bsp.: Cyclic Exchange für Partitionierungsprobleme In vielen Problemen müssen Elemente einer Menge S in disjunkte Teilmengen Si, i = 1,..., m, partitioniert werden: Dieses liefert die Stellen, an denen die entfernten Städte in der modifizierten Tour wieder eingefügt werden. Größe der Nachbarschaft wenn k = n/2 : Ω( n/2!) Zeit für das Finden der besten Nachbarlösung: O(n 3 ) Heuristische Optimierungsverfahren 93 Unabhängige Kosten für jede Partition Si: c(si) Gesamtkosten: m i=1 c(si) Heuristische Optimierungsverfahren 94 Bsp.: Cyclic Exchange für Partitionierungsprobleme (ctd.) Beispiele derartiger Probleme: Das Vehicle Routing Problem (VRP) Das Capacitated Minimum Spanning Tree Problem: die Anzahl der in jedem Teilbaum enthaltenen Knoten ist beschränkt Bsp.: Cyclic Exchange für Partitionierungsprobleme (ctd.) Einfache Nachbarschaften Verschieben eines Elements in eine andere Menge Austausch zweier Elemente unterschiedlicher Mengen Allgemeines Verschieben bzw. Austauschen von k > 2 Elementen häufig schon zu aufwendig! Cyclic Exchange Nachbarschaft Zyklischer Austausch jeweils eines Elements über beliebig viele Teilmengen hinweg: N(x) = O(n m ) Heuristische Optimierungsverfahren 95 Heuristische Optimierungsverfahren 96
25 Bsp.: Cyclic Exchange für Partitionierungsprobleme (ctd.) Lösungsansatz: Erstelle einen gerichteten Improvement Graphen: Knoten: für alle Elemente in S Kanten: für alle Elementpaare (a, b) S 2 a Si, b Sj, i j Bedeutung von Kante (a, b): Element a wird von Si nach Sj verschoben und Element b wird von Sj entfernt Kantenkosten = Kostenänderung in Sj: c(a, b) = f (Sj b \ j) f (Sj) Finde einen Kreis in diesem Graphen, mit negativen Kosten und bei dem alle Knoten in unterschiedlichen Teilmengen liegen. Ein solcher Kreis entspricht einem zyklischen Austausch, der die aktuelle Lösung verbessert. Heuristische Optimierungsverfahren 97 Bsp.: Cyclic Exchange für Partitionierungsprobleme (ctd.) ABER: Das Finden eines solchen Kreises ist selbst ein NP-schwieriges Problem! Trotzdem: In der Praxis kann dieses Subproblem mit schnellen Heuristiken relativ gut gelöst werden. Cyclic Exchange Nachbarschaftsstrukturen haben sich für etliche Anwendungen sehr bewährt. Heuristische Optimierungsverfahren 98 Zusammenfassung zu VLNS Sehr große Nachbarschaften werden speziell definiert, sodass eine bessere Nachbarlösung effizient gefunden werden kann. Für manche Probleme sehr gute Ergebnisse Simulated Annealing Sehr problemspezifisch Algorithmisch häufig anspruchsvoller als andere Metaheuristiken Heuristische Optimierungsverfahren 99 Heuristische Optimierungsverfahren 100
26 Simulated Annealing (SA) erster Ansatz um bei lokaler Suche lokalen Optima zu entkommen (Kirkpatrick et al. 1983) inspiriert von physikalischem Verfahren des Annealing von Kristallen naturinspiriertes Verfahren Grundidee: Auch schlechtere Lösungen werden mit bestimmter Wahrscheinlichkeit akzeptiert. basiert üblicherweise auf die random neighbor Schrittfunktion procedure Simulated Annealing begin t 0; T Tinit; x Ausgangslösung; repeat: repeat: wähle ein x N(x) zufällig; if x ist besser als x then x x ; sonst if Z < e f (x ) f (x) /T then x x ; t t + 1; until Temperatur-Updatekriterium erfüllt; T g(t, t); until Abbruchkriterium erfüllt; end Metropolis-Kriterium: Z < e f (x ) f (x) /T Z... Zufallszahl [0, 1) Annealing: Temperatur T wird langsam erniedrigt Heuristische Optimierungsverfahren 101 Heuristische Optimierungsverfahren 102 Zu entscheiden: Abkühlungsplan Bsp.: Simulated Annealing für TSP Anfangstemperatur Tinit z.b. basierend auf bekannte Schranken: Tinit = fmax fmin z.b. so wählen, dass 3% der Züge anfangs abgelehnt werden Änderungsfunktion g(t, t) Geometrisches Cooling: g(t, t) = T α, α < 1, (z.b. α = 0.95) Anzahl der Iterationen auf jedem Temperaturniveau z.b. Vielfaches der Nachbarschaftsgröße Abbruchkriterium z.b. wenn bestimmte Temperatur erreicht wurde oder wenn keine Verbesserung über τ Temperaturniveaus Einfache Implementierung: (Johnson, McGeoch, 1997) Start mit zufälliger Ausgangstour 2-exchange Nachbarschaft Abkühlungsplan: Tinit so, dass 3% der Züge abgelehnt geometisches Abkühlen, α = 0.95 Iterationen pro Temperatur: n(n 1) Abbruch: 5 Temperaturen ohne Verbesserung relativ schlechte Ergebnisse Heuristische Optimierungsverfahren 103 Heuristische Optimierungsverfahren 104
27 Bsp.: Simulated Annealing für TSP (contd.) Wesentliche Verbesserungen Start mit guten Ausgangslösungen von Konstruktionsheuristiken Beschränkung der Nachbarschaft auf vielversprechendere Züge Bsp.: SA für Graphenbipartitionierung Definition (Graphenbipartitionierung) Geg.: Graph G = (V, E) Ges.: Partitionierung von G in zwei Knotenmengen V1, V2, mit V1 = V2 und V1 V2 = V, minimize {(u, v) E u V1 v V2} Dennoch: Im Vergleich zu führenden Verfahren für das TSP nicht wettbewerbsfähig. Heuristische Optimierungsverfahren 105 Heuristische Optimierungsverfahren 106 Bsp.: SA für Graphenbipartitionierung (contd.) Kodierung der Lösung: Charakteristischer Vektor x = (x1,..., xn), n = V Knoten i wird Menge Vxi zugewiesen Simulated Annealing (Johnson et al., 1989) Nachbarschaft: Austausch zweier Knoten Startlösung: zufällig ähnlicher Abkühlplan wie beim SA für das TSP eine der ersten Anwendungen von SA Heuristische Optimierungsverfahren 107 Bsp.: SA für Graphenbipartitionierung (contd.) Verbesserung: Verkleinerung der Nachbarschaft und Erlauben auch ungültiger Lösungen Modifizierte Zielfunktion: f (V1, V2) = {(u, v) E u V1 v V2} +γ( V1 V2 ) 2 γ: imbalance factor Neue Nachbarschaft: Verschieben nur eines Knotens in die jeweils andere Menge N(x) = n gegenüber n 2 /4 Vergleich mit Kernighan-Lin Heuristik für dieses Problem: Auf zufälligen Graphen ist SA besser, auf Euklidischen Graphen Kernighan-Lin Heuristische Optimierungsverfahren 108
28 Weiterentwicklungen von SA Zusammenfassung zu SA Nichtmonotone Abkühlungspläne Reheating Dynamische vs. statische Abkühlungspläne z.b. auf einem Temperatorniveau bleiben, bis keine Verbesserungen mehr über eine bestimmte Anzahl an Iterationen Deterministische Untersuchung der Nachbarschaft Kombination mit anderen Verfahren Parallelisierung mehrere Hundert Anwendungen SA ist eine der am häufigsten verwendeten und auch theoretisch am besten untersuchten Metaheuristiken meist sehr einfach zu implementieren für viele Probleme gute Ergebnisse, aber meist keine Spitzenergebnisse im Vergleich zu anderen führenden Verfahren oft relativ lange Laufzeiten Heuristische Optimierungsverfahren 109 Heuristische Optimierungsverfahren 110 Grundidee der Tabu Suche (TS) (Glover 1986; Hansen, 1986) Tabu Suche basiert auf ein Gedächtnis (History) über den bisherigen Optimierungsverlauf und nutzt dieses um über lokale Optima hinweg zu kommen Vermeidung von Zyklen durch Verbieten des Wiederbesuchens früherer Lösungen meist deterministische Leitung der Suche meist best neighbor Schrittfunktion: in jedem Schritt wird die beste erlaubte Nachbarlösung angenommen, auch wenn diese schlechter ist als die aktuelle Heuristische Optimierungsverfahren 111 Heuristische Optimierungsverfahren 112
29 Tabu Suche Basisalgorithmus procedure Tabu Suche 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 tl Iterationen; x x ; if x ist besser als bisher beste Lösung then merke x; until Abbruchkriterium erfüllt; end Das Gedächtnis: die Tabuliste Explizites Speichern von vollständigen Lösungen Nachteil: speicher- und zeitaufwändig Alternative: Speichern von Lösungsattributen (Tabuattribute) besuchter Lösungen Lösungen sind verboten (tabu), falls sie Tabuattribute enthalten als Tabuattribute werden oft Attribute von Zügen benutzt; die Umkehrung der Züge ist dann für tl Iterationen verboten wichtiger Parameter: Tabulistenlänge tl häufig sinnvoll: verschiedene Tabuattribute, mehrere Tabulisten Heuristische Optimierungsverfahren 113 Heuristische Optimierungsverfahren 114 Parameter: Tabulistenlänge Aspirationskriterien Wahl von tl häufig sehr kritisch! zu kurze Tabulisten können zu Zyklen führen zu lange Tabulisten verbieten viele mögliche Lösungen und beschränken die Suche stark geeignete Länge meist problemspezifisch, muss experimentell bestimmt werden, oder zufällig aus Intervall wählen und in bestimmten Abständen neu setzen Lebensdauer eines Tabuattributs für jeden Zug zufällig neu wählen Manchmal können noch nicht besuchte Lösungen verboten sein obwohl sie sehr gut sind. Aspirationskriterien überschreiben den Tabustatus interessanter Lösungen. Beispiel eines häufig verwendeten Aspirationskriterium: Eine verbotene Nachbarlösung ist besser als die bisher beste gefundene Lösung. Heuristische Optimierungsverfahren 115 Heuristische Optimierungsverfahren 116
30 Bsp.: Tabu Suche für MAX-SAT Bsp.: TS für das Graphenfärbeproblem (Hansen, Jaumard, 1990; Selman, Kautz, 1994) Nachbarschaft: 1-flip Nachbarschaft Tabuattribute: Modifizierte Variablen Tabukriterium: Änderung einer Variable ist für tl Iterationen verboten Aspirationskriterium: Falls Zug zu besserer Lösung als bisher gefunden führt, überschreibe Tabu-Status Zusätzliches tie-breaking Kriterium: Gibt es mehrere beste Nachbarlösungen, breche diesen tie zugunsten einer Variablen die maximal viele Klauseln neu verletzt. Definition (Graphenfärbeproblem) Geg.: Graph G = (V, E) Ges.: Weise jedem Knoten v V eine Farbe xv {1,..., k} zu, sodass (u, v) E gilt xu xv Optimierungsvarianten: Minimie Anzahl k der notwendigen Farben Minimie Anzahl der verletzten Kanten Heuristische Optimierungsverfahren 117 Heuristische Optimierungsverfahren 118 Bsp.: TS für das Graphenfärbeproblem (contd.) Evaluierungskriterium: Minimiere Anzahl der verletzten Kanten Nachbarschaft: Färbung, die sich genau in der Farbe eines Knoten unterscheidet Tabuattribute: Paare (v, j) mit v V, j {1,..., k}, d.h. bestimmte Farbzuweisungen (j) zu bestimmten Knoten (v) Tabukriterium: Wird Zug (v, j) (v, j ) durchgeführt, wird Attribut (v, j) für tl Iterationen verboten Aspirationskriterium: Falls Zug zu besserer Lösung als bisher gefunden führt, überschreibe Tabu-Status Einschränkung der Nachbarschaft: Betrachte nur Farbzuweisungen für Knoten, die in eine Constraintverletzung involviert sind Heuristische Optimierungsverfahren 119 Reactive Tabu Search (Battiti und Tecchiolli, 1994) ursprünglich entwickelt für QAP und 0/1-Rucksack Problem Tabulistenlänge wird adaptiv angepasst: Erhöhung um konstanten Faktor bei Erkennen eines Zyklus Sei m die durchschnittliche Zyklenlänge Erniedrigung um konstanten Faktor, wenn letzte Erhöhung mehr als m Iterationen zurückliegt Diversifikationsmechanismus: Wird ausgeführt, wenn die Anzahl der Lösungen, die öfter als ein vorderfinierter Schwellenwert wiederholt besucht wurden, ein Limit überschreitet. Ausführung einer Anzahl zufälliger Schritte (proportional zu m) Heuristische Optimierungsverfahren 120
31 Mehrstufiges Gedächtnis Kurzzeitgedächtnis (short term memory) wesentlichster Teil der bisher behandelt wurde mittelfristiges Gedächtnis (intermediate term memory) Intensivierung der Suche Neustart von Elitelösungen z.b. mit leerer Tabuliste Lösungsattribute, die in mehreren Elitelösungen vorhanden sind werden fixiert Mehrstufiges Gedächtnis (contd.) Langzeitgedächtnis (long term memory) Diversifizierung der Suche Lenkt Suche zu noch schlecht abgedeckten Bereichen des Suchraums Führt Lösungsattribute ein, die nicht häufig benutzt werden; z.b. durch Bestrafung benutzter oder Bevorzugung seltener Attribute und etliche andere Strategien und etliche andere Strategien Heuristische Optimierungsverfahren 121 Heuristische Optimierungsverfahren 122 Weitere Arten von Gedächtnis Allgemeiner können folgende Arten von Gedächtnis verwaltet und durch vielfältige Regeln ausgenutzt werden. recency-based: Wann wurde ein Attribut zuletzt verwendet? frequency-based: Wie häufig wurde ein Attribut verwendet? quality-based: Wie war der bisher beobachtete Einfluss eines Attributs auf den Zielfunktionswert? influence-based: Wie stark war bisher die Auswirkung eines Attribut in Bezug auf Lösungsstruktur oder Gültigkeit? Heuristische Optimierungsverfahren 123 Zusammenfassung zu TS viele unterschiedliche Strategien für Gedächtnis Diversifizierung Intensivierung viele erfolgreiche Anwendungen oft exzellente Ergebnisse und vergleichsweise schnell meist relativ zeitintensives Fine-Tuning notwendig Heuristische Optimierungsverfahren 124
32 Guided Local Search (GLS) Um lokalen Optima zu entkommen, wird die Evaluierungsfunktion systematisch verändert. Guided Local Search (GLS) Addition von Strafkosten für Attribute von bereits erreichten lokalen Optima: M h(x) = f (x) + λ pi Ii(x) i=1 M: Anzahl der Lösungsattribute Ii(x): Indikatorfunktion die zeigt, ob Lösungsattribut i in x auftritt λ: Steuert Einfluss der Strafkosten pi: Wird erhöht wenn lokales Optimum mit diesem Attribut erreicht auch light-weight tabu search genannt Heuristische Optimierungsverfahren 125 Heuristische Optimierungsverfahren 126 procedure Guided Local Search begin i = 1,..., M : pi 0; x Ausgangslösung; repeat: x lokale Suche (x, f + λ M i=1 pi Ii); i = 1,..., M : util i Ii(x ) ci/(1 + pi); for each i with utili maximal do pi pi + 1; until Abbruchkriterium erfüllt; return beste Lösung bzgl. f (x); end util i: Ausnutzung von Attribut i ci: Kosten von Attribut i Faktor 1/(1 + pi): verhindert zu häufiges Bestrafen der gleichen Attribute Heuristische Optimierungsverfahren 127 Bsp.: Guided Local Search für SAT (Mills, Tsang, 2000) Lokale Suche: 1-flip Nachbarschaft tie-breaking Kriterium zugunsten der am längsten nicht modifizierten Variablen Lösungsattribute sind Klauseln bei lokalen Minima werden für verletzte Klauseln Strafkosten addiert eines der besten Verfahren für gewichtetes MAX-SAT Weitere Anwendungen: TSP, VRP, QAP,... Heuristische Optimierungsverfahren 128
33 Testen von Meta-Heuristiken Suchraumanalyse Testen von Meta-Heuristiken Suchraumanalyse Teil III Analyse von Metaheuristiken Testen von Meta-Heuristiken Heuristische Optimierungsverfahren 129 Heuristische Optimierungsverfahren 130 Testen von Meta-Heuristiken Suchraumanalyse Testen von Meta-Heuristiken Suchraumanalyse Testen Testen (contd.) Um verschiedene Optimierungsverfahren für ein Problem miteinander zu vergleichen, ist man meist auf empirische Tests angewiesen. Performance-Maße: Lösungsqualität Laufzeit Speicherverbrauch Robustheit (in Bezug auf mehrere Durchläufe für gleiche Instanz, unterschiedliche Arten von Instanzen,... ) Insbesondere bei stochastischen Verfahren ist zu beachten: Nie von einem Durchlauf auf das durchschnittliche Verhalten schließen! Immer Ergebnisse mehrere Durchläufe ( 30) heranziehen und Mittelwerte (Mediane) bzw. Standardabweichungen berechnen Nie vom Verhalten bei einer Probleminstanz auf das Verhalten für alle Instanzen schließen! Wird vermutet, dass ein Verfahren X im Durchschnitt bessere Ergebnisse liefert als ein Verfahren Y, so sollte zur Bestätigung ein statistischer Test durchgeführt werden. Heuristische Optimierungsverfahren 131 Heuristische Optimierungsverfahren 132
34 Testen von Meta-Heuristiken Suchraumanalyse Testen von Meta-Heuristiken Suchraumanalyse Bsp.: Student t-test Bsp.: Student t-test Gegeben: Ergebnisse {x1, x2,..., } von nx Durchläufen eines Verfahrens X xnx Ergebnisse {y1, y2,..., } von ny Durchläufen eines Verfahrens Y yny Annahme: Ergebniswerte sind normalverteilt t-wert: t = x y (nx 1)σx 2 + (ny 1)σy 2 nx ny (nx + ny 2) nx + ny Heuristische Optimierungsverfahren 133 Für ein Signifikanzniveau α (Fehlerwahrscheinlichkeit) wird z.b. aus einer Tabelle ein Grenzwert tα,n mit n = nx + ny 2 bestimmt. Gilt t > tα,n, so ist der Unterschied zwischen x und y signifikant (mit der angenommenen Fehlerwahrscheinlichkeit α). Ansonsten lassen die Ergebnisse keinen Schluß zu, d.h. es sind mitunter mehr Durchläufe notwendig, oder die Annahme ist tatsächlich falsch. Z.B. α = 1%: t 1%,10 = 3.17, t 1%,20 = 2.85, t 1%, = 2.58 Alternative, falls nicht von einer Normalverteilung auszugehen ist: z.b. Wilocxon Vorzeichen-Rang Test Heuristische Optimierungsverfahren 134 Testen von Meta-Heuristiken Suchraumanalyse Testen von Meta-Heuristiken Suchraumanalyse Suchraumanalyse: Suchlandschaften Die Analyse der Struktur von Suchräumen kann Aufschluss über die Schwierigkeit der Optimumsuche bzw. Hinweise für geeignete Verfahren und die Parameterwahl geben. Suchraumanalyse Wir definieren eine Distanz d(x, y) zwischen zwei Lösungen x, y S: meist die minimale Anzahl von Zügen, um x in y überzuführen oft aber auch andere problemabhängige Maße, wie z.b. beim TSP die Anzahl unterschiedlicher Kanten Wir stellen uns den Suchraum als (Such-)Landschaft mit Gebirge, Ebenen, Hügeln, Kratern, Tälern usw. vor; die Höhe entspricht der Güte f (x) einer Lösung x. Heuristische Optimierungsverfahren 135 Heuristische Optimierungsverfahren 136
Verbesserungsheuristiken
Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.
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
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 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 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
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
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)
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
MehrGrundlagen 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
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
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,
MehrAlgorithmen 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
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
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
MehrGüte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über
Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion
MehrStackelberg Scheduling Strategien
Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:
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
MehrVorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke
Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
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
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
MehrLange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege
Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick
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
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
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
MehrKünstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 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/ws0809
MehrOptimierung für Wirtschaftsinformatiker: Analytische Optimierung ohne Nebenbedingungen
Optimierung für Wirtschaftsinformatiker: Analytische Optimierung ohne Nebenbedingungen Dr. Nico Düvelmeyer Freitag, 1. Juli 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Einführung und Wiederholung Beispiel
MehrExpander Graphen und Ihre Anwendungen
Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006
MehrDatenbankanwendung. 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
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.
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
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
MehrGraphen: 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.
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
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)
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
Mehr13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)
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,
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
MehrKompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
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
MehrEinsatz 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
Mehr1 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
MehrOECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
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
MehrSUDOKU - Strategien zur Lösung
SUDOKU Strategien v. /00 SUDOKU - Strategien zur Lösung. Naked Single (Eindeutiger Wert)? "Es gibt nur einen einzigen Wert, der hier stehen kann". Sind alle anderen Werte bis auf einen für eine Zelle unmöglich,
Mehr4 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
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrFrankfurt am Main. Dortmund. Stuttgart. Düsseldorf
Aufgabenstellung Ein Handlungsreisender will seine Produkte in den zehn größten Städten Deutschlands verkaufen. Er startet in Berlin und will seine Reise dort beenden. Die zehn einwohnerreichsten Städte
MehrVorlesung 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Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrWasserfall-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
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
MehrKonstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)
Konstruktions-Verbesserungsheuristiken Iterierte lokale Suche (ILS) Idee: 2-Phasen-Suche 1. Phase: Randomisierte Konstruktionsheuristik 2. Phase: Lokale Suche Beispiele: Multi-Start lokale Suche GRASP:
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
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
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
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,
MehrUniversität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW
Universität Bonn, Institut für Angewandte Mathematik Dr. Antje Kiesel WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW 08.03.2013 Matrikelnummer Platz Name Vorname 1 2 3 4 5 6
MehrGleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
Mehrgeben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrLineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
MehrOptimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen
Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen Dr. Abebe Geletu Ilmenau University of Technology Department of Simulation and Optimal Processes
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:
MehrAlgorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer
Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen
MehrLineare Differentialgleichungen erster Ordnung erkennen
Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die
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
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
Mehr4. Versicherungsangebot
4. Versicherungsangebot Georg Nöldeke Wirtschaftswissenschaftliche Fakultät, Universität Basel Versicherungsökonomie (FS 11) Versicherungsangebot 1 / 13 1. Einleitung 1.1 Hintergrund In einem grossen Teil
Mehr5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus
5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
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
MehrErzeugung zufälliger Graphen und Bayes-Netze
Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache
MehrVerkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau
Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? 1 x x = Anteil der Fahrzeuge, die dort entlang fahren Verkehrsstauspiel:
MehrInstitut für Leistungselektronik und Elektrische Antriebe. Übungen Regelungstechnik 2
Institut für Leistungselektronik und Elektrische Antriebe Prof. Dr.-Ing. J. Roth-Stielow Übungen Regelungstechnik 2 Inhalt der Übungen: 1. Grundlagen (Wiederholung RT1) 2. Störgrößenaufschaltung 3. Störgrößennachbildung
MehrDie Optimalität von Randomisationstests
Die Optimalität von Randomisationstests Diplomarbeit Elena Regourd Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf Düsseldorf im Dezember 2001 Betreuung: Prof. Dr. A. Janssen Inhaltsverzeichnis
MehrHeuristische Verfahren
Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.
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)
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
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrKapitel 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
MehrBerechnung der Erhöhung der Durchschnittsprämien
Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die
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
MehrMathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
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
MehrMusterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrGliederung. 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
MehrIm Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b
Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
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
MehrB 2. " Zeigen Sie, dass die Wahrscheinlichkeit, dass eine Leiterplatte akzeptiert wird, 0,93 beträgt. (genauerer Wert: 0,933).!:!!
Das folgende System besteht aus 4 Schraubenfedern. Die Federn A ; B funktionieren unabhängig von einander. Die Ausfallzeit T (in Monaten) der Federn sei eine weibullverteilte Zufallsvariable mit den folgenden
Mehr4. 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.
MehrAnwendertreffen 20./21. Juni
Anwendertreffen Verbindungsmittelachsen VBA Allgemein Die Verbindungsmittelachsen werden nun langsam erwachsen. Nach zwei Jahren Einführungszeit haben wir bereits viele Rückmeldungen mit Ergänzungswünschen
Mehr