Przeprowadziłem pewne testy różnych temperatur początkowych w moim algorytmie symulującym wyżarzanie i zauważyłem, że temperatura początkowa ma wpływ na wydajność algorytmu.
Czy jest jakiś sposób obliczenia dobrej temperatury początkowej?
optimization
artificial-intelligence
heuristics
Nieokreślony
źródło
źródło
Odpowiedzi:
N(i)i
Wreszcie, to prawdopodobieństwo zaakceptowania przejścia dodatniego . Teraz możemy uzyskać oszacowanie prawdopodobieństwa akceptacji na podstawie „losowego” zestawu pozytywnych przejść:T Ď Ď ( T ) Sexp(−δt/T) t χ^ χ(T) S
Chcemy znaleźć temperaturę taką, że , gdzie to oczekiwane prawdopodobieństwo akceptacji. χ ( T 0 ) = χ 0 χ 0 ∈ ] 0 , 1 [T0 χ(T0)=χ0 χ0∈]0,1[
S E max t E min t S T 1 T 0T0 oblicza się metodą iteracyjną. Generowane są niektóre stany i sąsiad dla każdego stanu. To daje nam zestaw przejścia . Energie i odpowiadające stanom podzbioru są przechowywane. Następnie wybierana jest wartość dla , która może być dowolną wartością dodatnią. Następnie znajduje się w formule rekurencyjnejS Emaxt Emint S T1 T0
Kiedy zbliży się do , możemy przestać. jest teraz dobrym przybliżeniem pożądanej temperatury początkowej . Więcej wyjaśnień, dowodów i dyskusji znajduje się w pierwszej części oryginalnego artykułu [1].χ^(Tn) χ0 Tn T0
[1] Ben-Ameur, Walid. „Obliczanie początkowej temperatury symulowanego wyżarzania”. Optymalizacja obliczeniowa i aplikacje 29, no. 3 (2004): 369–385.
źródło
jest to bardzo zaawansowany temat związany z uzyskiwaniem bardzo ciasnych optymów. rozumiem, początkowa temperatura jest ogólnie uważana za część strategii „harmonogramu temperatur”, dla której istnieją pewne głębokie badania. innymi słowy zarówno początkowy warunek temperatury, jak i algorytm zaniku temperatury (o których nie wspominasz) wpływają na ogólne wyniki optymalizacji. proste strategie lub heurystyka dla obu często dają dobre lub „wystarczająco dobre” wyniki.
istnieje jednak co najmniej jeden artykuł, który bada samą początkową temperaturę. [1] Najważniejsze jest to, że jeśli nie wykonujesz bardzo zaawansowanej pracy, traktowanie temperatury początkowej jako parametru problemu i iteracja różnych temperatur początkowych jako część ogólnej optymalizacji [po stwierdzeniu, że rzeczywiście wpływa na wyniki] jest bardzo rozsądne i prawdopodobnie powszechna praktyka.
lub nawet samo wybranie temperatury początkowej, która daje dobre wyniki, jest również powszechne (wydaje się to nieco zaskakujące i nie często wyniki optymalizacji wystąpienia problemu różnią się znacznie od „lepszego” parametru temperatury początkowej stwierdzonego metodą prób i błędów) . jak wskazał dhj, niektóre problemy będą bardziej wrażliwe niż inne na temperaturę początkową.
[1] Obliczanie początkowej temperatury symulowanego wyżarzania Ben-Ameur 2004
[2] Wydajny harmonogram symulowanego wyżarzania: pochodzenie Lam i Delosme
[3] Kontrola temperatury dla symulowanego wyżarzania Munakata i Nakamura
źródło