Открыть сервис

Имитация отжига

Имитация отжига — это эвристический алгоритм глобальной оптимизации, основанный на аналогии с процессом физического отжига в металлургии. Он используется для нахождения приближённого решения сложных задач комбинаторной и непрерывной оптимизации, где точные методы (например, полный перебор) неэффективны из-за экспоненциального роста вычислительной сложности. Алгоритм относится к классу стохастических методов поиска и моделирует процесс нагрева и медленного охлаждения материала, при котором атомы стремятся занять положение с минимальной энергией.

История

Метод имитации отжига был независимо предложен несколькими исследователями в 1980-х годах. Первая формальная публикация, связывающая алгоритм с термодинамической аналогией, принадлежит Скотту Киркпатрику, Даниэлю Геллату и Марио Векки (1983 год) в статье «Optimization by Simulated Annealing» в журнале Science. Однако аналогичные идеи ранее высказывались в работах В. Черновского и Н. Метрополиса (1953 год), а также в исследованиях по статистической физике.

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

Физическая аналогия

В основе алгоритма лежит процесс термодинамического отжига. При нагреве твёрдого тела до высокой температуры его атомы приобретают энергию, достаточную для преодоления локальных энергетических барьеров, и переходят в состояния с высокой энергией. При медленном охлаждении система стремится к состоянию с минимальной энергией (глобальному минимуму), проходя через ряд метастабильных состояний. Если охлаждение происходит слишком быстро (закалка), атомы «застывают» в локальных минимумах, не достигая глобального.

Алгоритм имитирует этот процесс, заменяя энергию системы на значение целевой функции (стоимости), а температуру — на управляющий параметр, который постепенно уменьшается. На каждом шаге алгоритм с вероятностью, зависящей от текущей температуры, принимает или отвергает новое решение, даже если оно хуже текущего. Это позволяет выходить из локальных минимумов.

Алгоритм

Общая схема

  1. Инициализация: выбирается начальное решение \( x_0 \) и начальная температура \( T_0 \). Обычно \( T_0 \) выбирается достаточно высокой, чтобы вероятность принятия плохих решений была велика (например, 0.8–0.9).
  2. Цикл по температуре:
  1. Охлаждение: температура уменьшается по заданному закону (например, \( T_{k+1} = \alpha \cdot T_k \), где \( \alpha \) — коэффициент охлаждения, обычно 0.8–0.99).
  2. Критерий остановки: алгоритм завершается, когда температура становится ниже порогового значения \( T_{\min} \) или когда за несколько итераций не происходит улучшения.

Правило Метрополиса

Вероятность принятия худшего решения определяется распределением Больцмана: \[ P(\Delta E, T) = \begin{cases} 1, & \Delta E < 0 \\ \exp\left(-\frac{\Delta E}{T}\right), & \Delta E \ge 0 \end{cases} \] При высокой температуре \( T \) вероятность принятия плохих решений близка к 1, что позволяет алгоритму «исследовать» пространство поиска. При низкой температуре вероятность стремится к нулю, и алгоритм «эксплуатирует» лучшие решения.

Параметры алгоритма

Эффективность имитации отжига существенно зависит от выбора параметров:

Модификации

Существует несколько вариантов и улучшений базового алгоритма:

Применение

Имитация отжига применяется в широком спектре задач, где требуется найти приближённое решение в условиях большой размерности или нелинейности:

Преимущества и недостатки

Преимущества

Недостатки

Сравнение с другими методами

Имитация отжига часто сравнивается с другими метаэвристиками:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →