Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 865 / 190 | Длительность: 22:10:00
Лекция 12:

Муравьиные алгоритмы

< Лекция 11 || Лекция 12: 123456789101112

12.12 Решение задач в динамической среде

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

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

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

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

В [15] предложено восстанавливать решение при изменении среды. Это можно сделать с помощью локальных процедур поиска для всех решений. Компоненты, подвергшиеся изменению, устраняются из решения (дуга графа удаляется из пути, а вершина-предшественник соединяется с вершиной- последователем). Вместо удаленных компонент вносятся другие дуги,неиспользованные в решении, обычно выбираемые на основе жадных алгоритмов.

При альтернативном подходе при обнаружении окружения следует изменить правила коррекции феромона так, чтобы они способствовали расширению пространства поиска. Например, в [16] в таких ситуациях изменяются как локальные, так и глобальные правила. Локальное правило коррекции изменяется следующим образом:

\tau_{ij}(t+1)=(1-\rho_1(\tau_{ij}(t))\tau_{ij}(t)+\Delta\tau_{ij}(t), ( 12.39)

где \rho_1(\tau_{ij})- монотонно возрастающая функция \tau_{ij}, например,

\rho_1(\tau_{ij})=\frac{1}{1+e^{-\tau_{ij}+\theta}} ( 12.40)

с \theta>0

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

Глобальная коррекция выполняется аналогично, только относительно глобально лучшего и глобально худшего решений

\tau_{ij}(t+1)=(1-\rho_2(\tau_{ij}(t)))\tau_{ij}(t)+\gamma_{ij}\Delta\tau_{ij}(t), ( 12.41)

где

\gamma_{ij}=\begin{cases}+1,&\mbox{если $(i,j)$-глобально лучшее решение,}\\-1,&\mbox{если $(i,j)$-глобально худнее решение,}\\0,&\mbox{иначе}\end{cases}. ( 12.42)

В работе [3] предложено три основных правила коррекции феромона при изменении среды, целью которых является поиск оптимального баланса между изменением ("сбросом") достаточно большого фрагмента информации для расширения пространства поиска и сохранения достаточной информации о полученных результатах для ускорения процесса поиска. Для каждой из этих стратегий по-разному вычисляется коэффициент "сброса" \gamma\in[0,1] и используется следующее правило реинициализации феромона

\tau_{ij}(t+1)=(1-\gamma_i)\tau_{ij}+\gamma_i\frac{1}{n_G-1}, ( 12.43)

где n_G- число узлов в графе. При вычислении коэффициента сброса \gamma_i, как было сказано выше, предложены три различные стратегии:

  1. стратегия рестарта, для которой

    \gamma_i=\lambda_K

    где \lambda_K\in[0,1]- параметр этой стратегии. Отметим, что данная стратегия не учитывает информацию о месте изменения среды.

  2. \eta-стратегия, при которой используется эвристическая информация (d_{ij})

    \gamma_i=\max\{0,d_{ij}^n\}, ( 12.44)

    где

    d_{ij}^n=1-\frac{\overline n}{\lambda_{\eta}\eta_{ij}},\lambda_{\eta}\in[0,\infty) ( 12.45)

    и

    \overline{\eta}=\frac{1}{n_G(n_G-1)}\sum_{i=1}^{n_G}\sum_{j=1,j\ne i,\eta_{ij}}. ( 12.46)

    Здесь \gamma_i пропорционально расстоянию от изменившегося компонента и выравнивание концентрации феромона выполняется для дуг, которые инцидентны изменившийся компоненте.

  3. \tau-стратегия, где выравнивание концентрации для ближних (к изменению среды) компонент больше, чем для дальних:

    \gamma_i=\min\{1,\lambda_{\tau}d_{ij}^{\tau}\},\lambda_{\eta}\in[0,\infty), ( 12.47)

    где

    d_{ij}^{\tau}=\max_{n_{ij}}\{\prod_{(x,y)\in N_{ij}}\frac{\tau_{xy}}{\tau{\max}}\} ( 12.48)

    и N_{ij}- множество всех путей от i до j.

< Лекция 11 || Лекция 12: 123456789101112