Anfangstemperatur im simulierten Glühalgorithmus


14

Ich habe verschiedene Anfangstemperaturen in meinem Simulationsglühalgorithmus getestet und festgestellt, dass sich die Starttemperatur auf die Leistung des Algorithmus auswirkt.

Gibt es eine Möglichkeit, eine gute Anfangstemperatur zu berechnen?


2
Die Anfangstemperatur hat viel mit der Problemdomäne und anderen Parametern zu tun, die Sie für den Teil des Algorithmus zur Gradientenabnahme verwenden. Können Sie mehr Kontext geben?
Dhj

Antworten:


9

0.8tmin t δ t E max t - E min t π min t 1maxtmintδtEmaxtEminttπmint1|N(mint)|t

πich=|N(ich)|exp(-Eich/T)j|N(j)|exp(-Ej/T)
, wobei die Menge der Nachbarn von .iN(ich)ich

Schließlich ist die Wahrscheinlichkeit, einen positiven Übergang akzeptieren . Nun können wir eine Schätzung der Akzeptanzwahrscheinlichkeit basierend auf einer "zufälligen" Menge positiver Übergänge erhalten:t & khgr; & khgr; ( T ) Sexp(-δt/T)tχ^χ(T)S

χ^(T)=tSπMindestt1|N(Mindestt)|exp(-δt/T)tSπMindestt1|N(Mindestt)|=tSexp(-Emaxt/T)tSexp(-EMindestt/T).

Wir wollen eine Temperatur , bei der , wobei die von uns gewünschte Akzeptanzwahrscheinlichkeit ist.T0χ(T0)=χ0χ0]0,1[

T0 wird durch eine iterative Methode berechnet. Einige Zustände und ein Nachbar für jeden Zustand werden erzeugt. Dies gibt uns eine Menge von Transitionen . Die Energien und die den Zuständen der Teilmenge werden gespeichert. Dann wird ein Wert für gewählt, der ein beliebiger positiver Wert sein kann. wird dann mit der rekursiven Formel gefundenSEmaxtEMindesttST1T0

Tn+1=Tnln(χ^(Tn))ln(χ0)1/p
, wobei eine reelle Zahl ist .p1

Wenn sich , können wir aufhören. ist nun eine gute Annäherung an die gewünschte Anfangstemperatur . Weitere Erläuterungen, Beweise und Diskussionen finden Sie im ersten Abschnitt des Originalpapiers [1].χ^(Tn)χ0TnT0


[1] Ben-Ameur, Walid. "Berechnung der Anfangstemperatur des simulierten Glühens." Computeroptimierung und Anwendungen 29, nr. 3 (2004): 369 & ndash; 385.


3

Dies ist ein sehr fortgeschrittenes Thema im Zusammenhang mit sehr engen Optimalwerten. Nach meinem Verständnis wird die Anfangstemperatur im Allgemeinen als Teil einer "Temperaturplan" -Strategie betrachtet, für die es einige gründliche Untersuchungen gibt. Mit anderen Worten, sowohl die anfängliche Temperaturbedingung als auch der Temperaturabfall-Algorithmus (den Sie nicht erwähnen) beeinflussen die gesamten Optimierungsergebnisse. einfache Strategien oder Heuristiken für beide ergeben oft gute oder "gut genug" Ergebnisse.

Es gibt jedoch mindestens eine Veröffentlichung, in der nur die Anfangstemperatur untersucht wird. [1] Die Quintessenz ist, dass es sehr vernünftig und sinnvoll ist, die Anfangstemperatur als Parameter des Problems zu behandeln und im Rahmen der Gesamtoptimierung über verschiedene Anfangstemperaturen zu iterieren (nachdem festgestellt wurde, dass sie sich tatsächlich auf die Ergebnisse auswirkt), es sei denn, Sie arbeiten sehr fortgeschritten eine wahrscheinlich weit verbreitete Praxis.

oder es ist auch üblich, nur eine Anfangstemperatur zu wählen, die gute Ergebnisse liefert (es scheint etwas überraschend und selten zu sein, dass die Ergebnisse der Probleminstanzoptimierung erheblich von einem "besseren" Anfangstemperaturparameter abweichen, der durch Ausprobieren ermittelt wurde). . wie dhj hervorhob, sind einige probleme empfindlicher als andere für die anfangstemperatur.

[1] Berechnung der Anfangstemperatur beim simulierten Glühen von Ben-Ameur 2004

[2] Ein effizienter Zeitplan für das simulierte Glühen: Derivation Lam & Delosme

[3] Temperaturregelung zum simulierten Tempern von Munakata & Nakamura


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.