+ All Categories
Home > Technology > Метод имитации отжига. Алгоритм отжига. Задачи...

Метод имитации отжига. Алгоритм отжига. Задачи...

Date post: 22-May-2015
Category:
Upload: kirill-netreba
View: 1,902 times
Download: 7 times
Share this document with a friend
Description:
Презентация посвящена проблеме настройки параметров алгоритма имитации отжига. Рассмотрены вопросы определения максимальной температуры (динамический нагрев), влияния минимальной температуры и коэффициента охлаждения.
Popular Tags:
14
Метод имитации отжига Настраиваем параметры Нетреба Кирилл Кафедра «Теоретические основы электротехники», ГОУ СПбГПУ
Transcript
Page 1: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

Метод имитации отжигаНастраиваем параметры

Нетреба КириллКафедра «Теоретические основы электротехники», ГОУ СПбГПУ

Page 2: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 2

Кратко о главном…1. Введение

2. Постановка задачи

3. Динамический нагрев (Tmax)

4. Определение Tmin

5. О скорости охлаждения

6. Заключение

Нетреба Кирилл, СПбГПУ

Метод отжига

Page 3: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 3

Как ясно из названия,…Алгоритм моделирует физический процесс нагрева и последующего контролируемого охлаждения субстанции.

Минимизируемый функционал – энергия остывающего тела. При медленном отжиге тепловое равновесие достигается при каждом значении температуры T и энергия тела, соответствующая этой температуре, будет минимальной => плавно понижая температуру, можно достичь глобального минимума энергии.

При быстром охлаждении образуются внутренние напряжения => энергия тела больше, чем при медленном охлаждении (соответствует сходимости к локальному минимуму)

Нетреба Кирилл, СПбГПУ

Метод отжигаВведение

Page 4: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 4

Ещё аналогия…Есть ящик с шариками

разного размера.

Трясти так, чтобы внизу оказались самые маленькие,

наверху – самые большие.

Сначала трясём сильно, потом слабо.

В детстве миску с клюквой трясли?!

Нетреба Кирилл, СПбГПУ

Метод отжига

Введение

Page 5: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 5

Найти минимум функции

Нетреба Кирилл, СПбГПУ

Метод отжигаПостановка задачи

2 2 2 2 21 2 1 2 1 2 1

p pI(p ,p ) p p 5p p 10 cos p cos 1

6 3

-8 ≤ p1,2 ≤ 8

pmax = (-5.63, 4.61)

f (pmax) = -262.1026

Page 6: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 6

Статический нагрев: если известно максимальное расстояние между соседними решениями, то легко рассчитать начальную температуру:

Динамический нагрев: если задать статистику по коэффициенту допуска худших решений и нахождению новых лучших решений, можно повышать температуру до тех пор, пока не будет достигнуто нужное количество допусков. Процесс аналогичен нагреву субстанции до перехода её в жидкую форму, после чего уже нет смысла повышать температуру.

Нетреба Кирилл, СПбГПУ

Метод отжигаНагрев (Tmax)

/Te r (r [0,1], 0, I( 1) I( )) p p

Tmax↑, (pi – p1i)↑, I(pi) – I(p1i)↑Высокая температура позволяет покрыть весь диапазон «по горизонтали» (предлагаются решения, «далекие» от текущего), и «по вертикали» (новым решениям позволяется занимать точки с «плохим» функционалом – оседлые точки).

А – локальный минимумB – оседлая точкаС – глобальный минимум

Page 7: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 7Нетреба Кирилл, СПбГПУ

Метод отжигаНагрев (Tmax)

T_max = 10; начальная TmaxA = [-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; % не привязываемся к первому случайному решению endend

Динамический нагрев (задача на слайде 5)

Результат: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%

Page 8: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 8Нетреба Кирилл, СПбГПУ

Метод отжигаНагрев (Tmax)

Динамический нагрев для различных ξ

Условие принятия нового решения:∆≤0 или (∆>0 & ξ>r)ξ = e-∆/T, r = rand ∈ [0,1]

∆↓ ξ↑ или ∆→0 ξ→1 (T=const)T↑ ξ↑ или T→∞ ξ→1 (∆=const)

Imax – Imin = 724

Решение «плохое», если ∆>00.4 0.5 0.6 0.7 0.8 0.9 1

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

4

Tmax

0.4 0.5 0.6 0.7 0.8 0.9 10

100

200

300

400

500

600

700

2615

y=Tmax(ξ)

∆=−ln(ξ)∙Tmax(ξ)

∆1=724∙ξ

•«плохие» решения принимаются с вероятностью ξ=0.9 при T=2615

•этим ξ и T соответствует ∆=−ln(0.9)∙2615=275 единиц функционала

•не забываем, что ξ – это не ∆i/ ∆ ∙ 100%! (∆ ≠ ∆1)

275

Page 9: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 9Нетреба Кирилл, СПбГПУ

Метод отжигаОпределение Tmin

Влияние Tmin на точность решения

Tmin определяет точность решения. Чем меньше Tmin, тем точнее решение.

Т.о.: Tmin↑ и ∆↑.

Для ξ=0.70.8 имеем:•T=10, ∆=2.23.5•T=1, ∆=0.220.35

Условие принятия: ξ>r, r = rand ∈ [0,1]

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1y = ()

0 0.5 1 1.5 2 2.5 3 3.5 40 5 10 15 20 25 30 35 40

T = 0.1T = 1T = 10

Page 10: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 10Нетреба Кирилл, СПбГПУ

Метод отжигаОпределение Tmin

Влияние Tmin на точность решения

-8 -6 -4 -2 0 2 4 6 8-8

-6

-4

-2

0

2

4

6

8

p1

p2

I(p1,p2),

-8 -6 -4 -2 0 2 4 6 8-8

-6

-4

-2

0

2

4

6

8

p1

p2

I(p1,p2),

Tmax=1200, k=0.96, Ti+1=Ti∙kmin maxln(T / T )

n = fixln(k)

Tmin=0.1, n=230 Tmin=0.01, n=286

Page 11: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

250

255

260

250

255

260

12/04/2023 11Нетреба Кирилл, СПбГПУ

Метод отжигаОпределение Tmin

Tmax=1000, k=0.94min max

min

ln(T / T )n = fix

ln(k)

ln(T /1000)n = fix

ln(0.94)

Tmin= 0.001 0.01 0.1 1n = 223 186 148 111

Tmin= 0.001 0.01 0.1 0.001k = 0.912 0. 925 0. 940 0.955

Tmax=1000, n=150

1 1n 150

min min

max

T Tk =

T 1000

250.44

255.60

261.14262.06

252.38

256.12

261.06261.95

−I

−I

IGlobalMin= -262.1026

Page 12: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 12Нетреба Кирилл, СПбГПУ

Метод отжигаО скорости охлажденияКритерий применимости любого метода – приемлемое количество обращений к функции вычисления функционала (количество итераций, n) для нахождения глобального минимума => делаем так:Tmax – из динамического нагрева, Tmin и n – задаём сами, k = (Tmin/Tmax)1/n

0 10 20 30 40 50 60 70 80 90 1000

200

400

600

800

1000

итерация

T

Tmax

=1000, n=100

Tmin = 1, Tср = 149.67, k = 0.9333

Tmin = 0.1, Tср = 113.64, k = 0.9120

Tmin = 0.01, Tср = 91.95, k = 0.8913

cp

1

nmin

max

TT

n

Tk =

T

Но! Если текущее решение «задержалось» в зоне локального минимума, может от туда и не выбраться…

Пусть Tmin1<Tmin2, тогда каждая итерация для Tmin1 происходит при меньшей текущей T (Ti1<Ti2) =>• новое решение генерируется

близко к текущему• меньше вероятность принятия

«плохого» решения.

средняя температура

коэффициент охлаждения

Page 13: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 13Нетреба Кирилл, СПбГПУ

Метод отжигаО скорости охлаждения

Параметры: Tmax = 1000, Tmin = 1e-5, n = 51, k = 0.7Статистика: зона глоб.мин – 86%, локального мин. – 14%

-8 -6 -4 -2 0 2 4 6 8-8

-6

-4

-2

0

2

4

6

8

p1

p2

I(p1,p2),

-8 -6 -4 -2 0 2 4 6 8-8

-6

-4

-2

0

2

4

6

8

p1

p2

I(p1,p2),

Два запуска, два решения…Глобальный минимум Локальный минимум

Быстрое охлаждение: алгоритм не видит глоб. минимум и уточняет локальный.

Быстрое охлаждение: алгоритм больше работает над уточнением глоб. мин.

Page 14: Метод имитации отжига. Алгоритм отжига. Задачи оптимизации.

12/04/2023 14Нетреба Кирилл,

СПбГПУ

Спасибо за внимание!

Литература:Лопатин А.С. Метод отжига в задачах оптимизации. Дипломная работа. СПб., 2004


Recommended