Die simulierte Abkühlung englisch simulated annealing auch simuliertes Tempern oder simulierte Vergütung genannt ist ein
Simulierte Abkühlung

Die simulierte Abkühlung (englisch simulated annealing, auch simuliertes Tempern oder simulierte Vergütung genannt) ist ein heuristisches Approximationsverfahren. Sie wird zum Auffinden einer Näherungslösung von Optimierungsproblemen eingesetzt, die durch ihre hohe Komplexität das vollständige Ausprobieren aller Möglichkeiten und mathematische Optimierungsverfahren ausschließen.
Grundidee ist die Nachbildung eines Abkühlungsprozesses, etwa beim Glühen in der Metallurgie. Nach dem Erhitzen eines Metalls sorgt die langsame Abkühlung dafür, dass die Atome ausreichend Zeit haben, sich zu ordnen und stabile Kristalle zu bilden. Dadurch wird ein energiearmer Zustand nahe am Optimum erreicht. Übertragen auf das Optimierungsverfahren entspricht die Temperatur einer Wahrscheinlichkeit, mit der sich ein Zwischenergebnis der Optimierung auch verschlechtern darf. Wie viele andere Lokale-Suche-Algorithmen kann das Verfahren dadurch ein lokales Optimum wieder verlassen, um ein besseres zu finden. Vom Metropolis-Algorithmus in Monte-Carlo-Simulationen unterscheidet sich das Verfahren durch das Absenken der Temperatur im Verlauf der Iteration.
Der Algorithmus wird beispielsweise beim Floorplanning im Laufe eines Chipentwurfs oder für die Standort- und Routenplanung verwendet.
In den 1990er Jahren wurden Quantenversionen der simulierten Abkühlung (mit Tunnelung zwischen den Minima) eingeführt.
Motivation
Der Algorithmus der simulierten Abkühlung ist durch physikalische Überlegungen motiviert. Gesucht sei ein energetisch günstigster Zustand eines Systems, welches mithilfe der Boltzmann-Statistik beschrieben werden kann. Gemäß der Boltzmann-Statistik ist die Wahrscheinlichkeit, einen Mikrozustand mit Energie anzutreffen, gegeben durch die Wahrscheinlichkeitsverteilung
wobei die Boltzmann-Konstante und die Temperatur ist. Die Energie des energetisch günstigsten Zustandes sei . Die obige Proportionalität bleibt bestehen bei Multiplikation mit einem von unabhängigen Faktor:
Da der energetisch günstigste Zustand ist, gilt . Weiterhin ist und . Somit ist der Exponent negativ, und mit abnehmender Temperatur wird sein Betrag größer, wodurch die Wahrscheinlichkeit sinkt, einen angeregten Energiezustand mit mindestens zu finden. Senkt man somit die Temperatur des Systems langsam ab, so wird der energetisch günstigste Zustand mit immer größerer Wahrscheinlichkeit angetroffen.
Problemstellung
Gegeben sei der Lösungsraum , eine Fitnessfunktion , die jeder Lösung in einen Wert zuweist, und ein Abbruchkriterium.
Gesucht ist eine approximative Lösung des globalen Minimums von über , also ein mit möglichst kleinem Wert . Sollte ein mit möglichst großem Wert gesucht sein (Maximierungsproblem), kann man dies durch Negieren von einfach auf den vorigen Fall zurückführen.
Außerdem wird ein Umgebungsbegriff benötigt (wobei die Potenzmenge von bezeichnet), um zu gegebenem eine benachbarte Lösung zu erzeugen.
Algorithmus
- Initialisierung:
- wähle eine Startlösung
- setze
- wähle eine monoton gegen Null fallende Folge von positiven Temperaturwerten
- Setze
- lokale Veränderung:
- wähle zu einen Nachbarn zufällig aus
- Selektion:
- wenn , setze
- anderenfalls setze nur mit Wahrscheinlichkeit .
- Bisher beste Lösung aktualisieren:
- wenn , setze
- Inkrementiere:
- setze
- Abbruch oder weiter:
- wenn die Abbruchbedingung nicht erfüllt ist, gehe zu Schritt 2.
Erläuterungen
Die Wahrscheinlichkeit , dass durch ein schlechteres ersetzt wird, ist umso kleiner, je größer die Verschlechterung ist. Weil eine monoton fallende Folge ist, nimmt die Wahrscheinlichkeit außerdem während eines Programmlaufs immer mehr ab. Das Verfahren verhält sich mit abnehmendem mehr und mehr wie ein Bergsteigeralgorithmus.
Wie ein Nachbar gewählt werden sollte, hängt von dem vorliegenden Problem ab. In der Informatik ist häufig der Wertebereich und wird als Bit-Vektor betrachtet. Ein Nachbar von kann dann z. B. durch das Flippen (Invertieren) von einem oder von wenigen Bits erzeugt werden (siehe Wegener 2005).
Es sind verschiedene Abbruchbedingungen denkbar. Zum Beispiel wird nur eine maximale Anzahl von Durchläufen erlaubt, eine ausreichende Fitness definiert, eine Untergrenze für die Abkühlung festgelegt oder eine Anzahl von Zeitpunkten definiert, über die sich nicht mehr geändert hat.
Graphische Verdeutlichung
Die Idee des simulierten Abkühlens kann man sich graphisch verdeutlichen.
Angenommen, man sucht in einer zweidimensionalen Landschaft den (global) tiefsten Punkt. Die Landschaft selbst besteht aus vielen unterschiedlich tiefen Dellen. Die einfache Suchstrategie (suche den nächsten tiefsten Punkt) entspricht dem Verhalten einer Kugel, welche in dieser Landschaft ausgesetzt wird. Sie rollt zum nächsten lokalen Minimum und bleibt dort. Bei der simulierten Abkühlung wird der Kugel immer wieder ein Stoß versetzt, der mit zunehmender „Abkühlung“ schwächer wird. Dieser ist idealerweise stark genug, um die Kugel aus einer flachen Delle (lokales Minimum) zu entfernen, reicht aber nicht aus, um aus dem globalen Minimum zu fliehen.
Siehe auch
- Schwellenakzeptanz (threshold accepting)
- Stochastisches Tunneln
- Sintflutalgorithmus
- Metropolisalgorithmus
Literatur
- Ingo Wegener: Simulated Annealing Beats Metropolis in Combinatorial Optimization. In: Lecture Notes in Computer Science. Band 3580. Springer, Berlin/Heidelberg 2005, ISBN 978-3-540-27580-0, S. 589–601, doi:10.1007/11523468 (Für ein einfach zu beschreibendes Problem wird gezeigt, dass unabhängig von der Temperatur die simulierte Abkühlung effizienter ist als der Metropolisalgorithmus.).
Weblinks
- Interaktives JavaScript zur Demonstration ( vom 13. März 2015 im Internet Archive)
- Interaktive Demonstration zum Ausprobieren
- C#-Implementierung und Anwendung zur Minimierung und auf das Problem des Handelsreisenden
- Simulated Annealing in C++ Optimierungs-Bibliothek cppOpt cppOpt bzw. OptSimulatedAnnealing.h
Einzelnachweise
- Raúl Rojas: Theorie der neuronalen Netze: eine systematische Einführung (= Springer-Lehrbuch). 4., korrigierter Nachdr Auflage. Springer, Berlin Heidelberg 1996, ISBN 978-3-540-56353-2.
- Bogatzki, A.: Fabrikplanung: Verfahren zur Optimierung von Maschinenaufstellung. Diss. Universität Wuppertal (1998). Roderer 1998. ISBN 978-3-89073-234-3
- T. Kadowaki, H. Nishimori, Quantum annealing in the transverse Ising model, Phys. Rev. E, Band 58, 1998, S. 5355
- A. B. Finilla, M. A. Gomez, C. Sebenik, J. D. Doll, Quantum annealing: A new method for minimizing multidimensional functions, Chem. Phys. Lett., Band 219, 1994, S. 343
- JP Dr. A. Arnold, Universität Stuttgart, Institut für Computerphysik, Skript zur Vorlesung Physik auf dem Computer (PDF; 3,3 MB) S. 181 ff.
- Google TechTalk Vortrag Eine kurze, aber sehr verständliche Erklärung zum Thema findet man ab Minute 35.
Autor: www.NiNa.Az
Veröffentlichungsdatum:
wikipedia, wiki, deutsches, deutschland, buch, bücher, bibliothek artikel lesen, herunterladen kostenlos kostenloser herunterladen, MP3, Video, MP4, 3GP, JPG, JPEG, GIF, PNG, Bild, Musik, Lied, Film, Buch, Spiel, Spiele, Mobiltelefon, Mobil, Telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, komputer, Informationen zu Simulierte Abkühlung, Was ist Simulierte Abkühlung? Was bedeutet Simulierte Abkühlung?
Die simulierte Abkuhlung englisch simulated annealing auch simuliertes Tempern oder simulierte Vergutung genannt ist ein heuristisches Approximationsverfahren Sie wird zum Auffinden einer Naherungslosung von Optimierungsproblemen eingesetzt die durch ihre hohe Komplexitat das vollstandige Ausprobieren aller Moglichkeiten und mathematische Optimierungsverfahren ausschliessen Grundidee ist die Nachbildung eines Abkuhlungsprozesses etwa beim Gluhen in der Metallurgie Nach dem Erhitzen eines Metalls sorgt die langsame Abkuhlung dafur dass die Atome ausreichend Zeit haben sich zu ordnen und stabile Kristalle zu bilden Dadurch wird ein energiearmer Zustand nahe am Optimum erreicht Ubertragen auf das Optimierungsverfahren entspricht die Temperatur einer Wahrscheinlichkeit mit der sich ein Zwischenergebnis der Optimierung auch verschlechtern darf Wie viele andere Lokale Suche Algorithmen kann das Verfahren dadurch ein lokales Optimum wieder verlassen um ein besseres zu finden Vom Metropolis Algorithmus in Monte Carlo Simulationen unterscheidet sich das Verfahren durch das Absenken der Temperatur im Verlauf der Iteration Der Algorithmus wird beispielsweise beim Floorplanning im Laufe eines Chipentwurfs oder fur die Standort und Routenplanung verwendet In den 1990er Jahren wurden Quantenversionen der simulierten Abkuhlung mit Tunnelung zwischen den Minima eingefuhrt MotivationDer Algorithmus der simulierten Abkuhlung ist durch physikalische Uberlegungen motiviert Gesucht sei ein energetisch gunstigster Zustand eines Systems welches mithilfe der Boltzmann Statistik beschrieben werden kann Gemass der Boltzmann Statistik ist die Wahrscheinlichkeit einen Mikrozustand mit Energie Ej displaystyle geq E j anzutreffen gegeben durch die Wahrscheinlichkeitsverteilung p Ej exp EjkBT displaystyle p E j propto exp left frac E j k mathrm B T right wobei kB displaystyle k mathrm B die Boltzmann Konstante und T displaystyle T die Temperatur ist Die Energie des energetisch gunstigsten Zustandes sei E0 displaystyle E 0 Die obige Proportionalitat bleibt bestehen bei Multiplikation mit einem von Ej displaystyle E j unabhangigen Faktor p Ej exp Ej E0 kBT displaystyle p E j propto exp left frac E j E 0 k mathrm B T right Da E0 displaystyle E 0 der energetisch gunstigste Zustand ist gilt Ej E0 0 displaystyle E j E 0 geq 0 Weiterhin ist kB gt 0 displaystyle k mathrm B gt 0 und T gt 0 displaystyle T gt 0 Somit ist der Exponent negativ und mit abnehmender Temperatur wird sein Betrag grosser wodurch die Wahrscheinlichkeit sinkt einen angeregten Energiezustand mit mindestens Ej displaystyle E j zu finden Senkt man somit die Temperatur des Systems langsam ab so wird der energetisch gunstigste Zustand mit immer grosserer Wahrscheinlichkeit angetroffen ProblemstellungGegeben sei der Losungsraum D displaystyle D eine Fitnessfunktion f D R displaystyle f colon D rightarrow mathbb R die jeder Losung in D displaystyle D einen Wert zuweist und ein Abbruchkriterium Gesucht ist eine approximative Losung des globalen Minimums von f displaystyle f uber D displaystyle D also ein x D displaystyle x in D mit moglichst kleinem Wert f x displaystyle f x Sollte ein x displaystyle x mit moglichst grossem Wert gesucht sein Maximierungsproblem kann man dies durch Negieren von f displaystyle f einfach auf den vorigen Fall zuruckfuhren Ausserdem wird ein Umgebungsbegriff U D P D displaystyle U colon D rightarrow mathcal P D benotigt wobei P D displaystyle mathcal P D die Potenzmenge von D displaystyle D bezeichnet um zu gegebenem x D displaystyle x in D eine benachbarte Losung y U x displaystyle y in U x zu erzeugen AlgorithmusInitialisierung wahle eine Startlosung x D displaystyle x in D setze xapprox x displaystyle x mathrm approx x wahle eine monoton gegen Null fallende Folge von positiven Temperaturwerten Tt t N displaystyle T t t in mathbb N Setze t 0 displaystyle t 0 lokale Veranderung wahle zu x displaystyle x einen Nachbarn y U x displaystyle y in U x zufallig aus Selektion wenn f y f x displaystyle f y leq f x setze x y displaystyle x y anderenfalls setze x y displaystyle x y nur mit Wahrscheinlichkeit exp f y f x Tt displaystyle exp left frac f left y right f left x right T t right Bisher beste Losung aktualisieren wenn f x lt f xapprox displaystyle f x lt f x text approx setze xapprox x displaystyle x text approx x Inkrementiere setze t t 1 displaystyle t t 1 Abbruch oder weiter wenn die Abbruchbedingung nicht erfullt ist gehe zu Schritt 2 Erlauterungen Die Wahrscheinlichkeit exp f y f x Tt displaystyle exp left frac f y f x T t right dass x displaystyle x durch ein schlechteres y displaystyle y ersetzt wird ist umso kleiner je grosser die Verschlechterung f y f x displaystyle f y f x ist Weil Tt displaystyle T t eine monoton fallende Folge ist nimmt die Wahrscheinlichkeit ausserdem wahrend eines Programmlaufs immer mehr ab Das Verfahren verhalt sich mit abnehmendem Tt displaystyle T t mehr und mehr wie ein Bergsteigeralgorithmus Wie ein Nachbar y U x displaystyle y in U x gewahlt werden sollte hangt von dem vorliegenden Problem ab In der Informatik ist haufig der Wertebereich D 0 1 n displaystyle D 0 1 n und x x1 x2 xn displaystyle x x 1 x 2 dotsc x n wird als Bit Vektor betrachtet Ein Nachbar y displaystyle y von x displaystyle x kann dann z B durch das Flippen Invertieren von einem oder von wenigen Bits erzeugt werden siehe Wegener 2005 Es sind verschiedene Abbruchbedingungen denkbar Zum Beispiel wird nur eine maximale Anzahl von Durchlaufen erlaubt eine ausreichende Fitness definiert eine Untergrenze fur die Abkuhlung festgelegt oder eine Anzahl t displaystyle t von Zeitpunkten definiert uber die xapprox displaystyle x mathrm approx sich nicht mehr geandert hat Graphische Verdeutlichung Graphische Darstellung einer Landschaft in der ein globales Minimum gefunden werden soll Die Idee des simulierten Abkuhlens kann man sich graphisch verdeutlichen Angenommen man sucht in einer zweidimensionalen Landschaft den global tiefsten Punkt Die Landschaft selbst besteht aus vielen unterschiedlich tiefen Dellen Die einfache Suchstrategie suche den nachsten tiefsten Punkt entspricht dem Verhalten einer Kugel welche in dieser Landschaft ausgesetzt wird Sie rollt zum nachsten lokalen Minimum und bleibt dort Bei der simulierten Abkuhlung wird der Kugel immer wieder ein Stoss versetzt der mit zunehmender Abkuhlung schwacher wird Dieser ist idealerweise stark genug um die Kugel aus einer flachen Delle lokales Minimum zu entfernen reicht aber nicht aus um aus dem globalen Minimum zu fliehen Simulierte Abkuhlung bei der Suche nach einem Maximum Die zahlreichen lokalen Maxima werden durch die bei noch hoher Temperatur starke Rausch Bewegung der Temperatursimulation schnell wieder verlassen Das globale Maximum wird aber zuverlassig gefunden da der fallende Temperatur Wert zum Ende nicht mehr ausreicht es zu verlassen Das erbringt bessere Resultate als ein einfacher Bergsteigeralgorithmus Siehe auchSchwellenakzeptanz threshold accepting Stochastisches Tunneln Sintflutalgorithmus MetropolisalgorithmusLiteraturIngo Wegener Simulated Annealing Beats Metropolis in Combinatorial Optimization In Lecture Notes in Computer Science Band 3580 Springer Berlin Heidelberg 2005 ISBN 978 3 540 27580 0 S 589 601 doi 10 1007 11523468 Fur ein einfach zu beschreibendes Problem wird gezeigt dass unabhangig von der Temperatur die simulierte Abkuhlung effizienter ist als der Metropolisalgorithmus WeblinksInteraktives JavaScript zur Demonstration Memento vom 13 Marz 2015 im Internet Archive Interaktive Demonstration zum Ausprobieren C Implementierung und Anwendung zur Minimierung und auf das Problem des Handelsreisenden Simulated Annealing in C Optimierungs Bibliothek cppOpt cppOpt bzw OptSimulatedAnnealing hEinzelnachweiseRaul Rojas Theorie der neuronalen Netze eine systematische Einfuhrung Springer Lehrbuch 4 korrigierter Nachdr Auflage Springer Berlin Heidelberg 1996 ISBN 978 3 540 56353 2 Fehler in Vorlage Literatur Parameterproblem Dateiformat Grosse Abruf nur bei externem Link Bogatzki A Fabrikplanung Verfahren zur Optimierung von Maschinenaufstellung Diss Universitat Wuppertal 1998 Roderer 1998 ISBN 978 3 89073 234 3 T Kadowaki H Nishimori Quantum annealing in the transverse Ising model Phys Rev E Band 58 1998 S 5355 A B Finilla M A Gomez C Sebenik J D Doll Quantum annealing A new method for minimizing multidimensional functions Chem Phys Lett Band 219 1994 S 343 JP Dr A Arnold Universitat Stuttgart Institut fur Computerphysik Skript zur Vorlesung Physik auf dem Computer PDF 3 3 MB S 181 ff Google TechTalk Vortrag Eine kurze aber sehr verstandliche Erklarung zum Thema findet man ab Minute 35