2. 30/01/15 2
План доклада
1. Введение
2. Алгоритм отжига
3. Пример
4. Настройка алгоритма
5. Заключение
Нетреба Кирилл, СПбГПУ
Метод отжига
3. 30/01/15 3
Формальное определение
Метод отжига - это техника оптимизации,
использующая упорядоченный случайный
поиск на основе аналогии с процессом
образования веществом кристаллической
структуры с минимальной энергией при
охлаждении.
Нетреба Кирилл, СПбГПУ
Метод отжигаВведение
4. 30/01/15 4
Естественная мотивация
Свойства структуры зависят от коэффициента охлаждения после того, как
субстанция была нагрета до точки плавления. Охлаждение медленное –
формируются крупные кристаллы (полезно для строения субстанции).
Охлаждение скачкообразное – образуется слабая структура.
«Взбалтывание» при высокой температуре сопровождается высокой
молекулярной активностью в физической системе.
Возмущение
Возмущение
Нетреба Кирилл, СПбГПУ
Метод отжигаВведение
5. 30/01/15 5
Алгоритм отжига
Начальное решение
Для большинства задач
начальное решение будет
случайным.
Оценка решения
Оценка решения состоит из
декодировки текущего
решения и выполнения
нужного действия,
позволяющего понять его
целесообразность для
решения данной проблемы.
Случайный поиск решения
Поиск решения начинается с
копирования текущего
решения в рабочее решение,
которое далее произвольно
модифицируется.
Создать
начальное решение
Оценить
решение
Изменить решение
случайным образом
Оценить
новое решение
Критерий
допуска
Уменьшение
температуры
Текущее решение
Рабочее решение
Лучшее решение
Нетреба Кирилл, СПбГПУ
Метод отжига
6. 30/01/15 6
Критерий допуска
На этом этапе алгоритма у нас имеется два
решения. Первое - текущее решение, второе -
рабочее решение. С каждым решением связана
определенная энергия (E), представляющая
собой его эффективность.
Рабочее решение принимается за текущее если:
В начале поиска температура имеет наибольшее
значение и величина ξ близка к единице.
Поэтому велика вероятность выбора решения,
увеличивающего значение энергии. Принятие
таких решений соответствует движению к
седловой точке B, а не к минимуму A. По мере
приближения к глобальному минимуму
температура уменьшается и вероятность
увеличения энергии падает.
Создать
начальное решение
Оценить
решение
Изменить решение
случайным образом
Оценить
новое решение
Критерий
допуска
Уменьшение
температуры
Текущее решение
Рабочее решение
Лучшее решение
ð ò
/T
E E E 0
0 & r, e ,r [0,1]−∆
∆ = − ≤
∆ > ξ > ξ = ∈
Нетреба Кирилл, СПбГПУ
Метод отжигаАлгоритм отжига
7. 30/01/15 7
Снижение температуры
После ряда итераций по алгоритму
при данной температуре мы
ненамного снижаем ее. Существует
множество вариантов снижения
температуры. Обычно используется
простая функция T=αT, 0<α<1 .
Возможны и другие стратегии
снижения температуры, включая
линейные и нелинейные функции.
Повтор.
При одной температуре выполняется
несколько итераций. После завершения
итераций температура будет понижена.
Процесс продолжится, пока температура
не достигнет нуля.
Создать
начальное решение
Оценить
решение
Изменить решение
случайным образом
Оценить
новое решение
Критерий
допуска
Уменьшение
температуры
Текущее решение
Рабочее решение
Лучшее решение
Нетреба Кирилл, СПбГПУ
Метод отжигаАлгоритм отжига
8. 30/01/15 8
Задача N шахматных ферзей - это задача размещения N ферзей на
шахматной доске размером NxN таким образом, чтобы ни один ферзь
не угрожал другому:
Нетреба Кирилл, СПбГПУ
Одно из 92 решений задачи 8 ферзей
Метод отжигаПример
9. 30/01/15 9
Энергия
Энергия решения определяется как количество конфликтов, которые возникают в
кодировке. Задача заключается в том, чтобы найти кодировку, при которой энергия
равна нулю (то есть на доске нет конфликтов).
Температура
Для данной проблемы поиск решения начинался с температуры 100° и постепенно
снижался ее до нуля, используя формулу T=αT. При этом значение α = 0,98. Как видно
из графика температура показывает сначала быстрое снижение, а потом медленное
схождение к конечной температуре - нулю.
При каждом изменении температуры мы выполним 100 итераций. Это
позволит алгоритму осуществить несколько операций поиска на
каждом уровне.
Нетреба Кирилл, СПбГПУ
Пример выполнения
алгоритма отжига для
задачи с 40 ферзями
100
80
60
40
20
0
0 50 100 150 200 250 300
Принято
Энергия
Температура
Метод отжигаПример
11. 30/01/15 11
Температура Начальная температура должна быть достаточно высокой, чтобы
сделать возможным выбор из других областей диапазона решений.
Если известно максимальное расстояние между соседними
решениями, то легко рассчитать начальную температуру.
Начальную температуру также можно изменять динамически. Если
задать статистику по коэффициенту допуска худших решений и
нахождению новых лучших решений, можно повышать температуру
до тех пор, пока не будет достигнуто нужное количество допусков
(открытий новых решений). Этот процесс аналогичен нагреву
субстанции до перехода ее в жидкую форму, после чего уже нет
смысла повышать температуру.
Конечная температура. Хотя ноль является удобной конечной
температурой, геометрическая функция, которая используется в
примере, показывает, что алгоритм будет работать намного
дольше, чем это действительно необходимо. Поэтому конечная
температура обычно принимается чуть больше нуля (например, 0.5)
Нетреба Кирилл, СПбГПУ
/T
e r (r [0,1], 0)−∆
ξ = > ∈ ∆ >
Метод отжигаНастройка алгоритма
12. 30/01/15 12
Преимущества отжига
отсутствие ограничений на вид минимизируемой функции;
поиск глобального минимума;
эффективность при решении задач различных классов,
требующих оптимизации.
Недостатки отжига
требование бесконечно медленного охлаждения, на
практике означающее медленную работу алгоритма;
сложность настройки
Нетреба Кирилл, СПбГПУ
Метод отжигаЗаключение
13. 30/01/15 13
Области применения
создание пути;
реконструкция изображения;
назначение задач и планирование;
размещение сети;
глобальная маршрутизация;
обнаружение и распознавание визуальных объектов;
разработка специальных цифровых фильтров.
Нетреба Кирилл, СПбГПУ
Метод отжигаЗаключение