Початкова температура в алгоритмі імітованого відпалу


14

Я провів кілька тестувань різних початкових температур у своєму алгоритмі імітаційного відпалу і помітив, що стартова температура впливає на продуктивність алгоритму.

Чи є спосіб розрахунку хорошої початкової температури?


2
Початкова температура має багато спільного з проблемною областю та іншими параметрами, які ви використовуєте для алгоритму спуску градієнта. Чи можете ви дати більше контексту?
dhj

Відповіді:


9

Як зазначив у коментарях Томас Клімпель, часто використовується певна ймовірність прийняття, яка дорівнює . Далі наведено простий ітеративний метод пошуку відповідної початкової температури, запропонований Бен-Амером у 2004 році [1]. Далі t - строго позитивний перехід, max t і min t δ t E max t - E min t0.8tmaxtmintδtEmaxtEmintтπmint1|N(mint)|t

N(i)i

πi=|N(i)|exp(Ei/T)j|N(j)|exp(Ej/T)
, де позначає набір сусідів .N(i)i

Нарешті, - це ймовірність прийняття позитивного переходу . Тепер ми можемо мати оцінку ймовірності прийняття на основі "випадкового" безлічі позитивних переходів:т х х ( Т ) Sexp(δt/T)tχ^χ(Т)S

χ^(Т)=тSπхвт1|N(хвт)|досвід(-δт/Т)тSπхвт1|N(хвт)|=тSдосвід(-Емакст/Т)тSдосвід(-Ехвт/Т).

Ми хочемо знайти температуру такою, що , де це ймовірність прийняття. χ ( T 0 ) = χ 0 χ 0] 0 , 1 [Т0χ(Т0)=χ0χ0]0,1[

S E max t E min t S T 1 T 0Т0 обчислюється ітераційним методом. Деякі штати і сусід для кожної держави генерується. Це дає нам безліч переходів . Енергії і відповідають станам підмножини , зберігаються. Тоді вибирається значення для , яке може бути будь-яким позитивним значенням. Тоді знаходить за допомогою рекурсивної формулиSЕмакстЕхвтSТ1Т0

Тн+1=Тнln(χ^(Тн))ln(χ0)1/p
, де - дійсне число .p1

Коли наблизиться до ми можемо зупинитися. тепер є хорошим наближенням бажаної початкової температури . Щоб отримати більше пояснень, доказів та дискусій, див. Перший розділ оригіналу статті [1].χ^(Тн)χ0ТнТ0


[1] Бен-Амюр, Валід. "Обчислення початкової температури імітованого відпалу." Обчислювальна оптимізація та програми 29, вип. 3 (2004): 369-385.


3

це дуже просунута тема, пов’язана з отриманням дуже жорстких оптимумів. наскільки я розумію, початкова температура зазвичай вважається частиною стратегії "температурного розкладу", щодо якої є глибоке дослідження. Іншими словами, і початковий температурний стан, і алгоритм зниження температури (який ви не згадуєте) впливають на загальні результати оптимізації. прості стратегії або евристики для обох часто дають хороші або "досить хороші" результати.

Однак є принаймні один документ, який вивчає початкову температуру самостійно. [1] Суть полягає в тому, що, якщо ви не займаєтесь дуже розвиненою роботою, трактувати початкову температуру як параметр проблеми та повторити різні початкові температури як частину загальної оптимізації [після того, як це дійсно впливає на результати], це дуже розумно і ймовірно поширена практика.

або навіть вибір початкової температури, що дає хороші результати, також є загальним (це може здатися дещо дивним; не часто, коли результати оптимізації проблемних екземплярів істотно відрізняються від "кращого" початкового температурного параметра, знайденого методом проб і помилок) . як вказував dhj, деякі проблеми будуть більш чутливі, ніж інші, до початкової температури.

[1] Обчислення початкової температури імітованого відпалу Бен-Амюр 2004

[2] Ефективний графік моделювання відпалу: відведення Lam & Delosme

[3] Контроль температури для імітованого відпалу Munakata & Nakamura


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.