Das vorgetäuschte Ausglühen

Vorgetäuschte Ausglühen (SA) ist ein allgemeiner probabilistic metaheuristic für das globale Optimierungsproblem, eine gute Annäherung an das globale Optimum einer gegebenen Funktion in einem großen Suchraum ausfindig zu machen. Es wird häufig verwendet, wenn der Suchraum getrennt ist (z.B, alle Touren, die einen gegebenen Satz von Städten besuchen). Für bestimmte Probleme kann das vorgetäuschte Ausglühen effizienter sein als erschöpfende Enumeration — vorausgesetzt, dass die Absicht bloß ist, eine annehmbar gute Lösung in einer festen Zeitdauer, aber nicht die bestmögliche Lösung zu finden.

Der Name und die Inspiration kommen daraus, in der Metallurgie, einer Technik-Beteiligen-Heizung und dem kontrollierten Abkühlen eines Materials auszuglühen, um die Größe seiner Kristalle zu vergrößern und ihre Defekte zu reduzieren. Die Hitze veranlasst die Atome, lose von ihren anfänglichen Positionen (ein lokales Minimum der inneren Energie) zu werden und zufällig durch Staaten der höheren Energie zu wandern; das langsame Abkühlen gibt ihnen mehr Chancen, Konfigurationen mit der niedrigeren inneren Energie zu finden, als die anfängliche.

Analog mit diesem physischen Prozess versucht jeder Schritt des SA Algorithmus, die aktuelle Lösung durch eine zufällige Lösung (gewählt gemäß einem Kandidat-Vertrieb zu ersetzen, der häufig zur Probe von Lösungen in der Nähe von der aktuellen Lösung gebaut ist). Die neue Lösung kann dann mit einer Wahrscheinlichkeit akzeptiert werden, die sowohl vom Unterschied zwischen den entsprechenden Funktionswerten als auch auf einem globalen Parameter T abhängt (hat die Temperatur genannt), der während des Prozesses allmählich vermindert wird. Die Abhängigkeit ist solch, dass die Wahl zwischen der vorherigen und aktuellen Lösung fast zufällig ist, wenn T groß ist, aber zunehmend besser oder "abschüssige" Lösung auswählt (für ein Minimierungsproblem), als T zur Null geht. Die Erlaubnis für "harte" Bewegungen spart potenziell die Methode davon zu werden ist vor lokalen Optima zurückgeschreckt — die das Verderben von gierigeren Methoden sind.

Die Methode wurde von Scott Kirkpatrick, C. Daniel Gelatt und Mario P. Vecchi 1983, und durch Vlado Černý 1985 unabhängig beschrieben. Die Methode ist eine Anpassung des Algorithmus der Metropole-Hastings, eine Methode von Monte Carlo, Beispielstaaten eines thermodynamischen Systems zu erzeugen, das von M.N. Rosenbluth in einem Vortrag von N erfunden ist. Metropole u. a. 1953.

Übersicht

In der Methode des vorgetäuschten Ausglühens (SA) ist jeder Punkt s des Suchraums einem Staat von einem physischen System analog, und die Funktion E (s), um minimiert zu werden, ist der inneren Energie des Systems in diesem Staat analog. Die Absicht ist, das System von einem willkürlichen anfänglichen Staat zu einem Staat mit der minimalen möglichen Energie zu bringen.

Die grundlegende Wiederholung

An jedem Schritt denkt das SA heuristische einige benachbarte staatliche s' des aktuellen Staates s, und probabilistically entscheidet zwischen dem Bewegen des Systems, um s' oder das Bleiben im Staat s festzusetzen. Diese Wahrscheinlichkeiten bringen schließlich das System dazu, sich zu Staaten der niedrigeren Energie zu bewegen. Normalerweise wird dieser Schritt wiederholt, bis das System einen Staat erreicht, der für die Anwendung gut genug ist, oder bis ein gegebenes Berechnungsbudget erschöpft worden ist.

Die Nachbarn eines Staates

Die Nachbarn eines Staates sind neue Staaten des Problems, die nach dem Ändern eines gegebenen Staates auf eine besondere Weise erzeugt werden. Zum Beispiel, im Handelsreisender-Problem, wird jeder Staat normalerweise als eine besondere Versetzung der zu besuchenden Städte definiert. Die Nachbarn der Versetzung sind die Versetzungen, die zum Beispiel durch das Austauschen eines Paares von angrenzenden Städten erzeugt werden. Die Handlung, die genommen ist, um die Lösung zu verändern, um benachbarte Lösungen zu finden, wird eine "Bewegung" genannt, und verschiedene Bewegungen geben verschiedenen Nachbarn. Diese Bewegungen laufen gewöhnlich auf minimale Modifizierungen der Lösung hinaus, weil das vorherige Beispiel zeichnet, um einem Algorithmus zu helfen, die Lösung des maximalen Ausmaßes zu optimieren und auch die bereits optimalen Teile der Lösung zu behalten und nur die suboptimalen Teile zu betreffen. Im vorherigen Beispiel sind die Teile der Lösung die Stadtverbindungen.

Das Suchen nach Nachbarn eines Staates ist für die Optimierung grundsätzlich, weil die Endlösung nach einer Tour von aufeinander folgenden Nachbarn kommen wird. Die einfache Heuristik-Bewegung durch die Entdeckung ist am besten nach dem besten Nachbar benachbart und hält an, als sie eine Lösung erreicht haben, die keine Nachbarn hat, die bessere Lösungen sind. Das Problem mit dieser Annäherung besteht darin, dass, wie man versichert, die Nachbarn eines Staates keine der vorhandenen besseren Lösungen enthalten, was bedeutet, dass Misserfolg, eine bessere Lösung unter ihnen zu finden, nicht versichert, dass keine bessere Lösung besteht. Das ist, warum die beste durch solche Algorithmen gefundene Lösung ein lokales Optimum im Vergleich mit der wirklichen besten Lösung genannt wird, die ein globales Optimum genannt wird. Metaheuristics verwenden die Nachbarn eines Staates als eine Weise, den Lösungsraum zu erforschen, und können schlechtere Lösungen in ihrer Suche akzeptieren, um das zu vollbringen. Das bedeutet, dass die Suche zu einem lokalen Optimum nicht stecken bleiben wird, und wenn der Algorithmus für eine unendliche Zeitdauer geführt wird, wird das globale Optimum gefunden.

Annahmewahrscheinlichkeiten

Die Wahrscheinlichkeit, den Übergang vom aktuellen Staat bis einen Kandidaten zu machen, neuer Staat wird durch eine Annahmewahrscheinlichkeitsfunktion angegeben, die von den Energien und von den zwei Staaten, und auf einem globalen zeitändernden Parameter abhängt, hat die Temperatur genannt.

Staaten mit einer kleineren Energie sind besser als diejenigen mit einer größeren Energie.

Die Wahrscheinlichkeitsfunktion muss positiv sein, selbst wenn größer ist als. Diese Eigenschaft hindert die Methode zu werden ist vor einem lokalen Minimum zurückgeschreckt, das schlechter ist als der globale.

Wenn zur Null neigt, muss die Wahrscheinlichkeit zur Null wenn und zu einem positiven Wert sonst neigen. Für genug kleine Werte wird das System dann Bewegungen zunehmend bevorzugen, die "bergab" gehen (d. h., um Energiewerte zu senken), und diejenigen zu vermeiden, die "bergauf" gehen. Mit dem Verfahren nimmt zum gierigen Algorithmus ab, der nur die abschüssigen Übergänge macht.

In der ursprünglichen Beschreibung von SA war die Wahrscheinlichkeit 1 wenn gleich

Die Funktion wird gewöhnlich gewählt, so dass die Wahrscheinlichkeit, eine Bewegung zu akzeptieren, wenn der Unterschied abnimmt

Zunahmen — d. h. kleine harte Bewegungen sind wahrscheinlicher als große. Jedoch ist diese Voraussetzung nicht ausschließlich notwendig, vorausgesetzt, dass den obengenannten Anforderungen entsprochen wird.

In Anbetracht dieser Eigenschaften spielt die Temperatur eine entscheidende Rolle im Steuern der Evolution des Staates des Systems gegenüber seiner Empfindlichkeit zu den Schwankungen von Systemenergien. Um für einen großen genau zu sein, ist die Evolution dessen zu raueren Energieschwankungen empfindlich, während es zu feineren Energieschwankungen empfindlich ist, wenn klein ist.

Die Ausglühen-Liste

Der Name und die Inspiration des Algorithmus fordern eine interessante mit der Temperaturschwankung verbundene Eigenschaft, die in den betrieblichen Eigenschaften des Algorithmus einzubetten ist. Das macht die allmähliche Verminderung der Temperatur nötig, als die Simulation weitergeht. Der Algorithmus fängt am Anfang mit dem Satz zu einem hohen Wert (oder Unendlichkeit) an, und dann wird es an jedem Schritt im Anschluss an eine Ausglühen-Liste vermindert — der vom Benutzer angegeben werden kann, aber mit zum Ende des zugeteilten Zeitbudgets enden muss. Auf diese Weise, wie man erwartet, wandert das System am Anfang zu einem breiten Gebiet des Suchraums, der gute Lösungen enthält, kleine Eigenschaften der Energiefunktion ignorierend; dann der Antrieb zu Gebieten der niedrigen Energie, die schmaler und schmaler werden; und bewegen Sie sich schließlich bergab gemäß dem steilsten heuristischen Abstieg.

</tr>

Beispiel, das die Wirkung der kühl werdenden Liste auf der Leistung des vorgetäuschten Ausglühens illustriert. Das Problem ist, die Pixel eines Images umzuordnen, um eine bestimmte potenzielle Energiefunktion zu minimieren, die ähnliche Farben veranlasst, an der kurzen Reihe anzuziehen und in einer ein bisschen größeren Entfernung zurückzutreiben. Die elementaren Bewegungen tauschen zwei angrenzende Pixel. Diese Images wurden mit einer schnellen kühl werdenden Liste (verlassen) und einer langsamen kühl werdenden Liste (Recht) erhalten, Ergebnisse erzeugend, die amorphen und kristallenen Festkörpern beziehungsweise ähnlich sind.

</td>

</tr>

</Tisch>

</Zentrum>

Für jedes gegebene begrenzte Problem nähert sich die Wahrscheinlichkeit, dass der vorgetäuschte Ausglühen-Algorithmus mit der globalen optimalen Lösung endet, 1, weil die Ausglühen-Liste erweitert wird. Dieses theoretische Ergebnis ist jedoch nicht besonders nützlich, da die Zeit, die erforderlich ist, eine bedeutende Wahrscheinlichkeit des Erfolgs zu sichern, gewöhnlich die für eine ganze Suche des Lösungsraums erforderliche Zeit überschreiten wird.

Pseudocode

Der folgende Pseudocode präsentiert das vorgetäuschte heuristische wie beschriebene Ausglühen oben. Es fängt von einem Staat an und setzt entweder ein Maximum von Schritten oder bis zu einem Staat mit einer Energie dessen fort, oder weniger wird gefunden. Dabei sollte der Anruf einen zufällig gewählten Nachbar eines gegebenen Staates s erzeugen; der Anruf sollte einen zufälligen Wert in der Reihe zurückgeben. Die Ausglühen-Liste wird durch den Anruf definiert, der die Temperatur nachgeben sollte, um in Anbetracht des Bruchteils des Zeitbudgets zu verwenden, das bis jetzt ausgegeben worden ist.

s  s0; e  E (s)//Anfänglicher Staat, Energie.

sbest  s; ebest  e//Anfängliche "beste" Lösung

k  0//Energieeinschätzungszählung.

während k

T  Temperatur (k/kmax)//Temperaturberechnung.

snew  Nachbar (N)//Auswahl ein Nachbar.

enew  E (snew)//Schätzen seine Energie.

wenn P (e, enew, T)> zufällig dann//sollten wir uns dazu bewegen?

s  snew; e  enew//Ja, ändern Sie Staat.

wenn e

Pedantisch sprechend, geht der "reine" SA Algorithmus die beste Lösung gefunden bis jetzt nicht nach: Es verwendet die Variablen nicht, und es hat am zweiten Inneren die Schleife, und am Ende Mangel, es gibt den aktuellen Staat statt zurück. Während das Erinnern an den besten Staat eine Standardtechnik in der Optimierung ist, die in jedem metaheuristic verwendet werden kann, hat es keine Analogie mit dem physischen Ausglühen — da ein physisches System einen einzelnen Staat nur "versorgen" kann.

Noch mehr pedantisch sind das Sprechen, das Sparen des besten Staates nicht notwendigerweise eine Verbesserung, da man einen kleineren kann angeben müssen, um die höheren Kosten pro Wiederholung zu ersetzen, und da es eine gute Wahrscheinlichkeit gibt, die in der Endwiederholung irgendwie gleich ist. Jedoch geschieht der Schritt nur auf einem kleinen Bruchteil der Bewegungen. Deshalb ist die Optimierung gewöhnlich lohnend, selbst wenn Zustandkopieren eine teure Operation ist.

Das Auswählen der Rahmen

Um die SA Methode auf ein spezifisches Problem anzuwenden, muss man die folgenden Rahmen angeben: der Zustandraum, die Energie (Absicht) Funktion, das Kandidat-Generator-Verfahren, die Annahmewahrscheinlichkeitsfunktion, und die Ausglühen-Liste UND Anfangstemperatur

Diameter des Suchgraphen

Das vorgetäuschte Ausglühen kann als ein zufälliger Spaziergang auf einem Suchgraphen modelliert werden, dessen Scheitelpunkte alle möglichen Staaten sind, und dessen Ränder die Kandidat-Bewegungen sind. Eine wesentliche Voraussetzung für die Funktion ist, dass sie einen genug kurzen Pfad auf diesem Graphen vom anfänglichen Staat bis jeden Staat zur Verfügung stellen muss, der das globale Optimum sein kann. (Mit anderen Worten muss das Diameter des Suchgraphen klein sein.) Im Handelsreisender-Beispiel oben, zum Beispiel, hat der Suchraum für Städte = 2,432,902,008,176,640,000 (2.4 quintillion) Staaten; noch kann die Nachbargenerator-Funktion, die zwei Konsekutivstädte tauscht, von jedem Staat (Tour) zu jedem anderen Staat in an den meisten Schritten kommen.

Übergangswahrscheinlichkeiten

Für jeden Rand des Suchgraphen definiert man eine Übergangswahrscheinlichkeit, die die Wahrscheinlichkeit ist, dass sich der SA Algorithmus bewegen wird, um festzusetzen, wenn sein aktueller Staat ist. Diese Wahrscheinlichkeit hängt von der aktuellen Temperatur, wie angegeben, durch durch die Ordnung ab, in der sich der Kandidat bewegt, werden durch die Funktion, und nach der Annahmewahrscheinlichkeitsfunktion erzeugt. (Bemerken Sie, dass die Übergangswahrscheinlichkeit nicht einfach ist, weil die Kandidaten serienmäßig geprüft werden.)

Annahmewahrscheinlichkeiten

Die Spezifizierung dessen, und ist teilweise überflüssig. In der Praxis ist es üblich, dieselbe Annahmefunktion für viele Probleme zu verwenden, und die anderen zwei Funktionen gemäß dem spezifischen Problem anzupassen.

In der Formulierung der Methode durch Kirkpatrick u. a., die Annahmewahrscheinlichkeitsfunktion wurde als 1 wenn definiert

Effiziente Kandidat-Generation

Wenn

man den Kandidat-Generator wählt, muss man denken, dass nach einigen Wiederholungen des SA Algorithmus, wie man erwartet, der aktuelle Staat viel niedrigere Energie hat als ein zufälliger Staat. Deshalb, als eine allgemeine Regel, sollte man den Generator zu Kandidat-Bewegungen verdrehen, wo die Energie des Bestimmungsort-Staates wahrscheinlich diesem des aktuellen Staates ähnlich sein wird. Das heuristisch (der der Hauptgrundsatz des Algorithmus der Metropole-Hastings ist) neigt dazu, "sehr gute" Kandidat-Bewegungen sowie "sehr schlechte" auszuschließen; jedoch ist der erstere gewöhnlich viel üblicher als die Letzteren, so ist das heuristische allgemein ziemlich wirksam.

Im Handelsreisender-Problem oben, zum Beispiel, wie man erwartet, hat das Tauschen von zwei Konsekutivstädten in einer Tour der niedrigen Energie eine bescheidene Wirkung auf seine Energie (Länge); wohingegen das Tauschen zwei willkürlicher Städte mit viel größerer Wahrscheinlichkeit seine Länge vergrößern wird als, es zu vermindern. So, wie man erwartet, leistet der Konsekutivtausch-Nachbargenerator besser als der willkürliche Tausch ein, wenn auch die Letzteren einen etwas kürzeren Pfad zum Optimum (mit dem Tausch, statt) zur Verfügung stellen konnten.

Eine genauere Behauptung des heuristischen ist, dass man die ersten Kandidat-Staaten versuchen sollte, für die groß ist. Weil die "Standard"-Annahme oben fungiert, bedeutet es, dass das auf der Ordnung oder weniger ist. So, im Handelsreisender-Beispiel oben, konnte man eine Funktion verwenden, die zwei zufällige Städte tauscht, wo die Wahrscheinlichkeit, ein Stadtpaar zu wählen, verschwindet, weil ihre Entfernung darüber hinaus zunimmt.

Barriere-Aufhebung

Wenn

man den Kandidat-Generator wählt, muss man auch versuchen, die Anzahl von "tiefen" lokalen Minima — Staaten zu vermindern (oder Sätze von verbundenen Staaten), die viel niedrigere Energie haben als alle seine benachbarten Staaten. Solches "geschlossenes Sammelbecken" der Energiefunktion kann den SA Algorithmus mit der hohen Wahrscheinlichkeit (grob proportional zur Zahl von Staaten in der Waschschüssel) und seit einer sehr langen Zeit (grob Exponential-auf dem Energieunterschied zwischen den Umgebungsstaaten und dem Boden der Waschschüssel) fangen.

In der Regel ist es unmöglich, einen Kandidat-Generator zu entwerfen, der diese Absicht und auch prioritize Kandidaten mit der ähnlichen Energie befriedigen wird. Andererseits kann man häufig die Leistungsfähigkeit von SA durch relativ einfache Änderungen zum Generator gewaltig verbessern. Im Handelsreisender-Problem, zum Beispiel, ist es nicht hart, zwei Touren, mit fast gleichen Längen, solch auszustellen, dass (0) optimal ist, (1) geht jede Folge des Stadtpaar-Tausches, die sich dazu umwandelt, Touren durch, die viel länger sind, als beide, und (2) in durch das Schnipsen (das Umkehren der Ordnung) eine Reihe von Konsekutivstädten umgestaltet werden können. In diesem Beispiel, und liegen in verschiedenen "tiefen Waschschüsseln", wenn der Generator nur zufälligen Paar-Tausch durchführt; aber sie werden in derselben Waschschüssel sein, wenn der Generator zufällige Segment-Flips durchführt.

Das Abkühlen der Liste

Die physische Analogie, die verwendet wird, um SA zu rechtfertigen, nimmt an, dass die kühl werdende Rate für den Wahrscheinlichkeitsvertrieb des aktuellen Staates niedrig genug ist, um nahes thermodynamisches Gleichgewicht zu jeder Zeit zu sein. Leider, die Entspannungszeit — die Zeit, auf die man für das Gleichgewicht warten muss, das nach einer Änderung in der Temperatur — stark wieder herzustellen ist, hängt von der "Topografie" der Energiefunktion und auf der aktuellen Temperatur ab. Im SA Algorithmus hängt die Entspannungszeit auch vom Kandidat-Generator auf eine sehr komplizierte Weise ab. Bemerken Sie, dass alle diese Rahmen gewöhnlich zur Verfügung gestellt werden, weil schwarzer Kasten zum SA Algorithmus fungiert.

Deshalb in der Praxis kann die ideale kühl werdende Rate nicht im Voraus bestimmt werden, und sollte für jedes Problem empirisch angepasst werden. Die Variante von SA bekannt als thermodynamisch hat ausglühende Versuche vorgetäuscht, dieses Problem dadurch zu vermeiden, auf die kühl werdende Liste zu verzichten, und stattdessen automatisch die Temperatur an jedem Schritt anzupassen, der auf dem Energieunterschied zwischen den zwei Staaten gemäß den Gesetzen der Thermodynamik gestützt ist.

Wiederanfänge

Manchmal ist es besser, zu einer Lösung zurückzukehren, die sich immer vom aktuellen Staat bedeutsam besser aber nicht bewegte. Dieser Prozess wird genannt, vom vorgetäuschten Ausglühen wiederanfangend. Um das zu tun, gehen wir unter und dazu und und fangen vielleicht die Ausglühen-Liste wiederan. Die Entscheidung wiederanzufangen konnte auf mehreren Kriterien basieren. bemerkenswert unter diesen schließen das Wiederstarten ein hat eine festgelegte Zahl von Schritten gestützt, die auf ob die aktuelle Energie gestützt sind, die von der besten Energie zu hoch ist, erhalten bis jetzt, zufällig usw. wiederanfangend.

Zusammenhängende Methoden

  • Das Quant-Ausglühen verwendet "Quant-Schwankungen" statt Thermalschwankungen, um hohe, aber dünne Barrieren in der Zielfunktion durchzubringen.
  • Stochastischer tunneling versucht zu siegen die zunehmende vorgetäuschte Schwierigkeit, Läufe ausglühend, haben im Entfliehen lokalen Minima, als die Temperatur durch 'tunneling' durch Barrieren abnimmt.
  • Tabu Suche bewegt sich normalerweise zu benachbarten Staaten der niedrigeren Energie, aber wird harte Bewegungen nehmen, wenn es sich durchstochen in einem lokalen Minimum findet; und vermeidet Zyklen durch das Halten einer "unantastbaren Liste" von Lösungen bereits gesehen.
  • Reaktive Suchoptimierung konzentriert sich darauf, Maschine zu verbinden, die mit der Optimierung, durch das Hinzufügen einer inneren Feed-Back-Schleife erfährt, um die freien Rahmen eines Algorithmus zu den Eigenschaften des Problems, vom Beispiel, und von der lokalen Situation um die aktuelle Lösung selbstabzustimmen.
  • Stochastischer Anstieg-Abstieg führt viele gierige Suchen von zufälligen anfänglichen Positionen.
  • Genetische Algorithmen erhalten eine Lache von Lösungen aber nicht gerade ein aufrecht. Neue Kandidat-Lösungen werden nicht nur durch "die Veränderung" (als in SA), sondern auch durch "die Wiederkombination" von zwei Lösungen von der Lache erzeugt. Kriterien von Probabilistic, die denjenigen ähnlich sind, die in SA verwendet sind, werden verwendet, um die Kandidaten für die Veränderung oder Kombination auszuwählen, und für Überlösungen von der Lache zu verwerfen.
  • Abgestufte Optimierung "glättet" abschweifend die Zielfunktion, während sie optimiert.
  • Ameise-Kolonie-Optimierung (ACO) verwendet viele Ameisen (oder Agenten), um den Lösungsraum zu überqueren und lokal produktive Gebiete zu finden.
  • Die Quer-Wärmegewicht-Methode (CE) erzeugt Kandidat-Lösungen über einen parametrisierten Wahrscheinlichkeitsvertrieb. Die Rahmen werden über die Quer-Wärmegewicht-Minimierung aktualisiert, um bessere Proben in der folgenden Wiederholung zu erzeugen.
  • Harmonie-Suche ahmt Musiker im Improvisationsprozess nach, wo jeder Musiker ein Zeichen spielt, für eine beste Harmonie alle zusammen zu finden.
  • Stochastische Optimierung ist ein Regenschirm-Satz von Methoden, der das vorgetäuschte Ausglühen und die vielen anderen Annäherungen einschließt.
  • Partikel-Schwarm-Optimierung ist ein Algorithmus, der auf der Schwarm-Intelligenz modelliert ist, die eine Lösung eines Optimierungsproblems in einem Suchraum oder Modell findet und sagen Sie soziales Verhalten in Gegenwart von Zielen voraus.
  • Intelligent Water Drops (IWD), die das Verhalten von natürlichen Wasserfällen nachahmen, Optimierungsprobleme zu lösen
  • Das parallele Mildern ist eine Simulation von Musterkopien bei verschiedenen Temperaturen (oder Hamiltonians), um die potenziellen Barrieren zu überwinden.

Siehe auch

Weiterführende Literatur

  • A. Das und B. K. Chakrabarti (Hrsg.). das Quant-Ausglühen und die Zusammenhängenden Optimierungsmethoden, das Vortrag-Zeichen in der Physik, Vol. 679, Springer, Heidelberg (2005)

Links


Hollander Tunnel / Universität Münsters
Impressum & Datenschutz