Составители:
Рубрика:
220
( ) exp – ,
F
PF
kT
∆
∆
æö
÷
ç
-
÷
ç
÷
ç
èø
где k – константа, выбираемая из эвристических соображений.
Затем P(∆F) сравнивается со случайным числом n ∈ [0,1].
Если P(∆F) > n, то x = x′, при других условиях x не изменяется.
9. Искусственная температура уменьшается, модельное время
увеличивается: t = t +∆t, происходит возврат к п. 4, и так до тех
пор, пока T не уменьшится до заданного порогового значения.
Таким образом, пока искусственная температура T большая, ал-
горитм отжига может делать большие шаги даже в направлениях,
увеличивающих значение минимизируемой функции. В результа-
те этой особенности оказывается возможным попасть в окрестность
глобального минимума. При этом, конечно, важно правильно опре-
делить начальное значение T
max
и задать закон изменения темпе-
ратуры. Например, эта величина должна быть обратно пропорцио-
нальна логарифму t:
1
max
() .
log( )
T
Tt
t
=
+
Данная формула означает, что искусственная температура долж-
на меняться медленно.
Пример 8.1. Использование алгоритма отжига металла для поис-
ка минимума функции одной переменной:
>> tm=100;
>> K=1;
>> x1=–10;
>> Tm=500;
>> F1=test(x1);
>> for i=1:200
z=rand(1);
if z > 0.5 z = 1; else z = –1; % направление шага – вперед
или назад
end;
dx(i) = z*rand(1)*(2*Tm/500); % максимальный шаг
равен 5
x2(i)=x1+dx(i); % приращение аргумента
функции
if x2(i) > 10 x2(i)=10; % проверка
elseif x2(i) < –10 x2(i)=–10; % границы зоны поиска
end;
Страницы
- « первая
- ‹ предыдущая
- …
- 218
- 219
- 220
- 221
- 222
- …
- следующая ›
- последняя »