Heuristische Optimierungsverfahren

Größe: px
Ab Seite anzeigen:

Download "Heuristische Optimierungsverfahren"

Transkript

1 Univ.-Prof. Dr. Günther Raidl Heuristische Optimierungsverfahren Folien zur gleichnamigen Lehrveranstaltung VU2 WS 2005/2006 Günther Raidl 25. Oktober 2005 Institut für Computer Grafik und Algorithmen Abteilung für Algorithmen und Datenstrukturen Favoritenstraße 9 11/1861, 5. Stock, Stiege Wien Sprechstunde: Montag, 15:00-16:00 Telefon: 01/ raidl@ads.tuwien.ac.at Webseite zur Lehrveranstaltung: Unimodale und multimodale Funktionen Arten von Optimierungsaufgaben Kontinuierliche Parameteroptimierung Kombinatorische Probleme Nichtlineare Strukturen, z.b.: - Neurale Netze - Computer Programme - Elektronische Schaltkreise 1 2

2 Kombinatorische Optimierungsprobleme Beispiele für kombinatorische Optimierungsprobleme Definition: Ein kombinatorisches Optimierungsproblem ist eine Menge von Problem-Instanzen. Eine Instanz ist ein Paar (S, f), wobei Finden von kürzesten Wegen bzw. Rundreisen Routenplanung für Güterzulieferung an Kunden S die Menge aller zulässigen Lösungen (Suchraum) und f : S R die zu minimierende (oder maximierende) Zielfunktion ist. 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)). Stundenplanerstellung Scheduling von Prozessen Optimale Investitionsauswahl bei beschränktem Budget Pack- und Verschnittprobleme 3 4 Beispielinstanzen zum TSP Beispiel: Das Traveling Salesman Problem (TSP) Geg.: Vollständiger Graph G = (V, E) mit Kantengewichten d i,j 0, (i, j) E. Ges.: Hamilton scher Kreis mit geringstem Kantengewicht, d.h. eine kürzeste Rundreise bei der jeder Knoten genau eimal besucht wird. Kürzeste Tour durch 532 Städte in den USA Unterklassen: Euklidische Instanzen Symmetrisches TSP, d.h. i, j : d i,j = d j,i Asymmetrisches TSP, d.h. i, j d i,j d j,i... Instanz bei der Leiterplattenherstellung 5 6

3 Praxisrelevante Erweiterung: Routenplanung (VRP) Beispiel einer VRP Instanz Kunden (z.b. Bars) mit geg. Bedarf müssen beliefert werden. Es steht nur ein Depot zur Verfügung (Ausgangs- und Endpunkt der Fahrzeuge) 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. Mögliche Lösung 7 8 Mögliche Erweiterungen in der Praxis 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 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 Kosten von Wegstrecken sind zeitabhängig 9 10

4 Schwierige Probleme Beispiele herkömmlicher Optimierungsmethoden Manche Optimierungsaufgaben sind schwierig zu lösen, wegen Größe bzw. Komplexität des Suchraums, sehr viele lokale Optima (multi-modal) Randbedingungen verkomplizieren Suche nach Optimum zu optimierende Funktion ist verrauscht oder ändert sich mit der Zeit Es gibt mehrere Zielfunktionen ( eine Menge von Pareto-optimalen Lösungen ist gesucht) Zufallssuche: globale Methode, sehr allgemein anwendbar, aber meistens ineffizient Simplex-Methode: für lineare Zielfunktionen mit linearen Randbedingungen Aufzählungsmethoden: primitives Aufzählen ineffizient bei größeren Suchräumen besser: dynamic programming, branch-and-bound Gradienten-Methoden: lokale Methode, benötigt Ableitung Heuristische Methoden Überblick über in dieser VU behandelte Verfahren liefern nicht unbedingt das Optimum, aber hoffentlich gute Näherungslösungen. Man unterscheidet: Konstruktionsheuristiken: meist sehr problemspezifisch, häufig schnell und einfach aufgebaut Verbesserungsheuristiken: (lokale Suchverfahren, Metaheuristiken) setzen auf Konstruktionsheuristiken auf, problemunabhängiger, oft langsamer aber bessere Ergebnisse Konstruktionsheuristiken Einfache lokale Suche und Varianten Simulated Annealing Tabu Suche Variable Neighborhood Search Guided Local Search Greedy Randomized Adaptive Search Procedures (GRASP) Genetische Algorithmen Evolutionsstrategien Ant Colony Optimization Genetic Programming 13 14

5 No-Free-Lunch Theorem (Wolpert und Macready, 1996) Alle Optimierungsverfahren sind über alle Probleme hinweg gesehen gleich gut. Konstruktionsheuristiken Das gilt auch für die Zufallssuche! Man sollte die Leistungsfähigkeit von Optimierungsverfahren daher immer in Bezug auf bestimmte Aufgabenstellungen betrachten Konstruktionsheuristiken Häufiges Schema: Beispiele für Konstruktionsheuristiken starten mit einer leeren Lösung füge in jedem Schritt eine Lösungskomponente hinzu erweitern partielle Lösungen und verkleinern diese nie Greedy Verfahren: Bewerten zusätzliche 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 17 Rucksack Problem: Greedy Heuristik Minimaler Spannbaum: Prims und Kruskals Algorithmen (greedy, liefern globales Optimum) TSP Nächste Nachbar Heuristik (greedy) Einfüge-Heuristiken (greedy) Spannbaum Heuristik Christophides Heuristik Einige dieser Algorithmen bieten Gütegarantien Approximationsalgorithmen 18

6 Bsp. zu Nächste Nachbar Heuristik Einfüge-Heuristiken für TSP Beginne mit einer Tour aus 3 Städten (oder bei Euklidischer Instanz: konvexe Hülle) Füge alle restlichen Städte hinzu bis Tour komplett. Strategien zur Wahl der nächsten 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 Random Insertion: Einfügen einer zufällig gewählten Stadt Einfügeposition Wahl durch Minimierung der Tourlänge Nach der nächstgelegenen Stadt in Tour 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.) 21 22

7 Bestandteile der lokalen Suche Nachbarschaftsstruktur Definition eines Suchraums, d.h. der Lösungsrepräsentation und einer Zielfunktion f(x) Initialisierung für Anfangslösung Nachbarschaftsdefinition, d.h. welche Lösungen sind benachbart? Schrittfunktion, d.h. in welcher Reihenfolge wird Nachbarschaft durchsucht bzw. welche Nachbarlösung wird gewählt? Definition: 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 genannt. Nachbarschaft ist üblicherweise implizit durch mögliche Veränderungen (Züge) definiert Darstellung als Nachbarschaftsgraph Abbruchbedingung Größe der Nachbarschaft vs. Suchaufwand Beispiel: Binäre Strings k-flip Nachbarschaft: Lösungen haben Hamming-Distanz k, d.h. sie unterscheiden sich in maximal k Bit. Beispiel: TSP Nachbarschaftsgröße: O(n k ) Ausgangslösung ist eine beliebige Tour k-opt Nachbarschaft: Lösungen unterscheiden sich in maximal k Kanten Nachbarschaftsgröße in O(n k ) Beispiel: 2-opt für TSP k-flip Nachbarschaften von Bitstrings der Länge n sind n-dimensionale Hypercubes

8 2-opt Lösungen zum TSP 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 schon zu teuer Verschiedene andere Nachbarschaften vorgeschlagen node-insertion 2.5-opt Lin-Kernighan Einfaches Analyse-Beispiel: Schrittfunktion (Auswahl von x ) Das OneMax Problem Lösungsraum: Binäre Strings x {0, 1} n 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. Zielfunktion: f(x) = d H (x, x n ) = x i x i (Hammingdistanz), i=1 wobei x ein vorgegebene Optimum ist, z.b. x = (1,..., 1). Best Improvement: Durschuche N(x) vollständig und nimm die beste Nachbarlösung. Wahl kann starken Einfluss auf Performance haben! Wir betrachten eine einfache 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? 29 30

9 Offensichtlich: Best-case Laufzeit: T best = Θ(n) (Ausgangslösung ist x ) Worst-case Laufzeit: T worst = Bei stochastischen Algorithmen ist vor allem die erwartete Laufzeit interessant: Wir definieren Zustände Z 0 bis Z n, wobei sich der Algorithmus genau dann in Zustand Z i befindet, wenn f(x) = i. Zu erwartender Anfangszustand: Z n/2, d.h. die Hälfte der Bits ist richtig gesetzt. 31 Chernoff s Ungleichung bestätigt, dass die Abweichungen von diesem erwarteten Anfangszustand i.a. klein sind: Seien (X 1,..., X n ) {0, 1} unabhängige Zufallsvariablen. Sei p i = P r(x i = 1). Sei X = X X n Der Erwartungswert ist E(X) = p p n, und es gilt für 0 δ 1 P r(x (1 δ)e(x)) e E(X)δ2 /2 und für alle δ > 0: ( e δ ) E(X) P r(x > (1 + δ)e(x)) (1 + δ) 1+δ. Eine für unseren Fall interessante Folgerung: Die Wahrscheinlichkeit, dass weniger als 1/3 der Bits richtig sind ist beschränkt mit e n/ Wahrscheinlichkeit Z i Z i 1 in einer Iteration: p i = i n, i = 1,..., n Zu erwartende Anzahl von notwendigen Iterationen bis Z i Z i 1 : t i = 1 p i = n i Wir summieren t i für i = n/2,..., 1: n/2 i=1 n i = n n/2 i=1 H k... k-te Harmonische Zahl: ln (k + 1) < H k 1 + ln k 1 i = n H n/2 n ln n 2 Aufwand pro Iteration: Θ(n) für vollständige Berechnung des Zielfunktionswertes Erwartete Gesamtlaufzeit: T expected = Θ(n 2 log n) H k ln k Einfache und sehr effektive Verbesserung: Inkrementelle Berechnung des Zielfunktionswertes! 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: f(x ) = f(x) + f(x, x ) Aufwand pro Iteration: Θ(1) Erwartete Gesamtlaufzeit: T expected = Θ(n log n) Die inkrementelle Bewertung ist auch für viele schwierige Optimierungsaufgaben aus der Praxis eine wichtige Beschleunigungsmöglichkeit! 33 34

10 Das Coupon Collector s Theorem bestätigt, dass die Wahrscheinlichkeit einer Abweichung von dieser Laufzeit exponentiell klein ist: Next Improvement Schrittfunktion Es gibt n unterschiedliche Typen von Sammelkarten Genauer: Immer alle Bits in der Reihenfolge 1, 2,... durchgehen; wenn ein Bitflip eine Verbesserung ergibt, ist diese Lösung x. 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 P r(x n ln n cn) = e ec n lim P r(x n ln n cn) = 1 e e c n Laufzeiten bei inkrementeller Bewertung: T best = Θ(n) T worst = Θ(n 2 ) Durchschnittlicher, erwarteter Aufwand, um x zu bestimmen: Θ(n/2) Bei n/2 erwarteten Iterationen ist die erwartete Gesamtlaufzeit: ( (n ) ) 2 T expected = Θ = Θ(n 2 ) Problem der lokalen Suche Best Improvement Schrittfunktion Die einfache lokale Suche findet im allgemeinen nur lokal optimale Lösungen: 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: T best = Θ(n) T worst = T expected = Θ(n 2 ) 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 Leider sind solche Analysen für interessante Probleme aus der Praxis kaum möglich! globale Minima sind spezielle lokale Minima Was wir uns wünschen würden: kleine exakte Nachbarschaften, in denen jedes lokale Minimum auch ein globales ist 37 38

11 Einfache Verbesserungsmöglichkeiten 2. Multi-start lokale Suche 1. Nachbarschaftsvergrößerung i.a. weniger und bessere lokale Minima mit größeren basins of attraction basin of attraction A(x): Teilmenge aller Lösungen, für die die Anwendung der einfachen lokalen Suche das lokale Optimum x ergibt. Lokale Suche von mehreren unterschiedlichen Ausgangslösungen aus durchführen sehr einfache Verbesserung, aber natürlich zeitaufwendig effektiv wenn relativ wenige lokale Minima bzw. das globale Optimum ein großes basin of attraction besitzt meist wesentlich zeitaufwendiger 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 Greedy Randomized Adaptive Search Procedure (GRASP) Perturbation: Zufälliger Zug in einer größeren Nachbarschaft bzw. eine Serie von zufälligen Zügen mit kleinerer Nachbarschaft 41 42

12 Greedy Randomized Adaptive Search Procedure (GRASP) Grundlegende Idee: Greedy-Konstruktionsheuristiken werden systematisch randomisiert, um viele gute Startlösungen für eine nachfolgende lokale Suche zu generieren Erste Ansätze von Feo und Resende (1989) Randomisierung von Greedy-Konstruktionsheuristiken 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 Nachfolgende lokale Suche Mechanismen zur Bestimmung von RCL Nimm die k kostengünstigsten Lösungskomponenten Seien c min und c max die geringsten bzw. höchsten Komponentenkosten in CL. Übernehme ein e CL nach RCL wenn c(e) c min + α (c max c min ), α [0, 1] α = 0 ˆ= greedy Konstruktionsheuristik α = 1 ˆ= zufällige Lösungskonstruktion 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 45 46

13 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 Bsp.: Quadratic Assignment Problem (QAP) Geg.: n Abteilungen, n Standorte D = (D i,j ) R n n : Distanzen zwischen Standorte F = (F i,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) = F i,j D xi,x j i=1 j=1 Einfache Parallelisierung 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 Bsp.: Aussagenlogisches Erfüllbarkeitsproblem (SAT) Geg.: Eine aussagenlogische Formel in konjunktiver Normalform, z.b. (x 1 x 2 ) (x 1 x 2 ) Ges.: Zuweisung von 1 ( true ) und 0 ( false ), sodass alle Klauseln erfüllt sind. Lösungsrepräsentation: Binärer Vektor x konzeptionell eines der einfachsten Probleme zufällige Wahl eines Abteilung/Standort Paares aus RCL 2-opt lokale Suche 49 NP-vollständig eines der wichtigsten Probleme in der Informatik Optimierungs-Variante: MAX-SAT: Anzahl der erfüllten Klauseln soll maximiert werden. 50

14 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 x i = 1 Sei Φ i : Menge der zusätzlich erfüllten Klauseln, wenn x i = 0 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 RCL-Beschränkung: best improvement 1-flip lokale Suche Sei Φ = max( Φ + i, Φ i ) für alle i sodass Variable x i noch nicht instantiiert ist Φ + i α Φ x i = 1 RCL Φ i α Φ x i = 0 RCL Zusammenfassung zu GRASP einfach zu implementierende Erweiterung von Konstruktionsheuristiken wenige Parameter Variable Neighborhood Search (VNS) viele Anwendungen oft relativ schnell bei relativ guten Ergebnissen 53 54

15 Variable Neighborhood Search Variable Neighborhood Descent (VND) (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. Es gibt ein Pool unterschiedlicher Nachbarschaftsstrukturen N 1,..., N lmax, welche systematisch gewechselt werden. procedure Variable Neighborhood Descent (x) begin l 1; repeat: finde ein 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 Üblicherweise wird VND mit der Schrittfunktion best improvement oder next improvement verwendet. So 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: symmetrisches TSP N 1 (x) : 2-opt, N 2 (x) : Verschieben einer Stadt, N 3 (x): Austausch zweier Städte, N 3 (x) : 3-opt 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 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

16 Zu den Nachbarschaftsstrukturen N 1,..., N kmax procedure Reduced VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x N k (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 59 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. 60 Basic Variable Neighborhood Search (BVNS) RVNS wird um eine einfache lokale Suche erweitern: procedure Basic 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 61 General Variable Neighborhood Search (GVNS) Kombiniert RVNS mit VND. Die Nachbarschaftsstrukturen der VNS (N 1,..., N kmax ) und des VND (N 1,..., N lmax ) sind nicht ident! 62

17 procedure General VNS (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x N k (x); x lokale Suche mit VND (x ): l 1; repeat: finde ein 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 ; 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 63 Variable Neighborhood Decomposition Search (VNDS) Variante bzw. Erweiterung von (Basic) VNS. procedure VN Decomposition Search (x) begin repeat: k 1; repeat: Shaking: generiere zufälliges x N k (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 jene in Y werden optimiert; 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 64 Variable Tiefensuche Variable Tiefensuche komplexere Züge werden aus einer Aneinanderkettung einfacher (nicht notwendigerweise unabhängiger) Züge aufgebaut Anzahl einfacher Züge ist variabel Züge sind nicht unabhängig von einander Nachbarschaft wird durch gewisse Restriktionen beschränkt 65 66

18 Bsp. zu variabler Tiefensuche: Lin Kernighan Heuristik für TSP Prinzip Starte mit Tour T komplexere Züge werde aus Folge abhängiger 2-opt Züge aufgebaut variable Anzahl von k Kanten kann ausgetauscht werden Nachbarschaft in polynomieller Zeit durchsuchbar δ-pfad und Umwandlung in Tour: Erzeuge Folge von δ-pfade die kürzer als T Berechne zu jedem δ-pfad zugehörige Tour T (P ) Falls T (P ) kürzer als T, setze T T (P ) Setze Reihe der δ-pfade fort bis δ-pfad länger als beste Tour v u w v w Neu hinzugefügte oder gelöschte Kanten dürfen nicht wieder gelöscht bzw. hinzugefügt werden. u u lange Zeit beste Heuristik für TSP effiziente Implementierung nicht trivial Very Large Neighborhood Search (VLNS) 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. Oft beinhaltet N(x) alle Lösungen, die von x aus durch eine beliebigen Serie unabhängiger Züge erreicht werden können. Manchmal wird auch variable Tiefensuche als VLNS-Methode angesehen. Oft ist N(x) exponentiell von der Problemgröße abhängig; die beste Nachbarlösung kann trotzdem in polynomieller Zeit gefunden werden

19 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 Beispiel 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. ü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 Für Halin Graphen kann das TSP in der Zeit O(n) gelöst werden! Bsp. zu effizienten Verfahren zur Lösung von Spezialfällen: TSP (2) Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP Definition der 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. Größe der Nachbarschaft: Ω(2 n ) Zeit für das Finden der besten Nachbarlösung: O(n) Idee: Wähle k Städte der aktuellen Tour und ersetze sie und ihre inzidenten Kanten durch direkte Verbindungen der jeweiligen Nachbarknoten. Die Nachbarschaft N(x) beinhaltet alle Touren, die aus der modifizierten 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

20 Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (2) a 1 4 h 6 8 e 2 b c d i f 5 g k 7 3 Improvement Graph: a i k g h Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (3) Finden der besten Nachbarlösung: Konstruiere einen vollständigen, bipartiten Improvement Graphen: Knotenmenge: Knoten für alle entfernten Städte, Knoten für alle Kanten in modifizierter Tour 8 h g 1 a i 5 3 Minimum Cost Matching a i k g h Kantenmenge: Kanten zwischen allen Stadt-Knoten i und Kanten-Knoten e = (u, v) mit Kosten, die die Änderung der Tourlänge widerspiegeln, wenn der Knoten i zwischen u und v eingefügt wird: c(i, (u, v)) = c(u, i) + c(i, v) c(u, v) k Bsp. Nachbarschaftsdurchsuchung mittels Assignment: TSP (4) Finde ein Matching mit kleinstem Gewicht im Ausgangsgraphen (Zeitaufwand: O(n 3 )) Dieses liefert die Stellen, an denen die entfernten Städte in der modifizierten Tour wieder eingefügt werden. Simulated Annealing Größe der Nachbarschaft wenn k = n/2 : Ω( n/2!) Zeit für das Finden der besten Nachbarlösung: O(n 3 ) 77 78

21 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 procedure Simulated Annealing begin t 0; T T init ; x Ausgangslösung; repeat: repeat: wähle ein x N(x); 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 Z... Zufallszahl [0, 1) Z < e f(x ) f(x) /T... Metropolis-Kriterium Annealing: Temperatur T wird langsam erniedrigt Zu entscheiden: Abkühlungsplan Bsp.: SA für TSP Anfangstemperatur T init (z.b. basierend auf statistischen Daten oder Schranken) Änderungsfunktion g(t, t) z.b. Geometrisches Abkühlen: g(t, t) = T α, α < 1, (z.b. 0.95) Anzahl der Iterationen bei jeder Temperatur (z.b. Vielfaches der Nachbarschaftsgröße) Abbruchkriterium Einfache Implementierung: (Johnson, McGeoch, 1997) Start mit zufälliger Ausgangstour 2-opt Nachbarschaft Abkühlungsplan: T init so, dass 3% der Züge abgelehnt geometisches Abkühlen, α = 0.95 Temperaturlänge: n(n 1) Abbruch: 5 Temperaturen ohne Verbesserung relativ schlechte Ergebnisse 81 82

22 Bsp.: Graphenbipartitionierung Geg.: Graph G = (V, E) Verbesserungen Start mit guten Ausgangslösungen Ges.: Partitionierung von G in zwei Knotenmengen V 1, V 2, mit V 1 = V 2 und V 1 V 2 = V, minimize {(u, v) E u V 1 v V 2 } Beschränkung der Nachbarschaft Dennoch: im Vergleich zu anderen Verfahren für das TSP nicht wettbewerbsfähig. Kodierung der Lösung: Charakteristischer Vektor x = (x 1,..., x n ), n = V Knoten i wird Menge V xi zugewiesen SA für Graphenbipartitionierung (Johnson et al. 1989) Weiterentwicklungen von SA eine der ersten Anwendungen von SA Nachbarschaft: Austausch zweier Knoten Modifizierte Zielfunktion: f(v 1, V 2 ) = {(u, v) E u V 1 v V 2 } + γ( V 1 V 2 ) 2 γ: imbalance factor erlaubt kleinere Nachbarschaft: Move eines Knotens (n gegenüber n 2 /4) Startlösung: zufällig ähnlicher Abkühlplan wie beim TSP Vergleich mit Kernighan-Lin Heuristik: Nichtmonotone Abkühlungspläne Dynamische vs. statische Abkühlungspläne Deterministische Untersuchung der Nachbarschaft Kombination mit anderen Verfahren Parallelisierung Auf zufälligen Graphen ist SA besser, auf Euklidischen Graphen Kernighan-Lin 85 86

23 Zusammenfassung zu SA Mehrere Hundert Anwendungen SA ist eine der am häufigsten verwendeten und besten untersuchten Metaheuristiken Tabu Suche Oft relativ einfach zu implementieren Gute Ergebnisse, aber oft auf Kosten langer Laufzeiten Grundidee der Tabu Suche (TS) Tabu Suche Basisalgorithmus (Glover 1986; Hansen, 1986) basiert auf ein Gedächtnis (History) über den bisherigen Optimierungsverlauf und nutzt dieses um über lokale Optima hinweg zu kommen meist deterministische Leitung der Suche in jedem Schritt wird die beste benachbarte Lösung angenommen, auch wenn diese schlechter ist als die aktuelle Vermeidung von Zyklen durch Verbieten des Wiederbesuchens früherer Lösungen Ausnutzung des Gedächtnisses procedure Tabu Suche begin T L ; // Tabu-Liste x Ausgangslösung; repeat: X Teilmenge von N(x) unter Berücksichtigung von T L; x beste Lösung von X ; füge x zu T L hinzu; lösche Elemente aus T L die älter sind als t L Iterationen; x x ; if x ist besser als bisher beste Lösung then merke x; until Abbruchkriterium erfüllt; end 89 90

24 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 t L Iterationen verboten wichtiger Parameter: Tabulistenlänge t L Parameter: Tabulistenlänge t L ist ein wesentlicher Parameter zu kurze Tabulisten können zu Zyklen führen zu lange Tabulisten verbieten viele mögliche Lösungen und beschränken stark die Suche geeignete Länge meist problemspezifisch, muss experimentell bestimmt werden, oder zufällig aus Intervall wählen und in bestimmten Abständen neu wählen für jeden Zug zufällig neu wählen häufig sinnvoll: verschiedene Tabuattribute, mehrere Tabulisten Tabu Suche für SAT Aspirationskriterien (Hansen, Jaumard, 1990; Selman, Kautz, 1994) Nachbarschaft: 1-flip Nachbarschaft manchmal können noch nicht besuchte Lösungen verboten sein obwohl sie sehr gut sind Tabuattribut: Variablen Aspirationskriterien überschreiben Tabustatus interessanter Lösungen Beispiel für einfaches Aspirationskriterium: Eine verbotene Lösung ist besser als die bisher beste besuchte Lösung Tabukriterium: Flippen einer Variable ist für t L Iterationen verboten Aspirationskriterium: Falls Flip einer Variablen zu besserer Lösung führt, wird Tabustatus überschrieben Zusätzliches tie-breaking Kriterium: Breche ties zugunsten einer Variable die maximal viele Klauseln neu verletzt 93 94

25 TS für Graphenfärbeproblem Evaluierungskriterium: Minimiere Anzahl der verletzten Kanten Bsp.: Graphenfärbeproblem Nachbarschaft: Färbung, die sich genau in der Farbe eines Knoten unterscheidet Geg.: Graph G = (V, E) Ges.: Weise jedem Knoten v V eine Farbe x v {1,..., k} zu, sodass (u, v) E gilt x u x v In Optimierungsvarianten soll die Anzahl k der notwendigen Farben oder die Anzahl der verletzten Kanten minimiert werden. Tabuattribute: Paare (V i, j), d.h. bestimmte Farbzuweisungen (j) zu bestimmten Knoten (V i ) Tabukriterium: Wird Zug (V i, j) (V i, j ) durchgeführt, wird Attribut (V i, j) für t L Iterationen verboten Aspirationskriterium: Falls eine Farbe für Knoten zu neuer bisher bester Lösung führt, wird Tabustatus überschrieben Einschränkung der Nachbarschaft: Betrachte nur Farbzuweisungen für Knoten, die in eine Constraintverletzung involviert sind Mehrstufiges Gedächtnis Kurzzeitgedächtnis (short term memory ) wesentlicher Teil der hier 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 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 97 98

26 Zusammenfassung zu TS viele unterschiedliche Strategien für Gedächtnis, Diversifizierung, Intensivierung sehr viele Anwendungen Guided Local Search oft sehr gute Performance oft relativ zeitintensives Fine-Tuning notwendig Guided Local Search (GLS) Um lokalen Optima zu entkommen, wird die Evaluierungsfunktion systematisch verändert Addition von Strafkosten für Attribute von bereits erreichten lokalen Optima Verwendete Evaluierungsfunktion: M h(x) = f(x) + λ p i I i (x) i=1 M: Anzahl der Lösungsattribute I i (x): Indikatorfunktion zeigt ob Lösungsattribut i in x auftritt λ: Steuert Einfluss der Strafkosten p i : Wird erhöht wenn lokales Optimum mit diesem Attribut erreicht wurde procedure Guided Local Search begin i = 1,..., M : p i 0; x Ausgangslösung; repeat: x lokale Suche (x, f + λ M i=1 p i I i ); i = 1,..., M : util i I i (x ) c i /(1 + p i ); for each i with util i maximal do p i p i + 1; until Abbruchkriterium erfüllt; return beste Lösung bzgl. f(x); end util i : Ausnutzung von Attribut i c i : Kosten von Attribut i Faktor 1/(1 + p i ) verhindert zu häufiges Bestrafen der gleichen Attribute auch light-weight tabu search genannt

27 Bsp.: GLS für SAT (Mills, Tsang, 2000) Lokale Suche: 1-flip Nachbarschaft, tie-breaking Kriterium zugunsten der am längsten nicht geflippten Variablen Lösungsattribute sind Klauseln Testen von Meta-Heuristiken bei lokalen Minima werden für verletzte Klauseln Strafkosten addiert derzeit eines der besten Verfahren für gewichtetes MAX-SAT Weitere Anwendungen: TSP, Vehicle Routing, Quadratic Assignment Problem, Testen Um verschiedene Optimierungsverfahren miteinander zu vergleichen, ist man meist auf empirische Tests angewiesen. Performance-Maße: Lösungsqualität 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 Laufzeit Nie vom Verhalten bei einer Probleminstanz auf das Verhalten für alle Instanzen schließen! Speicherverbrauch Robustheit (in Bezug auf mehrere Durchläufe für gleiche Instanz, unterschiedliche Arten von Instanzen,... ) 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

28 Student t-test Gegeben: Ergebnisse {x 1, x 2,..., x nx } von n X Durchläufen eines Verfahrens X und Ergebnisse {y 1, y 2,..., y ny } von n Y Durchläufen eines Verfahrens Y. Für ein Signifikanzniveau α (Fehlerwahrscheinlichkeit) wird z.b. aus einer Tabelle ein Grenzwert t α,n mit n = n X + n Y 2 bestimmt. Gilt t > t α,n, so ist der Unterschied zwischen x und y signifikant (mit der angenommenen Fehlerwahrscheinlichkeit α). t-wert: t = x y (n X 1)σx 2 + (n Y 1)σy 2 n Xn Y (n X + n Y 2) n X + n Y Ansonsten lassen die Ergebnisse keinen Schluß zu, d.h. es sind mitunter mehr Durchläufe notwendig. Z.B. α = 1%: t 1%,10 = 3.17, t 1%,20 = 2.85, t 1%, = 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

29 Wichtige Charakteristika von Suchlandschaften Fitness-Distance Correlation (FDC) Verteilung (Mittel, Varianz) der Zielfunktionswerte Anzahl und Verteilung der lokalen Minima, deren Güte und relative Lage zu globalen Optima Topologie, Größe und Varianz der Attraktionsbecken Zerklüftung (ruggedness) der Suchlandschaft; verschiedene Maße sind in der Literatur zu finden Plateaus und deren Größe; Neutrality : Grad, zu welchem benachbarte Lösungen gleiche Güte haben 111 Praktische Methode, die ein Indiz dafür liefert, wie sehr eine Verbesserung der Güte einem näher zum globalen Optimum bringt. Genauer: Bestimmung der (linearen) Korrelation zwischen Lösungsgüte (lokaler Optima) und des Abstands zu globalen Optima Vorgehensweise: Wähle eine typische Probleminstanz, für die alle globalen Optima bekannt sind. Generiere systematische alle Lösungen oder k Lösungen zufällig; Ermittle für jede ihre Güte f i und Distanz zum nächsten globalen Optimum d i. 112 Aus den Fitness-Distanz-Daten wird ein Korrelationskoeffizient berechnet: ρ f,d = σ ki=1 f,d (f i f)(d i d) = σ f σ ki=1 d (f i f) 2 k i=1 (d i d) 2 ( 1 ρ f,d 1) Ergebnis: Starke Korrelation (ρ f,d 1 bei Minimierung bzw. ρ f,d 1 bei Maximierung): Deutet darauf hin, dass ein Güteanstieg im allgemeinen den Weg zum Optimum weist. leichtes Problem Schwache Korrelation (ρ f,d 0): Negative Korrelation (ρ f,d < 0 bei Minimierung oder ρ f,d > 0 bei Maximierung): Ein Güteanstieg weist im allgemeinen weg vom nächsten Optimum. irreführendes Problem Zufallssuche kann effizienter als lokale Suchverfahren sein! Lösungen mit hoher Fitness befinden sich im allgemeinen nicht in der Nähe eines Optimums. schwieriges Problem Lokale Suchverfahren sind oft nicht effizienter als Zufallssuche

30 Visualisierung der FDC Der Korrelationskoeffizient alleine kann manchmal auch irreführend sein. Manchmal sind X Y-Plots aussagekräftiger. Evolutionäre Algorithmen Beispiele für X Y Plots Häufig wird die FDC auch für lokal optimale Lösungen durchgeführt, d.h. jede Lösung wird mit einfacher lokaler Suche generiert Evolutionäre Algorithmen Computer-basierte Problemlösungssysteme, die berechenbare Modelle von natürlichen, evolutionären Prozessen als Schlüsselelemente verwenden Prinzipieller Aufbau eines EAs Charles Darwin, 1859: Werk über den Ursprung der Arten Vererbung mit Veränderungen (Mutationen) Natürliche Auslese (Selektion) Gregor Johann Mendel, : procedure EA begin P set of initial solutions; Evaluate(P ); repeat: Q GenerateNewSolutionsByVariation(P ); Evaluate(Q); P SelectBetterSolutions(P, Q); end Mendelsche Gesetze (Vererbung)

31 Unterschiede zu bisherigen Verfahren Anstatt einer einzelnen aktuellen Lösung wird mit einer Population von Kandidatenlösungen gearbeitet Robustheit: EAs sind für viele unterschiedliche Problemtypen geeignet. Spezialisierte Methoden können oft für bestimmte Probleme bessere Ergebnisse bringen. 1 spezialisierte Methode EA: robuste Methode Der Zufall spielt im allgemeinen eine große Rolle bei der Initialisierung, den Variationsoperatoren und der Selektion Effizienz Aufzählungsmethode Sehr allgemein einsetzbares Prinzip Nicht nur für kombinatorische Probleme, sondern auch kontinuierliche Parameteroptimierung und Optimierung nicht-linearer Strukturen oder Zufallssuche 0 kombinatorische Probleme unimodal multimodal Problem Typ Verschiedene Optimierungsmethoden Verbreitetste Unterkategorien Genetische Algorithmen Genetische Algorithmen Evolutionsstrategien Evolutionary Programming Idee von J. H. Holland aus den 70er Jahren Genetic Programming

32 Canonical GA procedure GA begin t 0; initialize(p (t)); evaluate(p (t)); while (not termination-condition) do t t + 1; Q s (t) select(p (t 1)); Q r (t) recombine(q s (t)); P (t) mutate(q r (t)); evaluate(p (t)); done end Kodierung Potentielle Lösungen müssen durch eine Datenstruktur repräsentiert werden. Verschiedene Begriffe werden von der natürlichen Evolutionlehre übernommen: Chromosom (Individuum): enthält alle Parameter für eine Kandidatenlösung in kodierter Form Gen: ein Chromosom ist oft ein Vektor, dessen Elemente als Gene bezeichnet werden; jedes Gen kann einen Wert einer bestimmten Wertemenge annehmen Initialisierung Allel: konkreter Wert eines Gens Genotyp: kodierte Form einer Lösung (=Chromosom) Phenotyp: dekodierte Form einer Lösung; der Genotype kann als Baubeschreibung des Phenotypes aufgefaßt werden Population: Menge von Individuen im GA Die Initialisierung der Ausgangspopulation erfolgt im allgemeinen durch Zufall oder mit Heuristiken, die möglichst unterschiedliche Lösungen liefern. Fitnessfunktion f(i) = Funktion zur Bewertung aller Individuen (Evaluation) Wir gehen ab nun davon aus: höhere Fitness ˆ= bessere Lösung niedrigere Fitness ˆ= schlechtere Lösung höchste Fitness ˆ= gesuchte optimale Lösung

33 Fitness Proportional Selection (roulette-wheel selection) Selektion = Meist zufallsgesteuerte Auswahl der Eltern zur Erzeugung der nächsten Generation Aber entsprechend der natürlichen Auslese: I7: 13% I8: 8% I1: 23% I6: 14% I5: 12% I4: 16% I3 I2: 5% 9% Bessere Individuen eher (öfter) auswählen als schlechtere. Die Selektion treibt im GA die Population in Richtung besserer Lösungen. fitness proportional selection Wahrscheinlichkeit für Individuum i bei der Selektion ausgewählt zu werden (n... Populationsgröße): p s (i) = f(i) nj=1 f(j) (f(j) > 0) mit f(j) 0 und n f(j) > 0 j= Rekombination Mutation = primärer Operator Mittels Rekombination werden neue Individuen aus den selektierten Eltern erzeugt. Ein neues Individuum (Offspring) soll möglichst aus Attributen aufgebaut werden, die bereits in den Eltern vorkommen (Vererbung, Heritability ). Beispiel: = sekundärer Operator Kleine, zufällige Änderungen, vergleichbar mit Move bei lokaler Suche Dient dem Einbringen von neuem bzw. verlorengegangenem Genmaterial (Allelen) in die Population Beispiel: point crossover Jedes Gen erhält mit geringer Wahrscheinlichkeit einen neuen, zufälligen Wert. Wahrscheinlichkeit pro Gen z.b. p m = 1/n, n... Chromosomlänge Rekombination wird entweder für alle selektierten Individuen oder für den größten Teil davon zufallsgesteuert durchgeführt (z.b. p c = 0.8). Die Paarbildung erfolgt ebenso wie die Wahl der crossover points durch Zufallsauswahl Mutation 130

34 Ein Beispiel aus dem täglichen Leben Angenommen Sie haben eine Fastfood-Kette bestehend aus 4 Lokalen geerbt und in der Führung keinerlei Erfahrung. Um möglichst bald einen maximalen Gewinn zu erzielen, müssen folgende Parameter optimiert werden: Population: 4 Lokale Generation: 1 Monat Fitness: Gewinn am Monatsende Kodierung: APQB Größe des Lösungsraums = 3 4 = 81 A Angebot : Das Angebot kann klein (0), mittelmäßig (1) oder groß (2) sein. Ausgangspopulation P Preis : Dieser kann niedrig (0), mittelmäßig (1) oder hoch (2) sein. Q Qualität : Die Angebote können niedrige (0), mittlere (1) oder hohe (2) Qualität aufweisen. B Bedienung : Es kann Selbstbedienung (0), einfachere (1) oder aufwändigere Bedienung (2) geben. Zufällige Initialisierung: P f(i) p s (i) sel. 1: : : : Σ = Generation 1. Generation Q s P f(i) p s (i) sel. 4: : : : : : : : Σ = 1080 Q s P f(i) p s (i) sel. 4: : : : : : : : Σ = 1390 Mutation bei Individuum 3 Beste Strategie (1: 0120): kleine Auswahl, mittelmäßiger Preis, hohe Qualität, Selbstbedienung

35 Schemata Das Schema Theorem Versuch einer Erklärung der Funktionsweise von GAs Schema H: Maske, die die Teilmenge aller Individuen mit gleichen Werten an bestimmten Positionen beschreibt l: Anzahl der Gene eines Indiv. A: Wertemenge eines jeden Gens k: Kardinalität von A (z.b. A = {0, 1}, k = 2) P (t): Population zum Zeitpunkt t n: Populationsgröße Größe des Suchraums = k l Darstellung: A wird um das Metasymbol (Wildcard) * zu A + erweitert. Beispiel: A + = {0, 1, } H=*000 steht für 0000, 1000 H=*11* steht für 0110, 0111, 1110, Anzahl verschiedener Schemata: (k + 1) l Jedes Individuum enthält Ausprägungen von 2 l Schemata. P (t) enthält Ausprägungen von mindestens 2 l und maximal n 2 l Schemata. Ordnung eines Schemas o(h): Anzahl der Allele, die ungleich * Beispiele: H=011*1**, o(h)=4, δ(h)=4 H=**0****, o(h)=1, δ(h)=0 H=**0***1, o(h)=2, δ(h)=4 Fitness eines Schemas f(h, t): Mittlere Fitness aller Individuen von P (t), die H repräsentieren Definierende Länge δ(h): Abstand zwischen den am weitesten links und am weitesten rechts liegenden Elementen ungleich * Ein Schema H repräsentiert eine Hyperebene der Ordnung o(h)

36 Selektion Häufigkeit von Schema H in Population P (t): m(h, P (t)) m(h, Q s (t + 1)) = f(h, t) m(h, P (t)) n nj=1 f(j) = f(h, t) m(h, P (t)) f mit f = nj=1 f(j) n 3D und 4D Hypercubes Durch die Selektion vermehren sich Schemata mit überdurchschnittlicher Fitness; unterdurchschnittliche Schemata werden weniger Vermehrungsrate von Schemata: Angenommen H besitzt eine herausragende Fitness f(h, t) = f + cf: m(h, Q s (t + 1)) = m(h, P (t)) f + cf f = m(h, P (t)) (1 + c) Über alle bisherigen Generationen hinweg ergibt das bei konstant angenommenem f eine geometrische Reihe: m(h, Q s (t)) = m(h, P (0)) (1 + c) t Achtung: Bei diesen Überlegungen wird nicht berücksichtigt, dass die Populationsgröße beschränkt ist und sich f über die Generationen hinweg erhöht! Die Betrachtungen sind daher nur für die unmittelbar nächsten Generationen gute Näherungen. m(h,p(t)) n theoretisches exponentielles Wachstum tatsächliches Wachstum Die Reproduktion liefert daher eine exponentiell wachsende/fallende Anzahl von über-/unterdurchschnittlichen Schemata. 1 Theoretische und tatsächliche Vermehrung eines Schemas t

37 Rekombination Impliziter Parallelismus: Werden Individuen in einem GA verarbeitet, so werden gleichzeitig (implizit parallel) sehr viel mehr Schemata mitverarbeitet. Crossover dient dem Einbringen neuer Schemata, zerstört aber auch vorhandene. Wahrscheinlichkeit p surv, dass ein Schema Crossover überlebt: J. Holland zeigte, dass im allgemeinen zumindest O(n 3 ) Schemata in einer Population mit n Binärstrings verarbeitet werden. H=0*****1, H=**01***, H=**0****, wird meist zerstört überlebt meistens überlebt immer Relevant ist die definierende Länge δ(h) Wahrscheinlichkeit, dass der crossover point in den Bereich der definierenden Länge fällt und damit das Schema meistens zerstört wird: p dest = δ(h) l 1 Untere Schranke für p surv bei einer Crossover-Wahrscheinlichkeit p c : p surv 1 p c δ(h) l 1 Kombination von Selektion und Rekombination: m(h, Q r (t + 1)) ( f(h, P (t)) m(h, P (t)) 1 p c δ(h) ) f l 1 Schemata mit hoher Fitness und kurzer definierender Länge werden exponentiell anwachsen. 145 Mutation Ein Schema überlebt die Mutation, wenn alle fixierten Gene nicht mutiert werden: Für sehr kleine p m gilt: Daher: p surv = (1 p m ) o(h) p surv 1 o(h) p m m(h, P (t + 1)) m(h, P (t)) ( f(h, P (t)) 1 p c δ(h) ) (1 o(h)p m) f l 1 oder näherungsweise: m(h, P (t + 1)) m(h, P (t)) ( f(h, P (t)) 1 p c δ(h) ) f l 1 o(h)p m Niedrigere Ordnung größere Überlebenswahrscheinlichkeit 146

38 Schema-Theorem Schemata mit hoher Fitness, kleiner definierender Länge und niedriger Ordnung wachsen in der Population exponentiell an. Building-Block-Hypothese Schemata hoher Fitness, kleiner definierender Länge und niedriger Ordnung werden building blocks genannt. GAs führen durch das Zusammenfügen von building blocks eine effiziente, in gewissem Sinne optimale Suche nach dem Optimum durch Irreführende Probleme (Deceptive Problems) Folgerungen aus dem Schema-Theorem Funktionen, die einen GA irreführen, haben ein isoliertes Optimum. Die Suche gleicht der Suche einer Nadel im Heuhaufen. f(x) Kodierung muß dem Problem angepaßt sein Reihenfolge der Gene spielt eine entscheidende Rolle: Stark voneinander abhängige Gene nahe nebeneinander plazieren! x Funktion mit isoliertem Optimum 149 Building blocks führen den GA auf eine falsche Fährte. 150

39 Minimal Deceptive Problem: Schemata mit o(h) = 2: Schema Fitness H 00 =***0*****0* f 00 H 01 =***0*****1* f 01 H 10 =***1*****0* f 10 H 11 =***1*****1* f 11 Es soll gelten: f 11 > f 00, f 11 > f 01, f 11 > f 10 Das Problem ist irreführend, wenn f 0 > f 1 oder f 0 > f 1 Wir betrachten den ersten Fall genauer: f 00 + f 01 2 > f 10 + f 11 2 Schemata mit o(h) = 1: f 0 = f 00 + f 01 2 f 1 = f 10 + f 11 2 f 0 = f 00 + f 10 2 f 1 = f 01 + f 11 2 Zwei Fälle: Typ I: f 01 > f 00 kaum kritisch Typ II: f 00 f 01 kritischer GA bei einem Typ I MDP Zwei Fälle von MDPs

40 Bsp.: Optimierung von kontinuierlichen Parametern Kontinuierliche Parameterwerte können binär kodiert werden: Wertebereich mit l binären Genen: [0, 2 l 1] Transformation von x [0, 2 l 1] nach scal(x) [a, b] (mit a, b R): scal(x) = x(b a) 2 l 1 + a GA bei einem Typ II MDP Eine traditionelle Binär-Kodierung ist oft sehr problematisch: x f( ) f(x) Maximum bei x= Kritisches Problem höherer Ordnung bei Binär-Kodierung Verschiedene Partitionierungen einer Funktion durch Schemata

41 Für numerische Werte werden daher im allgemeinen besser Gray-Codes verwendet: Wert Bin.-Code Gray-Code Hamming-Distanz zweier aufeinanderfolgender Werte ist immer 1 Aber: Auch Gray-Codes sind bei weitem nicht optimal! Am besten: Numerische Werte nicht binär kodieren, sondern ein Gen pro Parameter mit entsprechend großem Wertebereich. Dabei müssen geeignete Variationsoperatoren verwendet werden (siehe Evolutionsstrategien). kritische Fälle des Typs II sind seltener Scaling Wir erkennen: Notwendige Bedingung, damit ein EA effizient funktionieren kann: Man unterscheidet: Bewertungsfunktion g(i) (raw fitness): Funktion zur Bewertung eines Individuums (an das Problem angepaßter Wertebereich) Lokalitätsbedingung: Kleine Änderungen im Genotype müssen im allgemeinen kleinen Änderungen im Phenotype und in der Fitness entsprechen und umgekehrt! Sonst arbeitet ein EA nicht effizienter als reine Zufallssuche! Fitnessfunktion f(i) = scale(g(i)): Liefert Werte, die für die Selektion geeignet sind; wird aus g(i) durch Skalierung gewonnen; Eigenschaften: f(i) ist für alle möglichen Ind. i berechenbar f(i) 0 f(i) > f(j) bedeutet: Ind. i ist besser als Ind. j

42 Minimumsuche Selektionsdruck f(i) = C max g(i) wenn g(i) < C max = 0 sonst Wie sehr werden gute Individuen schlechteren bevorzugt? Zu hoher Selektionsdruck: Gute Individuen werden zu sehr bevorzugt: g(i) liefert negative Werte rasche Vermehrung dieser ( Superindividuen) Vielfalt der Population wird geringer f(i) = g(i) + C min wenn g(i) + C min > 0 = 0 sonst GA konvergiert oft vorzeitig gegen lokales Optimum Linear Scaling Zu niedriger Selektionsdruck: Gute Individuen werden kaum bevorzugt: kaum Vermehrung dieser schlechtere Individuen bleiben in Population Verfahren degeneriert zu Zufallssuche GA konvergiert nicht oder sehr langsam Lineare Transformation der Bewertungsfunktion: f(i) = a g(i) b f(i) fmax = Cm*fav fav = gav fmin g(i) gmin gav Linear Scaling gmax

Verbesserungsheuristiken

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

Mehr

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

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

Mehr

Heuristische Verfahren

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

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 19 1 Joachim Schauer ( Institut für

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Joachim Schauer Betriebliche Optimierung 1 / 31 1 Metaheuristische Verfahren 2 Joachim Schauer Betriebliche Optimierung 2 / 31 Einleitendes Metaheuristische Verfahren

Mehr

Optimierung. Vorlesung 12

Optimierung. Vorlesung 12 Optimierung Vorlesung 12 Letze Woche Approximieren von ILP durch randomisiertes Runden. Beispiel Set Cove Relaxiertes LP lösen und runden. Probleme: 1. Zielfunktionswert 2. Zulässigkeit 1. Linearität des

Mehr

Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung

Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung Lokale Suche und Nachbarschaften Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung Nachbarschaft ist Menge der Lösungen, die von einer gegebenen Lösung durch eine einfache

Mehr

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

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

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen Prof. Dr. Ottmar Beucher Dezember 2001 Genetische Algorithmen 1 Optimierungsaufgaben Ein einfaches Beispiel Prinzipielle Formulierung Lösungsansätze Genetische Algorithmen Anwendungen

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

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

Mehr

x x x x Repräsentation von Lösungen (2) Repräsentation von Lösungen (1)

x x x x Repräsentation von Lösungen (2) Repräsentation von Lösungen (1) Repräsentation von Lösungen () Repräsentation von Lösungen () Kontinuierliche Optimierung: x x x x n Binäre Optimierung: n = (,,, ) R x = ( x, x,, x ) {0,} n n Lokale Suche: x i = x i + ε Lokale Suche:

Mehr

Deterministisch vs. Zufallsgesteuert

Deterministisch vs. Zufallsgesteuert Klassifikation von Heuristiken Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Nach Komplexität: Einfache Heuristiken Hybride Heuristiken Nach Methodik: Konstruktionsheuristiken

Mehr

Repräsentation von Lösungen (1)

Repräsentation von Lösungen (1) Repräsentation von Lösungen (1) Kontinuierliche Optimierung: Binäre Optimierung: x x1 x2 x n n = (,,, ) R x = ( x1, x2,, x ) {0,1} n n Lokale Suche: x i = x i + ε Lokale Suche: x i = 1-x i 0.5 0.9 0.2

Mehr

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Adaptive Systeme Evolutionäre Algorithmen: Überlebenskampf und Evolutionäre Strategien Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Überblick Einleitung Adaptive Filter Künstliche

Mehr

Klassifikation von Heuristiken. Meta-Heuristiken. Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken

Klassifikation von Heuristiken. Meta-Heuristiken. Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Klassifikation von Heuristiken Meta-Heuristiken Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Nach Komplexität: Einfache Heuristiken Hybride Heuristiken Nach Methodik: Konstruktionsheuristiken

Mehr

Hauptseminar Repräsentationen für Optimierungsalgorithmen

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

Mehr

Einführung in das Seminar Algorithmentechnik

Einführung in das Seminar Algorithmentechnik Einführung in das Seminar Algorithmentechnik 10. Mai 2012 Henning Meyerhenke, Roland Glantz 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Roland undglantz: nationales Einführung Forschungszentrum

Mehr

10. Vorlesung Stochastische Optimierung

10. Vorlesung Stochastische Optimierung Soft Control (AT 3, RMA) 10. Vorlesung Stochastische Optimierung Genetische Algorithmen 10. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter"

Mehr

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

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

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

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

Mehr

Der Branching-Operator B

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen

Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen Diplomarbeit Thomas Scharler Universität Hamburg, FB Informatik, AB Tech Implementation und Evaluierung

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 21 (11.7.2018) String Matching (Textsuche) II Greedy Algorithmen I Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 1)

Genetische und Evolutionäre Algorithmen (Vol. 1) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. ) von Adam El Sayed Auf und Kai Lienemann Gliederung: ) Einführung 2) Grundkonzept 3) Genaue Beschreibung des Genetischen Algorithmus Lösungsrepräsentation

Mehr

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

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

Mehr

09. Übung zu Algorithmen I 12. Juli 2017

09. Übung zu Algorithmen I 12. Juli 2017 09. Übung zu Algorithmen I 12. Juli 2017 Björn Kaidel bjoern.kaidel@kit.edu mit Folien von Lukas Barth 1 / 67 Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP

Mehr

Kap. 7.6 Verbesserungsheuristiken (letzte VO)

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

Mehr

Einführung in Heuristische Suche

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

Mehr

Local Search Algorithmen 1

Local Search Algorithmen 1 Local Search Algorithmen 1 Seminar über Algorithmen Manuel Gellfart 18.05.2012 Fachbereich Mathematik und Informatik 18.05.2012 2 Gliederung 1. Einleitung 2. Theorie 3. Beispiel: Vertex Cover 4. Beispiel:

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Theoretische Informatik 1

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

Mehr

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006 Teil II Optimierung Gliederung 5 Einführung, Klassifizierung und Grundlagen 6 Lineare Optimierung 7 Nichtlineare Optimierung 8 Dynamische Optimierung (dieses Jahr nur recht kurz) (9 Stochastische Optimierungsmethoden

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Das Travelling Salesperson Problem 2 Das Travelling Salesperson Problem Zentrales Problem der Routenplanung Unzählige wissenschaftliche Artikel theoretischer sowie

Mehr

Approximationsalgorithmen. 19. Dezember / 28

Approximationsalgorithmen. 19. Dezember / 28 Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 22 1 Das Travelling Salesperson Problem

Mehr

Synthese Eingebetteter Systeme. Übung 6

Synthese Eingebetteter Systeme. Übung 6 12 Synthese Eingebetteter Systeme Sommersemester 2011 Übung 6 Michael Engel Informatik 12 TU Dortmund 2011/07/15 Übung 6 Evolutionäre Algorithmen Simulated Annealing - 2 - Erklären Sie folgende Begriffe

Mehr

Theoretische Informatik 1

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

Mehr

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

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

Mehr

Dynamisches Routing in der Logistik

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

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

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

Mehr

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung Gerold Jäger Martin-Luther-Universität Halle-Wittenberg Zusammenarbeit mit Frank Fischer, Anja Lau, Paul Molitor DFG-Projekt: Toleranzbasierte

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung 8. Optimierung Inhalt 8.1 Motivation 8.2 Optimierung ohne Nebenbedingungen 8.3 Optimierung unter Nebenbedingungen 8.4 Lineare Programmierung 8.5 Kombinatorische Optimierung 2 8.1 Motivation Viele Anwendungen

Mehr

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem

Mehr

Warum konvergieren Genetische Algorithmen gegen ein Optimum?

Warum konvergieren Genetische Algorithmen gegen ein Optimum? 1 / 21 Gliederung 1 Das Schematheorem Motivation Begriffe Herleitung Ergebnis Das Schematheorem Das Schematheorem Motivation 3 / 21 Warum konvergieren Genetische Algorithmen gegen ein Optimum? Theoretische

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS Juni 2013

Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS Juni 2013 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Übungstest SS 2013 27. Juni

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:

Mehr

Evolution und Algorithmen

Evolution und Algorithmen Kapitel 6 Spezialvorlesung Modul 10-202-2206 (Fortgeschrittene Methoden in der Bioinformatik) Jana Hertel Professur für Bioinformatik Institut für Informatik Universität Leipzig Machine learning in bioinformatics

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen Übung Stefan Florian Palkovits, BSc 09 e09@student.tuwien.ac.at 9. Juni 0 Aufgabe 9: Anwenden der Spanning Tree Heuristik auf symmetrisches TSP 9 8 7 8 8 7 Bilden eines

Mehr

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Tobias Boelter 28. Mai 2013 bei Prof. Dr. Rainer Schrader, Universität zu Köln Inhaltsverzeichnis 1 Einleitung 2 2 Lokale Suche

Mehr

Kombinatorische Optimierung

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

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 12

Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Grundlagen der Algorithmen und Datenstrukturen Kapitel 12 Christian Scheideler + Helmut Seidl SS 2009 28.06.09 Kapitel 12 1 Generische Optimierungsverfahren Techniken: Systematische Suche lass nichts aus

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Proportional Symbol Maps Florian Simon 8. Dezember, 2009 Proportional Symbol Maps Gegeben: Punkte p 1,..., p n R 2 mit zugeordneten Werten w 1,..., w n R Proportional Symbol Maps Gegeben: Punkte p 1,...,

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 2)

Genetische und Evolutionäre Algorithmen (Vol. 2) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. 2) von Adam El Sayed Auf und Kai Lienemann Gliederung: 4) Rückblick 5) Allgemeine Einführung 6) Genauere Beschreibung von Evolutionären Strategien

Mehr

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Optimale Produktliniengestaltung mit Genetischen Algorithmen Optimale Produktliniengestaltung mit Genetischen Algorithmen 1 Einleitung 2 Produktlinienoptimierung 3 Genetische Algorithmen 4 Anwendung 5 Fazit Seite 1 Optimale Produktliniengestaltung mit Genetischen

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 21. Kombinatorische Optimierung und lokale Suche Malte Helmert Universität Basel 10. April 2015 Kombinatorische Optimierung Kombinatorische Optimierung: Einführung

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel

Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel Evolutionäre / Genetische Algorithmen Einführung in die Methoden der Künstlichen Intelligenz PD Dr. David Sabel SoSe 0 Anwendungsbereich: Optimierung von Objekten mit komplexer Beschreibung Objekte: Üblicherweise

Mehr

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Zum Umgang mit NP-harten Problemen In manchen Anwendungen ist das garantierte Auffinden exakter

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016 Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology

Mehr

Ameisenkolonien (1) Idee: Reale Ameisen:

Ameisenkolonien (1) Idee: Reale Ameisen: Ameisenkolonien (1) Idee: Von M. Dorigo, 1992 Verhalten von Ameisen bei der Futtersuche Ameisen hinterlassen Pheromon-Spur (Chem. Substanz) Pfade mit hoher Pheromon-Konzentration werden bevorzugt Indirekte

Mehr

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Adaptive Systeme Evolutionäre Algorithmen Teil II Evolutionsfenster durch Mutation und sexuelle Rekombination Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Evolutionäre Algorithmen

Mehr

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen Einführung in die Methoden der Künstlichen Intelligenz Evolutionäre Algorithmen Dr. David Sabel WS 2012/13 Stand der Folien: 12. November 2012 Evolutionäre / Genetische Algorithmen Anwendungsbereich: Optimierung

Mehr

Kodierung Genetische Algorithmen und Simulated Annealing

Kodierung Genetische Algorithmen und Simulated Annealing Kodierung Genetische Algorithmen und Simulated Annealing Referenten Dipl.-Ing. (FH) Dipl.-Ing. (FH) 1 Agenda Erklärung des Genetischen Algorithmus f(x)=x² (2-dimensional) Verschiedene Codierungen Binärcode,

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Populationsbasierte Suche. Evolutionäre Algorithmen (1) Populationsbasierte Suche Bisherige Meta-Heuristiken: Simulated Annealing Tabu Search Ausgehend von einer Lösung wird gesucht Populationsbasierte Heuristiken Suche erfolgt ausgehend von mehreren Lösungen

Mehr

lineare Programmierung

lineare Programmierung lineare Programmierung Viele Probleme sind durch lineare Gleichungssysteme charakterisiert lineare Programmiermethoden Der Lösungsraum ist häufig auf ganze Zahlen oder gar natürliche Zahlen eingeschränkt!

Mehr

Algorithmen zur Visualisierung von Graphen Lagenlayouts

Algorithmen zur Visualisierung von Graphen Lagenlayouts Algorithmen zur Visualisierung von Graphen Lagenlayouts Marcus Krug Institut für Theoretische Informatik 25.06.2009 1/ 41 E-Mail-Graph der Fakultät für Informatik 2/ 41 E-Mail-Graph der Fakultät für Informatik

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen

Mehr

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

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

Mehr

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering Kap. 3: Exakte Lösungsverfahren für NPschwierige kombinatorische Optimierungsprobleme VO Algorithm Engineering 3.1 Einführung Professor Dr. Petra Mutzel 3.2 Komb. vs. Ganzzahlige Opt. Lehrstuhl für Algorithm

Mehr

Kapitel 9: Lineare Programmierung Gliederung

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil XI Peter F Stadler & Konstantin Klemm Bioinformatics Group, Dept of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 16

Mehr

Lokale Suche. 31. Januar / 28

Lokale Suche. 31. Januar / 28 Lokale Suche 31. Januar 2018 1 / 28 Lokale Suche Wir betrachten das allgemeine Minimierungsproblem min y f (x, y) so dass L(x, y). Wir nehmen an, dass zu jeder Lösung y auch eine Nachbarschaft N (y) benachbarter

Mehr

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

Mehr

Effizienter Planaritätstest Vorlesung am

Effizienter Planaritätstest Vorlesung am Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit

Mehr

Erfolgversprechende Konfigurationen für Versuche mit Evolutionsstrategien anhand von ausgewählten Testfunktionen

Erfolgversprechende Konfigurationen für Versuche mit Evolutionsstrategien anhand von ausgewählten Testfunktionen Erfolgversprechende Konfigurationen für Versuche mit Evolutionsstrategien anhand von ausgewählten Testfunktionen Krischan Keitsch 3. Juni 214 Zusammenfassung Um ein Optimierungsproblem mit einer Evolutionsstrategie

Mehr

Konstruktive Heuristiken

Konstruktive Heuristiken Konstruktive Heuristiken Konstruktive Heuristik: Ein Plan oder ein Schedule wird durch das schrittweise Ein- oder Anfügen einer Operation oder einer Menge von Operationen erzeugt: - Reihungsregeln (Dispatching

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Formale Grundlagen der Informatik F3: Berechenbarkeit un Formale Grundlagen der Informatik F3: Berechenbarkeit und Komplexität Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de 14. Dezember

Mehr

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Gerold Jäger 4. Februar 2010 Gerold Jäger Theorie der Toleranzen 4. Februar 2010 1 / 35 Überblick 1 Theorie der Toleranzen

Mehr