Презентация посвящена проблеме настройки параметров алгоритма имитации отжига. Рассмотрены вопросы определения максимальной температуры (динамический нагрев), влияния минимальной температуры и коэффициента охлаждения.
2. 14/03/2011 2 Метод отжига Кратко о главном… Введение Постановка задачи Динамический нагрев (Tmax) Определение Tmin О скорости охлаждения Заключение Нетреба Кирилл, СПбГПУ
3. 14/03/2011 3 Метод отжига Введение Как ясно из названия,… Алгоритм моделирует физический процесс нагрева и последующего контролируемого охлаждения субстанции. Минимизируемый функционал – энергия остывающего тела. При медленном отжиге тепловое равновесие достигается при каждом значении температуры T и энергия тела, соответствующая этой температуре, будет минимальной => плавно понижая температуру, можно достичь глобального минимума энергии. При быстром охлаждении образуются внутренние напряжения => энергия тела больше, чем при медленном охлаждении (соответствует сходимости к локальному минимуму) Нетреба Кирилл, СПбГПУ
4. 14/03/2011 4 Метод отжига Введение Ещё аналогия… Есть ящик с шариками разного размера. Трясти так, чтобы внизу оказались самые маленькие, наверху – самые большие. Сначала трясём сильно, потом слабо. В детстве миску с клюквой трясли?! Нетреба Кирилл, СПбГПУ
5. 14/03/2011 5 Нетреба Кирилл, СПбГПУ Метод отжига Постановка задачи Найти минимум функции -8≤p1,2≤8 pmax= (-5.63, 4.61) f (pmax) = -262.1026
6. 14/03/2011 6 Статический нагрев: если известно максимальное расстояние между соседними решениями, то легко рассчитать начальную температуру: Динамический нагрев: если задать статистику по коэффициенту допуска худших решений и нахождению новых лучших решений, можно повышать температуру до тех пор, пока не будет достигнуто нужное количество допусков. Процесс аналогичен нагреву субстанции до перехода её в жидкую форму, после чего уже нет смысла повышать температуру. Нетреба Кирилл, СПбГПУ Метод отжига Нагрев (Tmax) Tmax↑, (pi – p1i)↑,I(pi) – I(p1i)↑ Высокая температура позволяет покрыть весь диапазон «по горизонтали» (предлагаются решения, «далекие» от текущего), и «по вертикали» (новым решениям позволяется занимать точки с «плохим» функционалом – оседлые точки). А – локальный минимум B – оседлая точка С – глобальный минимум
7. 14/03/2011 7 Нетреба Кирилл, СПбГПУ Метод отжига Нагрев (Tmax) Динамический нагрев (задача на слайде 5) T_max = 10; начальная Tmax A = [-8 -8]; B = [8 8]; % диапазоны аргументов p = A + (B-A).*rand(1, N); % начальное решение F = FindFunct(p); % вычисление его функционала nT=0; ep0 = 0.9; % ep0-коэффициент допуска dT = 5; % повышение Tmax на dT, если решение не принято while nT<ep0*100 % набираем нужное количество «ухудшений» T_max = T_max + dT; nT=0; for i = 1:100 p = A + (B-A).*rand(1,2); % новое случайное решение G = FindFunct(p); % его функционал (формула-слайд 5) delt = abs(G - F); % в данном случае важен модуль ep = exp(-delt/T_max); if ep>ep0, nT = nT + 1;end F = G; % не привязываемся к первому случайному решению end end Результат: Tmax ≈ 2615 ξ = e-∆/T, ∆ = −ln(ξ)∙T = −ln(0.9)∙2615 ≈ 275 Ответ: вероятность того, что решение, ухудшающее функционал на 275 единиц будет принято, равна 90% (при T = 2615). из графика: Imax – Imin = 462 – (262) = 724 (соответствует ξ=1) 275/724 ∙100 ≈ 38%
8.
9. этим ξ и T соответствует ∆=−ln(0.9)∙2615=275 единиц функционала
10.
11. T=1, ∆=0.220.35Условие принятия: ξ>r, r = rand ∈ [0,1] T = 0.1 T = 1 T = 10 Tminопределяет точность решения. Чем меньше Tmin, тем точнее решение.
12. 14/03/2011 10 Нетреба Кирилл, СПбГПУ Метод отжига Определение Tmin Влияние Tminна точность решения Tmin=0.1, n=230 Tmin=0.01, n=286 Tmax=1200, k=0.96, Ti+1=Ti∙k
15. меньше вероятность принятия «плохого» решения.Tmin = 0.1, Tср = 113.64, k = 0.9120 Tmin = 0.01, Tср = 91.95, k = 0.8913 Но! Если текущее решение «задержалось» в зоне локального минимума, может от туда и не выбраться…
16. 14/03/2011 13 Нетреба Кирилл, СПбГПУ Метод отжига О скорости охлаждения Два запуска, два решения… Локальный минимум Глобальный минимум Быстрое охлаждение: алгоритм не видит глоб. минимум и уточняет локальный. Быстрое охлаждение: алгоритм больше работает над уточнением глоб. мин. Параметры:Tmax = 1000, Tmin = 1e-5, n = 51, k = 0.7 Статистика: зона глоб.мин– 86%, локального мин. – 14%
17. 14/03/2011 14 Нетреба Кирилл, СПбГПУ Спасибо за внимание! Литература: Лопатин А.С. Метод отжига в задачах оптимизации. Дипломная работа. СПб., 2004