Methoden des Softcomputings 1. Einleitung Zusammenfassung: Beispiele; Grundbegriffe (der Optimierung); Klassifikation von OP; neue und klassische Verfahren; Zugang an Professur; 1.1 Beispiele Beispiel 1. Das Rundreiseproblem (RP) {TSP - travelling salesman problem} geg.: N Orte; Entfernung zw. 2 Orten. ges.: Rundreise, die jeden Ort genau 1x besucht und minimale Gesamtlänge besitzt. TSP graphentheoretisch: Suche nach kürzestem Hamilton-Zyklus (einf., geschl., vollst. Weg) z.B.: Hauptstädte der 80 größten Länder der Erde Naives Verfahren: Betrachte alle Zyklen. Wenn je Sekunde 10100 mögl. Zyklen bewertet, so fast 1.5 Mrd. Jahre für Optimierung ! Spez. EA von U.Nieländer : 3 h auf 486-er Parallelisierte Variante von M. Riedel (DA 2002): Beispiel 2. Das Lagerhaltungsproblem mit Umverteilungen (LHPU) { Nutzung einer verteilten Ressource} geg.: N Lager; 1 Produkt; unendlicher Planzeitraum in Perioden eingeteilt; zu Periodenbeginn: Bestellentscheidung BE mit augenblicklicher Lieferung innerhalb Periode: Realisierung eines (stochastischen) Bedarfes am Periodenende: Transportentscheidung TE mit augenblicklicher Umverteilung ges.: Folge von BE und TE (Strategie), so dass die insgesamt zu erwartenden durchschnittlichen Periodenkosten minimiert werden. Beispiel 3 Das Konfigurationsproblem ( Central-Server Modell ) geg.: p1 Last CS µ0 p0 abgewiesene Jobs ges.: PG 1 µ1 pN PG N µN bediente Jobs Solche Konfiguration, so dass ein gegebenes Leistungsmaß maximiert wird. 1 Beispiel 4 Das Kanban-Zuordnungsproblem (KZP) geg.: mehrstufiges (Fertigungs-)System mit einer Kanban-Steuerung Prinzip bei serieller Struktur: Produktfluss Rohmaterial Stufe 1 Stufe Stufe 2 N Informationsfluss Lager N+1 Bedarf Kanban-Steuerung regelt Teilefluss zwischen zwei benachbarten Stufen auf folgende Weise: Puffer Server KB AL Stufe n Stufe n+1 Kartenfluss Teilefluss An jedem Teil hängt eine Karte (Jap.: Kanban). Ist in Stufe n ein Teil fertig bearbeitet, so wird das Paar (Teil, Karte) in das Ausgangslager AL der Stufe n bewegt. Fordert die nachfolgende Stufe n+1 ein Teil an, so wird im AL der Stufe n nachgeschaut, ob sich dort Teile befinden. Wenn ja, so wird das Paar (Teil, Karte) getrennt. Das Teil wird zur Stufe n+1 bewegt, während die Karte in die Kanban-Box KB der Stufe n befördert wird. Befinden sich Karten in KB, so ist das ein Signal, dass die Stufe produzieren möchte. Dazu wird aber ein Teil der Vorgängerstufe benötigt. Wird dieses zur Verfügung gestellt, so werden beide zu einem neuen Paar (Teil, Karte) verbunden und in den Puffer vor der Bearbeitungsstation Server bewegt. Indem man jeder Stufe eine feste Anzahl Karten zuordnet, werden durch diesen Mechanismus in Abhängigkeit vom Bedarf immer neue Teile in die Fertigung „gezogen“ (Pull-System ges.: Eine solche Aufteilung von Kanbans auf die einzelnen Fertigungsstufen, so dass sich für das entsprechende System eine maximale Performance ergibt. Beispiel 5 Das hungrige Entlein geg.: ein in quadratische Zellen eingeteilter rechteckiger Bereich mit M Zeilen und N Spalten; in jeder Zelle befinden sich bestimmte Futtermengen; ein Entlein bewegt sich schrittweise von Zelle (1, 1) zu Zelle (M, N) und sammelt das Futter auf; dabei sind Schritte nur vertikal oder horizontal erlaubt; ges.: Ein Weg, der die maximale Futtermenge enthält. 2 1.2 Grundbegriffe der Optimierung Was heißt Optimierung und optimal? Etwas zu optimieren „Es besser machen; es am besten machen!“ Wir hier: Beste mögliche Lösung in vorgegebener Zeit finden ! Was ist ein Optimierungsproblem (OP)? Aufgabe, aus einer bestimmten Menge zulässiger Lösungen eine Lösung entsprechender Güte auszuwählen. Definition/Formalisierung von OP: Beispiele aus §1.1 - zu einem System sind quantitative / qualitative Aussagen zu machen benötigen mathematisches Modell - drei wesentliche Bestandteile zu definieren, d.h., 1. Entscheidungsvariable als jene Größen, die wählbar sind 2. Zielfunktion legt den Leistungs- oder Bewertungsmaßstab fest 3. Nebenbedingungen definieren die zulässige Menge von Lösungen(Suchraum) EV: Der Vektor von Entscheidungsvariablen x = (x1, ..., xn) entspricht einer Lösung. Oft gilt xi R, i=1...n; manchmal ist xi {0, 1, 2, ...} oder xi {0, 1}, i=1...n, ZF: Für die Bewertung einer Lösung - Zielfunktion/Gütekriterium f(x). Die Zielfunktion f kann z.B. linear oder nichtlinear, stetig oder nicht-stetig sein. NB: Sie definieren die zulässige Lösungsmenge in der folgenden Weise: Sei xi Di , wobei Di z.B. stetig oder diskret sein kann, i=1...n, und seien m Abbildungen der Form gj : D1 ... Dn R1 , j=1(1)m, gegeben. Dann stellen die Gleichungen gj(x) = 0, j=1(1)m, Nebenbedingungen (Restriktionen) dar. Als zulässigen Bereich ergibt sich dann die Menge X := { x D1 ... Dn : gj(x) = 0, j=1(1)m }. OP (Optimierungsproblem): f(x) MAX xX Lösung: Was ist Lösung von OP? x* ist lokales Optimum (Maximum) f(x*) f(x), x U(x*) mit U(x*):={xX : r(x, x*) }. x* ist globales Optimum (Maximum) f(x*) f(x), x X. f(x) x a xl1* xl2* xg* b b’ Bem.: - Minimieren ist äquivalent zum Maximieren. - I.d.R. wird „nur“ ein lokales Optimum gefunden. - Oft Zielfunktion f nicht analytisch gegeben. „Nur“ Schätzung f^(x) mittels Simulation. 3 Klassifikation von OP: a) bezüglich Schwierigkeitsgrades über Zeitkomplexität definiert Klasse P der praktisch lösbaren Probleme Klasse NP der mit polynomialem Aufwand lösbaren Probleme b) bezüglich Struktur (i) OP mit oder ohne NB (ii) lineare OP und nichtlineare OP (in Abh. von ZF und NB) (iii) stetige OP oder diskrete OP (in Abh. von EV), wobei diskrete noch weiter unterteilbar in ganzzahlige OP und 0-1 OP (iv) kombinatorische OP (Reihenfolge-, Rundreise-, Rucksackproblem) (v) dynamische OP (mit mehrfachen Entscheidungszeitpunkten) (vi) deterministische und stochastische OP Lösungsverfahren: Mathematik und Operations Research haben Vielzahl spezieller Verfahren entwickelt. Jedoch: viele OP sehr komplex; wenn in NP, so keine Garantie, in akzeptabler Zeit eine beste Lösung zu finden. Darum: Näherungsverfahren und Heuristiken entwickelt. WIR: Meta-Heuristiken, die als stochastische iterative Suchverfahren bezeichnet werden können Suchverfahren – haben i.d.R. wenig oder keine Information, wo Optimum liegt; iterativ - weil ein Versuch kaum zum Optimum führt; stochastisch - weil unbekannt, in welche „Richtung“ es zum Optimum „geht“. Bemerkung: Zwei wichtige Eigenschaften sollten die entsprechenden Verfahren besitzen. Das sind erstens, eine endliche Laufzeit, d.h., man benötigt ein Abbruchkriterium, und zweitens sollten „Fallen“ vermieden werden, d.h., mit positiver W. sollten auch schlechtere Lösungen zur weiteren Verarbeitung zugelassen sein. Effizienz problemzugeschnittenes Verfahren (Simplexv.) allg. Verfahren (GA, TS) Anwendungsspektrum 1.3 Stochastische iterative Suchverfahren das allgemeine Prinzip stoch. iter. Suchverfahren (SIS-Verfahren) umfasst 3 Schritte 1. Anfangsschritt: Erzeuge und bewerte eine Startmenge von Lösungen P. {Menge kann aus 1 Element bestehen} 2. Arbeitsschritt: Erzeuge und bewerte eine Menge neuer Lösungen P’ durch stochastische Veränderungen ausgewählter Elemente von P. 3. Erneuerungsschritt: Ersetze einige Elemente aus P durch solche aus P’ und gehe zu 2 zurück (sofern das Abbruchkriterium nicht erfüllt ist). 4 Derartige Verfahren scheinen vorteilhaft zu sein aus drei hauptsächlichen Gründen: 1. Äußerst einfache Implementierung. 2. Sehr allgemein anwendbar; keinerlei a priori-Anforderungen. 3. Erfahrung zeigt, dass sie für breiten Problembereich schnell recht gute Lösungen in vorgegebener Zeit finden. Grundidee von SIS-Verfahren: Erzeuge und teste ( trial and error). Einfachste Variante: zufällige Suche (random search). Aber: Ohne Information über bisherigen Suchverlauf kaum erfolgreich anzuwenden. {Bsp: 65! 8.248 1090) Frage: Wie entsprechende Information nutzen ? a) über bisherigen Suchverlauf und, ganz wichtig, b) über das zu optimierende System (Experte ist dabei nicht immer von Vorteil). Zu letzterem drei allgemein anerkannte Ideen: Idee 1: Neue Lösungen sind leichte Modifikationen bisheriger Lösungen. Idee 2: Neue Lösungen werden erzeugt durch Rekombination von Teilen bisheriger Lösungen. Idee 3: Die in Idee 1 und 2 verwendeten alten Lösungen werden zufällig ausgewählt, wobei Lösungen mit besseren ZF-Werten mit höherer Wahrscheinlichkeit gewählt werden als solche mit geringeren ZF-Werten. Die leichten Veränderungen aus Idee 1 durch Mutations-Operatoren; Erzeugung neuer Lösungen nach Idee 2 Rekombinations-Operator; Crossover; Auswahl entsprechend Idee 3 Selektions-Operator. Verfahren wie GA, SA, TS u.a. nutzen wenigstens eine dieser drei Ideen. Bemerkung: Hat ein OP „gute“ Eigenschaften (aus vorangehenden Untersuchungen erhalten), so führen spezielle Verfahren natürlich schneller zum Ziel. Wenn z.B. die ZF uni-modal und stetig differenzierbar ist, so über klassische Verfahren alles prima zu erledigen. Oder wenn nur die Uni-Modalität bekannt ist, so ist binäre Suche (und deren Modifikationen) sehr effizient. Existierende, erfolgreiche Verfahren können in zwei große Klassen eingeteilt werden: lokale Suche und populationsbasierte Suche. Lokale Suche: Die Umgebung der aktuellen Lösung wird nach einer besseren Lösung abgesucht; nachdem solche gefunden ist, wird sie aktuelle Lösung und so fort. Einfachstes Beispiel – Hillclimbing: 1. Anfangsschritt: Erzeuge und bewerte eine Startlösung x. 2. Arbeitsschritt: Verändere x zu einem x’ und bewerte x’. 3. Erneuerungsschritt: Falls x’ besser als x, so ersetze x durch x’. 4. Iterationsschritt: Solange ein Abbruchkriterium nicht erfüllt ist, gehe zu 2. Hillclimbing verwendet wesentlich Idee 1 und eine sehr einfache Variante von Idee 3 in der Form, dass die jeweils aktuelle Lösung die bisher beste gefundene ist. große Gefahr, in lokalem Optimum zu enden 5 raffiniertere lokale Suchverfahren verbessern Hillclimbing an dieser Stelle, wo neue Kandidaten für die optimale Lösung erzeugt werden: z.B. beim Simulated Annealing werden auch schlechtere Lösungen akzeptiert Populationsbasierte Suche: Anstelle einer einzigen Lösung wird mit einer Population (Menge) von unterschiedlichen Lösungen gearbeitet; neue Lösungen werden durch Anwendung der Idee 2 erzeugt – es werden Mitglieder dieser Population als „Eltern“ ausgewählt, die dann zu „Kindern“ verändert werden. Durch Verwendung der Idee 3 ergeben sich vielfältige Möglichkeiten – Strategien zur Selektion dieser Eltern ebenso wie Strategien zur Verwaltung der Populationen. enorme Vielfalt populationsbasierter Optimierungsalgorithmen; gemeinsame Name ist Evolutionsverfahren oder Evolutionäre Algorithmen Masse von Fragen: - Welches Verfahren für gegebenes OP besser geeignet ? - Welche Selektionsstrategie arbeitet i.allg. am besten ? - Kann eine Vorhersage über die Dauer eines Suchprozesses gefällt werden ? Unsere Erfahrung (und anderer Leute ebenso): 1. Es gibt kein gleichmäßig bestes Verfahren. 2. Problemwissen sollte in ein Verfahren eingehen und die Effizienz erhöhen. 3. Hybride adaptive Verfahren sind die z.Z. beste allgemeine Lösung. 1.4 Herangehensweise der Professur „Modellierung und Simulation“ Für die Beispiele erschweren: a) b) c) d) aus §1.1 trifft eine Reihe von Eigenschaften zu, die eine Optimierung sehr Die ZF ist nur teilweise berechenbar. Oft kann eine Lösung nur simulativ bewertet werden. Die NB definieren einen nicht „gutartigen“ zulässigen Bereich. Das Verhalten des zu optimierenden Systems ist durch komplexe Zusammenhänge beschrieben. e) Es liegt eine multimodale Zielfunktion vor. f) Es gibt unterschiedliche Typen von Entscheidungsvariablen. folg. allg. Betrachtungsweise : MODELLIERUNG OPTIMIERUNG SYSTEM stochastisch dynamisch [diskret] KI SIMULATION 6 Professur „M. u. S.“: stochastische dynamische Systeme Optimierungsgedanke Verknüpfung von Simulation, Optimierung und KI Simulation breit anwendbar Simulation allein kein Optimierungsverfahren Automatisierung folgendes allg. Schema (z.T. in SW realisiert): System + Problem System + Lös.-vorschlag Modellierung E.-Inf. Interpretation (auch Problemwissen) OPTIMIERER A.-Inf. wissensbasiert klass. Opt.-verfahren Suchverf.(evol.Verf.) Lösungsvorschlag Bewertung Simulator Simulation Analysator Berechnung Bem.: Nur prinzip. Schema ! Sim./Anal. auch parallel oder als hybrides Verfahren ! Rückkopplung ! 7 Rechnerunterstützung bisher nur teilweise ! integrierte Kombination von schnellen Simulatoren mit effizienten Optimierungswerkzeugen brauchen Optimierungsverfahren, die automatisch neue Lösungsvorschläge erzeugen, d.h., Input-Parameter für den folgenden Simulationslauf; dabei beachten: - nutzerdefinierte ZF - Ergebnisse der bisherigen Untersuchung Evolutionäre Verfahren bieten dies 8 2. Hill-Climbing Verfahren Zusammenfassung: ein- und mehrdimensionale lokale Suchverfahren; Vor- und Nachteile; von Verfahren, die mit einer Lösung jeweils arbeiten, zu solchen, die mehrere Lösungen benutzen. 2.1 Einleitung lokale Suchverfahren: Umgebung der aktuellen Lösung wird nach einer besseren Lösung abgesucht; nachdem solche gefunden ist, wird sie aktuelle Lösung und so fort. Einfachste Variante: 1. Anfangsschritt: Erzeuge und bewerte eine Startlösung x. 2. Arbeitsschritt: Verändere x zu einem x’ und bewerte x’. 3. Erneuerungsschritt: Falls x’ besser als x, so ersetze x durch x’. 4. Iterationsschritt: Solange ein Abbruchkriterium nicht erfüllt ist, gehe zu 2. Vorstellung: Wanderer sucht in Hügellandschaft im Nebel nach Bergspitze; geht immer bergauf; wenn rundherum nur noch Abwärtsbewegung möglich, so meint er, die Spitze erreicht zu haben. Klar: Am Pöhlberg erreicht er die Spitze; im Fichtelberggebiet nicht immer. 2.2 Eindimensionale Verfahren 2.2.1 Simultane Methoden Berechnung der ZF in einer Menge von Gitterpunkten {da im Prinzip gleichzeitige Berechnung => simultane Methoden} sinnvoll, wenn Definitionsbereich endlich, d.h., X [a, b] am günstigsten, wenn N Punkte glm. verteilt Unbestimmtheitsintervall der Länge lN = 2(b-a)/(N+1) umgekehrt kann von Genauigkeitsschranke >0 auf Anzahl Gitterpunkte geschlossen werden: 2(b-a)/ - 1 < N 2(b-a)/ mit ganzzahligem N Voraussetzung für Anwendung: Keine. 2.2.2 Sequentielle Methoden Idee: Bisherige Ergebnisse für Festlegung des folgenden Suchpunktes nutzen. Ideal für heutigen (J.v.Neuman-)Rechner. (1) Einschachtelung des Maximums Voraussetzung: Unimodale Zielfunktion. Verfahren: 1. Bestimme Bereich für x*. Wählen x(0) und x(1) = x(0) + s. Wenn f(x(1)) > f(x(0)), so gehe zu x(k+1) = x(k) + s solange f(x(k)) f(x(k-1)). Wenn f(x(1)) < f(x(0)), so gehe zu x(2) = x(0) – s usf. 2. Suche x*. Analog zu Schritt 1, nun aber neues s’ = s c, c < 0.5, immer dann, wenn „Umkehrpunkt“ erreicht. 9 Verbesserung für 1. Schritt: Bei erfolgreichem Schritt wird Schrittweite verdoppelt, d.h. zum Beispiel x(k+1) = x(0) + 2k s(0). (2) Intervall-Teilungsmethoden („binäre“ Suche) Voraussetzung: Unimodale Zielfunktion. Idee: Das zu untersuchende Intervall wird immer kleiner signifikant besser als (1). Fibonacci-Teilung (Kiefer 1953) Fibonacci-Zahlen F0 = F1 = 1; Fk = Fk-1 + Fk-2, k2 Voraussetzung: Unimodale Zielfunktion; Anfangsintervall [a(0), b(0)]; N – Anzahl Teilungen. Für Iteration k sei I(k-1) = [a(k-1), b(k-1)] das entsprechende Restintervall. Schritt 1. Berechnen Reduktionsfaktor t(k) = FN-k-1/FN-k. Schritt 2. Berechnen neue Restintervalllänge s(k) = t(k) (b(k-1) – a(k-1)). Schritt 3. Berechne zwei Punkte c(k) = a(k-1)+s(k) und d(k) = b(k-1)-s(k). (k) (k) (k) Schritt 4. Bestimmen Intervall I = [a , b ]: IF f(c(k)) < f(d(k)) THEN (a(k) := a(k-1)) AND (b(k) := c(k)) ELSE (a(k) := d(k)) AND (b(k) := b(k-1)). Immer nur 1 neuer Punkt/Zielfunktionswert zu berechnen !!! Bemerkung: Verfahren stoppt bei k = N-2, da d(k) und c(k) wegen F2 = 2 F1 zusammenfallen. Schematische Darstellung an Tafel ! Bemerkung: Restintervall hat bei Abbruch die Länge lN = [b(0) – a(0)] / FN. Verfeinerungen siehe z.B. Schwefel 1995. Bemerkung: Bei Fibonacci-Suche wird variabler Reduktionsfaktor t(k) benutzt. Manchmal besser, einen konstanten Faktor zu haben (Kiefer 1953): t = 2 / (1 + 5) 0.618 (positive Wurzel von t2 + t = 1). Dieser t-Wert hat u.a. zwei Eigenschaften: (1) FN-1 / FN t. N (2) Verbindung zum Goldenen Schnitt. Def.: Sei c eine positive reelle Zahl. Jede Zerlegung in 2 postive Summanden a und b heißt Goldener Schnitt von c, wenn a geometrisches Mittel von c und b ist, d.h., a = (cb). Aus a = (cb) folgt a2 = cb = c (c – a) und a1 = 2 / (1 + 5) c 0.618 c. Analog ist geometrische Interpretation. Nach N Iterationen ist Restintervall von Länge lN = tN-1 [b(0) – a(0)]. 10 2.3 Mehrdimensionale Verfahren gleichförmige Gitterpunkt-Strategie (Methode des Versuchsplanung) n - Dimension Ni - Anzahl Werte für Variable xi, die zu betrachten sind N - Gesamtanzahl Funktionswerte N = N1 N2 ... Nn „Fluch der Dimension“ Für J. v. Neuman Rechner wird Computerzeit = O(cn). Erweiterung der Fibonacci-Suche (FS): Für n = 2: - zwei Punkte entsprechend der 1-dimens. FS auf einer der Achsen gewählt; - nun bezüglich der 2. Variablen die relativen Optima bezgl. der konstanten Werte der 1. Variablen gesucht mittels 1-dimens. FS; - beide Endergebnisse benutzt, um einem der konstant gehaltenen Werte zu verwerfen und das Suchintervall zu verkleinern. Faktor-Entwurfes in Für n = 3: Analoge rekursive Folge der 2-dimens. FS. verschiedene Verfahren in Abhängigkeit von Eigenschaften der ZF und der verfügbaren Information: (1) Verfahren der direkten Suche: Nur f(x) wird benötigt. (2) Gradientenverfahren: Die ersten partiellen Ableitungen benötigt. (3) Newton-Verfahren: Die 1. und 2. partiellen Ableitungen werden benötigt. Allgemein: Keine Garantie, das globale Optimum zu finden ! Wir hier: Nur ableitungsfreie Verfahren. Meisten Suchstrategien nutzen folgendes Rekursionsschema: x(k+1) = x(k) + s(k) v(k). s(k) – Schrittweite v(k) – Suchrichtung Verfahren unterscheiden sich bezüglich der Wahl von s(k) und v(k). Dabei werden Heuristiken verwendet oder ein bestimmtes Schema unter bestimmten Voraussetzungen an die ZF. Trial-and-error Methoden Vorteil: Einfachheit + in bestimmten Situationen geeignet. 2.3.1 Koordinaten-Strategie (koordinatenweiser Aufstieg bzw. Abstieg) Suchrichtung nach folgender Regel: n , wenn k p n, p Integer; v(k) = ei mit i k MOD n sonst ; ei = (0, ..., 0, 1, 0, ..., 0) i Schrittweite nach beliebigem Verfahren; bestimmen relatives Optimum bezüglich der gewählten Richtung (Koordinate); 11 Bemerkungen zur Güte: - theoretische Konvergenz immer, wenn ZF stetige partielle Ableitungen besitzt und das Optimum entlang der Koordinaten exakt bestimmt wird; - schnelle Konvergenz nur, wenn Niveaulinien einigermaßen konzentrisch verlaufen; - schlechte Konvergenz, wenn ZF flach in Nähe des Optimums; - i.allg. nur lokales Optimum erreicht; 2.3.2 Strategie von Hooke-Jeeves: Pattern Search 1961 von Hooke und Jeeves als automatische Versuchsstrategie entwickelt Grundidee: zwei Typen von Bewegungen je Iteration 1. Eine Erkundungsbewegung (exploratory move): Vom aktuellen Punkt (Lösung) aus wird in jede Koordinatenrichtung ein diskreter Schritt ausgeführt (hintereinander, also nicht jeweils vom Startpunkt aus). 2. Eine Extrapolationsbewegung (pattern move): Unter der Annahme, dass die Richtung vom Start- zum Endpunkt aus 1. eine aussichtsreiche Richtung ist, wird entlang dieser ein Extrapolationsschritt gemacht; danach wieder zu 1. Bemerkung: Extrapolation muss nicht zu Verbesserung führen. Dann wird zurückgegangen und mit geringeren Schrittweite weiter gesucht. Eigenschaften: - für streng konvexe/konkave ZF mit stetiger Differenzierbarkeit führt PS immer zum Ziel - einfache Berechnungen ohne Probleme (z.B. keine Division durch Null) - geringer Speicherbedarf; von Ordnung O(n) grafische Darstellung siehe Schwefel S.46; Algorithmus in Übung 2.3.3 Simplex-Strategie von Nelder-Mead 2.3.3.1 Einleitung 1965 von Nelder und Mead für freie Optimierung von deterministischen Funktionen; Barton und Ivey 1996 (Management Science v.42, No.7, July 1996, pp. 954-973) auch für stochastischen Fall, wo ZF-Werte Ergebnis eines zufälligen Versuches/Experimentes sind (1) MIN E[f’(x, )] , wobei xRn (2) f’(x, ) = f(x) + (x) mit deterministischen Funktion f(x) = E[f’(x, ) ] und stochastischen Funktion (x) mit E[(x)] = 0 , x Rn. Somit ist das OP (1) identisch zu OP (3) MIN f(x) . xRn Bezeichnung: f – ZF; f’ – Responsefunktion. 12 direkte Suchverfahren sind sinnvoll: einfach; funktionieren; das populärste ist Simplex-Strategie von Nelder-Mead; breite Anwendung: analytische Chemie, Biologie, Neurologie, Statistik, Ingenieurwesen, Qualitätskontrolle, Fischereimanagement, Fusionstechnologie, ...; Aber: Zur Zeit wenig über Konvergenzeigenschaften bekannt. (?!?) Jedoch: Hervorragend geeignet für die Lösung von OP (1), da das Verfahren auf der Rangbildung von ZF-Werten basiert !!! 2.3.3.2 Der NM-Algorithmus a) Der Ursprung: Simplex-Strategie von Spendley, Hext, Himsworth (1962); entwickelt für stochastische Responsefunktion; nichts gemein mit Simplexalgorithmus der linearen Optimierung; Def.: n-dimensionaler Raum Rn; Extremalpunkt oder Eckpunkt eines speziellen konvexen Polyeders; Simplex – Menge solcher Eckpunkte, die alle gleichweit voneinander entfernt. Genauer: Im Rn definieren n+1 gleichweit voneinander entfernte Eckpunkte einen ndimensionalen Simplex. Idee: - ZF-Wert für alle Punkte eines Simplex berechnet - Bewegung des (veränderlichen) Simplex zum Optimum, indem der Eckpunkt mit schlechtestem ZF-Wert am Zentrum der verbleibenden n Eckpunkte gespiegelt wird (Reflexionsschritt) - zwei weitere Regeln sind (1) die (n+1)-Regel: Wenn ein Eckpunkt nach n+1 Spiegelungen immer noch erhalten ist, so erfolgt neuerliche Schätzung (um zufällig sehr guten ZF-Wert zu prüfen). (2) Regel des Zweitschlechtesten: Wenn ein gespiegelter Punkt nun schlechtester im neuen Simplex ist, so wird er nicht angenommen. In dem Falle wird der Zweitschlechteste des Ursprungssimplex gespiegelt. Damit kann jedoch um die das Optimum enthaltene Region gekreist werden. Nachteile des SHH-Simplex Verfahrens: 1. Außer diesem „Kreisen“ gibt es keine Hinweise auf die Optimumsnähe. Für n>2 jedoch kaum „Kreisen“. 2. Es gibt keine Vorkehrungen, um die Bewegung zum Optimum zu beschleunigen. 3. Ein Simplex fixer Größe kann um einen nichtoptimalen Punkt auf einem Bergrücken z.B. kreisen. Nelder-Mead: Simplex kann seine Form und Größe ändern !!! b) NM-Simplex Algorithmus erlaubt Operationen, die auf Grundlage des lokalen Verhaltens der ZF den Simplex verändern; Spiegelungen werden erweitert (expandiert), wenn sie zu einem guten Ergebnis geführt haben; ein schlechtes Ergebnis führt zu einer Kontraktion; wenn das dortige Ergebnis immer noch schlecht ist, wird die Größe des Simplex reduziert; die ursprünglichen Nelder-Mead Regeln sind folgende: 1. Initialisierung 13 Für eine Funktion mit n Parametern wähle n+1 Eckpunkte so, dass sie einen ndimensionalen Simplex bilden. Berechne f(xi) für jeden Eckpunkt xi, i=1, 2, ..., n+1. 2. Abbruchkriterium Iteriere bis die Standardabweichung S f : n 1 1 n 1 [ f ( xi ) f ] 2 mit i 1 f n 1 1 n 1 f (x ) i 1 i kleiner als eine vorgegebene Größe wird oder die Größe des Simplex hinreichend klein wird oder die maximale Anzahl von ZF-Wertberechnungen erreicht ist. 3. Spiegelung des schlechtesten Punktes Zu Beginn jeder Iteration werden die Eckpunkte mit schlechtestem, zweitschlechtestem und bestem ZF-Wert bestimmt: xworst, xsecwo, xbest mit fworst, fsecwo, fbest. Bestimme xzentr – den Zentrumspunkt aller Eckpunkte außer xworst. Erzeuge neuen Eckpunkt xrefl durch Spiegelung von xworst durch xzentr entsprechend der Gl. xrefl = (1 + ) xzentr - xworst. Dabei ist > 0 der Reflexionskoeffizient; bei NM ist = 1. 4. a) Annahme der Spiegelung IF fbest frefl fsecwo THEN xrefl ersetzt xworst und neue Iteration beginnt mit Schritt 2. 4. b) Expansionsversuch IF frefl < fbest THEN Expansion der Reflexion {in der Hoffnung, dass Suche in gleichen Richtung weitere Verbesserung bringt} nach der Gl. xexp = xrefl + (1 - ) xzentr. Dabei ist > 0 der Expansionskoeffizient; bei NM ist = 2. IF fexp < fbest THEN (xbest:= xexp) AND (neue Iteration bei Schritt 2) ELSE (Ablehn. der Expans.) AND (xbest:= xrefl) AND (neue Iter. bei Schritt 2). 4. c) Kontraktionsversuch IF {fbest } fsecwo < frefl THEN (Kontraktionsversuch). Folgender Ablauf desselben: (1) IF frefl fworst THEN (xworst:= xrefl) AND (fworst:= frefl). (2) Berechne den Kontraktionseckpunkt nach der Gl. xcont = xworst + (1 - ) xzentr. Dabei ist (0, 1) der Kontraktionskoeffizient; bei NM ist = 0.5. 14 (3) IF fcont fworst THEN Kontraktion angenommen ELSE Schrumpfen des gesamten Simplex durch xi := xi + (1 - ) xbest für ein (0, 1) und alle xi außer xbest. {NM nutzen =0.5} Danach Berechnung fi (außer fbest). (4) Neue Iteration bei Schritt 2. Ablauf von Schritt 4 bei der Simplex-Strategie von Nelder-Mead: 3 ja nein fbest frefl fsecwo frefl < fbest ja nein ja fcont fworst fexp < fbest Ann. der Reflex. Ann. der Exp. nein Ablehn. Ann. der d. Exp. Kontr. Durchf. der Schrumpf. 2 15 3. Simulated Annealing Zusammenfassung: Ursprung; Algorithmus; Verbindung zu anderen EA; Beispiel Aarts/Korst: Simulated Annealing and Boltzmann Machines. Wiley 1989 Eglese, R.W.: Simulated Annealing: A toole for Operational Research. European Journal of Operational Research 46(1990), 271-281 2.1 Einleitung Hat Ähnlichkeiten zu EA und ist gleichzeitig Konkurrent bei praktischen Optimierung. Wie EA naturanalog: - aus statistischen Mechanik - nutzt Analogie zwischen Abkühlung und Auskristallisierung einer Schmelze und kombinatorischen OP 1983 Kirkpatrick/Gelatt/Vecchi: Optimization by simulated annealing. Science 220, 671680 Annealing = Härten, d.h., physikalischer Prozess der Erhitzung und anschließenden Abkühlung bis zur Kristallbildung Ablaufschema nutzt Idee 1 und Idee 3: in Umgebung einer Lösung wird zufällig eine neue Lösung gewählt und bewertet; Annahme der neuen Lösung auch bei schlechterem ZF-Wert, jedoch nur mit bestimmter Wahrscheinlichkeit; diese W. (die Qualitätsanforderung) wird sukzessive verringert (erhöht); zur Physik: bei langsamer Abkühlung wird auf jeder Temperaturstufe ein thermisches Gleichgewicht erreicht; so gelangt die Substanz in eine Grundstruktur mit minimalem Energieniveau (wie ein Kristall); bei zu rascher Abkühlung ergibt sich eine Struktur mit hohem Energieniveau; mathematisches Modell: X Menge aller möglichen Systemzustände T aktuelle Temperatur System sei im thermischem Gleichgewicht pT(x) Wahrscheinlichkeitsdichte für Zustand x bei Temperatur T Ex Energieniveau von Zustand x k Boltzmann-Konstante Boltzmann-Verteilung, d.h., pT(x) dx = 1 xX IF X –diskrete Menge P(Zustand x) = : pT(x) = exp{- Ex/(kT)} / exp{- Ey/(kT)} yX pT(x) = exp{- Ex/(kT)}, x X, 2.2 Der Algorithmus Sei zum Zeitpunkt t das System im Zustand x mit Energieniveau Ex. Nun wird x leicht modifiziert zu y als Zustand zu Zeitpunkt t+1. In Abhängigkeit von Differenz E=Ey – Ex wird der neue Zustand akzeptiert oder nicht: E 0 y wird akzeptiert E > 0 y nur mit bestimmter Wahrscheinlichkeit akzeptiert, und zwar mit W. exp[ - E / (k T)] 1953 von Metropolis als stochastisches Simulationsverfahren vorgeschlagen. Dabei folgende Analogien zum physischen Abkühlen: Zustand der Schmelze Lösung des OP Energie eines Zustandes ZF – Wert 16 minimaler Energiezustand optimale Lösung Temperatur T Steuerparameter des Verfahrens SA iterative Anwendung von Metropolis’ Verfahren auf sinkende Folge von Temperaturwerten z.B. folgende Pseudo-Kode Darstellung von Algorithmus „Simulated Annealing“ (zur Minimumsuche !!!) 1. 2. 3. 4. 5. Initialisiere Temperatur T > 0. Setze Temperaturwechselzähler t = 0. Wähle Anfangslösung xX. Berechne ZF-Wert f(x). REPEAT {iterative Suche} 5.1 Setze Wiederholungszähler n = 0. 5.2 REPEAT {wiederholte Suche bei gleicher Temperatur T} (1) Wähle neue Lösung y in Umgebung von x. (2) IF f(y) < f(x) THEN x := y ELSE IF rand(0; 1) < exp{-[f(x) – f(y)] / T } THEN x := y. (3) n := n+1. UNTIL n = N(t) . {Terminationsbedingung} 5.3 T := g(T, t). 5.4 t := t+1. UNTIL (Stop-Bedingung). 6. Gib x und f(x) zurück. Bemerkung: a) rand(0; 1) liefert ZZ aus (0; 1). b) Terminationsbedingung prüft, ob „thermische Gleichgewicht“ erreicht. Mit gleichen Temperatur wird entsprechend oft 5.2 ausgeführt. Einfache Implementierung ist, einen festen Wert L anzunehmen. Dann ist L ein weiterer Parameter des Verfahrens. c) Die Temperatur wird entsprechend einer Abkühlungsfunktion g(, t) verringert. d) Die Stop-Bedingung legt fest, wie oft 5. zu wiederholen ist. Im Einzelnen sind für die Anwendung auf ein OP festzulegen: (I) problemspezifische Dinge 1. Repräsentation einer Lösung (reellwertig; binär; ...). 2. Definition der ZF f( ) und Berechnungsverfahren. 3. Festlegung einer Nachbarschaftsstruktur (abhängig von 1. und vom Problem). 4. Festlegung eines Verfahrens zur Erzeugung neuer Lösungen aus der Umgebung der alten Lösung (i.d.R. zufällig). (II) allgemeine Dinge 5. Anfangstemperatur T. 6. Abkühlungsfunktion g( , t). 7. Anzahl Iterationen bzw. Iterationenfunktion N(t). 8. Stop-Kriterium. 17 Auswahl einer Abkühlungsfunktion bzw. eines Abkühlplanes (annealing schedule): T – groß Akzeptanz einer neuen Lösung ist hoch lokale Optima können verlassen werden T – klein Akzeptanzwahrscheinlichkeit für schlechtere Lösung ist gering T=0 nur Verbesserungen sind zugelassen Abkühlungsplan legt zweierlei fest: - wie soll Parameter T abgesenkt werden - wie viele Iterationen mit gegebenem T realisieren verschieden: stufenweise wie z.B. geometrischer Kühlplan Ti+1 = c Tt, t=0, 1, ..., d.h., g(T, t) = c T mit c<1 und c ~ 1 ! stetig nichtmonoton, usw.; Bemerkungen - Kombination mit anderen Verfahren: 1) anderes Verfahren findet Startlösung für SimAnn 2) SimAnn findet Startlösung für anderes Verfahren 3) iterative wechselseitige Anwendung - problemspezifische Modifikationen 1) E nur näherungsweise bestimmt (immer – nur mit bestimmter W. – manchmal) 2) ablehnungsfreies Verfahren gegen Ende der Suche („nur“ W.-vert. für Ablehnung eines Schrittes) - parallele Versionen 2 allg. Strategien single-trial Parallelisierung: Berechnungen eines Versuches durch mehrere Prozessoren Gewinn stark problemabhängig multi-trial Parallelisierung: mehrere gleichzeitig Aarts/Korst nennen 3 allg. Zugänge 1. Teilungsalgorithmus: Aufteilung der Anzahl Iterationen für geg. Temperatur 2. Clusteralgorithmus: Prozessoren untersuchen mögliche Schritte so lange, bis einer angenommen wird; dieser wird allen mitgeteilt; von vorn alles uneffwektiv zu Beginn, da T hoch und schnelle Annahme 1. und 2. verbinden ! 3. Fehleralgorithmus:alle Prozessoren untersuchen potentielle Nachbarschaftsschritte; sobald eine Annahme, so neue aktuelle Lösung an alle gegeben usf. - Vergleiche + Klar: Für OP mit unimodalen ZF sind Abstiegsverfahren vorzuziehen. + mit problemspezifischen Verfahren: für TSP besser als Lin-Kernighan Algorithmus, i.d.R. aber schlechter + Vergleich versch. Abkühlpläne: scheinen ohne Einfluss. !!! Zu Beginn und gegen Ende nicht zu lange bei hohen bzw. niedrigen Temperaturen verweilen !!! + andere allg. Heuristiken: TS besser als SimAnn für Färbungsproblem von Graphen SimAnn besser TS für Layout-Probleme 18 Zusammenfassung a) Obwohl einfaches Schema, so durch verschiedene Algorithmenparameter (Anfangstemperatur, Abkühlplan, Anzahl Iterationen je Temperaturwert, Umgebungsstruktur, Auswahl neuer Lösungen, Stop-Kriterium) eine Vielzahl von Varianten. b) Generell zur Güte: (i) langsames Abkühlen sehr gute Ergebnisse, aber lange Rechenzeiten; schnelles Abkühlen kurze Rechenzeiten mit schlechteren Ergebnissen; (ii) SA als Markovsche Kette modellierbar; unter bestimmten Annahmen an den Abkühlungsplan kann Konvergenz auf globales Optimum bewiesen werden; dabei exponentielle Laufzeiten bei gegebenen Zeitschranke ist SA eine Heuristik. c) Sammeln von Erfahrung wichtig !!! 2.3 Modifikationen des Algorithmus „Simulated Annealing“ Ziele bei Modifikation: - einfache Implementierung - einfache Parametrisierung - geringe Rechenzeit - nicht schlechtere Lösungsqualität Ansatzpunkt ist die Akzeptanzregel, weil beim SA wird die Akzeptanzentscheidung mittels einer ZZ gefällt; der entsprechende Schritt ist rechenzeitaufwendig. 3 Verfahren: Threshold Accepting, Sintflut-Algorithmus, Record-to-Record Travel 1. Threshold Accepting Prinzip: Neue Lösung wird akzeptiert, wenn ihr ZF-Wert nicht um mehr als einen Schwellenwert (threshold) T unter dem bisher besten liegt. Dabei wird T immer kleiner. entsprechende Abwandlung des Algorithmus „Simulated Annealing“ Bemerkung: 1. Kann bisher beste Lösung speichern, um auf sie zurückgreifen zu können. Auch die besten K Lösungen kann man speichern. Ist generelle Praxis bei allen Verfahren. 2. Wahl eines Nachbarn muss nicht zufällig erfolgen. 3. Wie sollen Schwellenwerte gewählt werden. 2. Sintflut-Algorithmus Prinzip: Überflutung einer Gebirgslandschaft zwingt Wanderer, immer höher zu steigen. Akzeptanzregel nun wie folgt: ZF-Wert wird mit einer Variablen „Wasserstand“ W verglichen, wobei der Wasserstand langsam ansteigt; anfangs stark und später immer geringfügiger. SI-Algorithmus ist fast genauso gut wie TA – nicht ganz so stabil bezgl. der Qualität seiner Lösungen, aber schneller. Frage. Wie kann ein so simples Verfahren zu guten Ergebnissen führen ? Zwei Erklärungen: Für praktische OP gibt es oft sehr viele sehr gute Lösungen, und mit steigender Dimension des Suchraumes wird es tendenziell einfacher , ein lokales Optimum zu verlassen (entspr. Skizze dazu). 19 3. Record-to-Record-Travel Prinzip: Es wird der bisher beste Wert – der Record – zum Vergleich herangezogen. Eine neue Lösung wird akzeptiert, wenn sie nicht sehr viel schlechter ist als der Record. Diese „nicht sehr viel schlechter“ durch einen Wert AW>0 der akzeptablen Abweichung festgelegt. entsprechende Abwandlung des ursprünglichen Algorithmus Bemerkung: 1. Alle drei Varianten gibt es mit stochastischer und auch deterministischer Suche in der Nachbarschaft. 2. Die letzten zwei Heuristiken hängen von nur einem Parameter ab (SI – Regengeschwindigkeit; RR – zulässige Abweichung). 3. Gemeinsame Eigenschaften mit anderen EA: - iterative Methoden - breit anwendbar - keine restriktiven Anforderungen an die ZF - Heuristiken - zufallsbeeinflusste Komponenten spielen eine Rolle 4. Unterschiede zu EA: - kein populationsbasierter Ansatz - Mutationen sind einziger Suchoperator - bei Selektion werden spezielle Akzeptanzregeln angewandt - hier lässt sich Konvergenzgeschwindigkeit recht gut steuern - Parallelisierung erschwert - werden fast nur für kombinatorische OP eingesetzt 20