Simulated Annealing Algorithmus (SA) Die Grundidee des Algorithmus Flow

Simulated Annealing Algorithmus (SA) der Grundidee

Problembeschreibung

SA ist eine Zufall heuristischer Optimierungsalgorithmus, Simulated Annealing physikalischen Prozess von A eine Anfangstemperatur von Metropolis Abtaststrategie mit Zufallssuche jumping Eigenschaft im Lösungsraum, zusammen mit sinkender stabiler Neuabtastungsprozeß beginnt gegebene .
Hier hat Bild einfügen Beschreibung

Die grundlegenden Schritte:
给定初温t=t_0,随机产生初始状态s=s_0,令k=0;
Repeat
	Repeat
		产生新的状态S_j=Gnente(s);
		if min{1,exp[-(C(s_j)-C(s))/t_k]}>=random[0,1]
			s=s_j;
	Until 抽样稳定准则满足
	退温t_{k+1}=update(t_k)并令k=k+1;
Until 算法终止准则满足
输出算法搜索结果

Wie man sehen kann, dass die wichtigsten Faktoren SA optimale Ergebnisse beeinflussen: zwei drei Prinzipien funktionieren und die Anfangstemperatur

Grundlegende Anforderungen und Elemente des SA-Algorithmus

Grundlegende Anforderungen:

  • 1, die Anfangstemperatur ist ausreichend hoch,
  • 2, der Kühlprozess ist langsam genug
  • 3, Endtemperatur ausreichend niedrige
    Algorithm Merkmale:
  • 1, die Ausprägungs
  • 2, der mobile Raum definiert
  • 3 zu erreichen, die thermische Gleichgewicht
  • 4, Kühlfunktion: üblicherweise verwendete Kühlfunktionen sind:
    ein : T k + 1 = T k * r . seine in r ( 0,95 . 0,99 ) a: T_ {k + 1} = T_k * r, wobei r \ in (0.95,0.99)
    b : T k + 1 = T k - Δ T Δ T b: T_ {k + 1} = T_k- \ Delta T, \ Delta T ist die Länge eines jeden Schrittes Abnahme
SA Berechnungsschritte
  • 1, die Initialisierung, die Anfangslösung, gegebenenfalls, i, T_0 gegebene Anfangstemperatur, die Temperatur T_f beendet, so dass der Iterationsindex k = 0, = T_k T_0.
  • Zur Anmerkung: Bei der Auswahl T_0, hoch genug zu machen, E i / T k 0 E_i / T_k \ rightarrow 0
  • 2, eine zufällig erzeugte Lösungen Nachbarschaft berechnet ein Sollwert-Inkrement j N ( i ) , ( N ( i ) i ) j \ N in (i), (N (i) die Nachbarschaft i)
    Δ f = f ( j ) = f ( i ) \ Delta f = f (j) = f (i)
  • 3, wenn Δ f < 0 \ Delta f <0 , so dass i = j gehenzu Schritt 4 (j besser als ich, geht unbedingte Verzweigung), sonst ein ξ U ( 0 , 1 ) \ Xi \ in U (0,1) Wenn die e x p ( Δ f / T k ) > ξ exp (- \ Delta f / T_k)> \ xi dann lassen i = j (j besser als i, bedingter Transfer)
  • Hinweis: Bei hohen T_k, Wide-Area suchen, niedrige T_k, die lokale Suche
  • 4, wenn das thermische Gleichgewicht erreicht ist (die Anzahl der Zyklen größer ist als n (T_k)) gehen zu Schritt 5, sonst mit Schritt 2 zu
  • 5, k = k + 1 T_k reduziert, wenn T_k <T_f Anschlag, sonst gehen zu Schritt 2
  • Hinweis: Die Reduzierung T_k die folgenden zwei Verfahren
    a : T k + 1 = T k r , r ( 0.95 , 0.99 ) a: T_ {k + 1} = T_k * r, wobei r \ in (0.95,0.99)
    b : T k + 1 = T k Δ T Δ T b: T_ {k + 1} = T_k- \ Delta T, \ Delta T ist die Länge eines jeden Schrittes Abnahme
SA-Algorithmus Flussdiagramm

Hier hat Bild einfügen Beschreibung

Veröffentlicht 37 Originalarbeiten · erntete Lob 17 · Ansichten 2592

Ich denke du magst

Origin blog.csdn.net/qq_44384577/article/details/105261534
Empfohlen
Rangfolge