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

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

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

12.4 Система муравьиных колоний

Дальнейшее развитие подход, разработанный в МС, получил в методе, который по современной классификации относится к "системе муравьиных колоний" (СМК) (ant colony system – ACS[7]). По сравнению с предыдущим данный метод отличается по четырем аспектам: 1) используется другое правило перехода ; 2) применяется другое правило изменения концентрации феромона; 3) вводится локальная коррекция феромона; 4) используются списки кандидатов, которые отдают предпочтение некоторым вершинам. Далее мы рассмотрим реализацию этих модификаций.

В данном методе используется правило перехода, которое можно назвать "псевдослучайно-пропорциональное", где k-й муравей, находясь в вершине i, выбирает очередную вершину j следующим образом:

j=\begin{cases}\arg\max_{u\in N_i^k(t)}\{\tau_{iu}(t)\eta_{iu}^{\beta}(t)\}},&\mbox{если $r\le r_0$}\\J,&\mbox{если $r>r_0$}\end{cases}, ( 12.17)

где r\sim U(0,1), и r_0\in [0,1] определяется пользователем и следующий узел j\in N_i^k(t) выбирается случайным образом с вероятностью

p_{ij}^k(t)=\frac{\tau_{ij}(t)\eta_{ij}^{\beta}(t)}{\sum_{u\in N_i^k}\tau_{iu}(t)\eta_{iu}^{\beta}(t)}, ( 12.18)

где N_i^k(t) множество доступных для посещения вершин. Это правило перехода отдает предпочтение коротким путям с большой концентрацией феромона. Параметр r_0 используется для регулирования баланса между эксплуатацией и расширением пространства поиска решений: при r\le r_0 алгоритм эксплуатирует пространство, выбирая лучший путь; в случае r> r_0 алгоритм расширяет пространство поиска. Отметим, что это правило совпадает с правилом перехода МС при r> r_0. Кроме этого, фактически в правиле коэффициент \alpha=1(не присутствует в (12.18)). В отличие от МС здесь концентрацию феромона разрешается изменять только лучшим (в глобальном смысле) муравьям, которые построили кратчайший путь x^+(t), в соответствии со следующим правилом

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

где

\Delta\tau_{ij}(t)=\begin{cases}\frac{1}{f(x^+(t))},&\mbox{если $(i,j)\in x^+(t)$}\\0,&\mbox{если $(i,j)\notin x^+(t)$}\end{cases} ( 12.20)

и f(x^+)(t)=|x^+(t)| в случае построения кратчайшего пути.

Использование в СМК "глобальных" правил способствует более направленному поиску, заставляя муравьев двигаться в сторону найденных лучших решений. Эта стратегия отдает предпочтение эксплуатации пространства поиска и применяется после того как решение построено.

В [7] реализовано два метода выбора пути x^+(t):

  1. лучшего на итерации, где x^+(t) представляет лучший путь, найденный за текущую итерацию, который обозначается \tilde x(t);
  2. глобально лучшего, где x^+(t) представляет лучший путь, найденный с первой по текущую итерацию, который обозначается \hat x(t).

Испарение феромона в СМК тоже происходит по сравнению с МС по другим правилам. Согласно (12.19) для малых значений \rho_1 текущая концентрация на дугах происходит медленно и влияние построенного лучшего пути ослабляется. С другой стороны, для больших значений \rho_1 отложенный феромон испаряется быстро и влияние построенного лучшего пути усиливается. Это способствует расширению пространству поиска. Иногда значение \rho_1 позволяют изменяться в процессе поиска решения: на начальной стадии используются большие значения, а на конечной – малые.

В дополнение к глобальному изменению в СМК применяется локальная коррекция концентрации феромона в соответствии со следующим правилом:

\tau_{ij}(t)=(1-\rho_2)\tau_{ij}(t)+\rho_2\tau_0, ( 12.21)

где \rho_2\in(0,1) и \tau_0- малая положительная константа. Эксперименты при решении задачи коммивояжера показали [7], что значение \tau_0=(n_GL)^{-1} дает хорошие результаты, где n_G- число узлов в графе и Lдлина тура, построенного с применением жадной эвристики.

Отметим, что в СМК также переопределяется N_i^k(t) - множество доступных для посещения вершин, которое содержит списки вершин-кандидатов для посещения. Пусть n_l<|N_i^k(t)| означает число узлов в списке кандидатов. Ближайшие (по расстоянию или стоимости) n_l узлов к узлу i включаются в список кандидатов согласно произведенному ранжированию. При выборе следующего узла выбирается лучший из списка кандидатов. Если список кандидатов пуст, то узел j выбирается из остатка N_i^k(t). В этом случае выбор может быть сделан на основе уравнения (12.18) или же взят ближайший узел j\in N_i^k(t). В целом алгоритм СМК представлен псевдокодом А12.4 [4].


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