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

Ant Colony System

Ant Colony System (ACS, система муравьиных колоний) — это разновидность роевого алгоритма оптимизации, основанного на моделировании поведения муравьёв при поиске пищи. Относится к классу метаэвристик, применяемых для решения комбинаторных задач, в частности задачи коммивояжёра (TSP) и задач маршрутизации. В отличие от базового алгоритма муравьиной колонии (Ant Colony Optimization, ACO), ACS вводит ряд модификаций, направленных на улучшение сходимости и предотвращение преждевременной остановки на локальных оптимумах.

История

Алгоритм Ant Colony System был предложен итальянскими исследователями Марко Дориго (Marco Dorigo) и Лукой Гамбарделлой (Luca Maria Gambardella) в 1997 году как развитие оригинального алгоритма Ant System (AS), разработанного Дориго в 1992 году. Основной целью создания ACS было устранение недостатков AS, таких как медленная сходимость и склонность к зацикливанию на субоптимальных решениях. Впервые ACS был описан в статье «Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem» (IEEE Transactions on Evolutionary Computation, 1997). Впоследствии алгоритм был адаптирован для решения других задач, включая задачи оптимизации сетей, планирования и распределения ресурсов.

Основные принципы

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

Отличия от базового Ant System

ACS вводит три ключевых модификации:

  1. Правило перехода с псевдослучайным выбором (pseudorandom proportional rule). Муравей с вероятностью q₀ (параметр алгоритма) выбирает ребро с максимальным произведением τ·η, а с вероятностью (1−q₀) — по вероятностному распределению, аналогичному AS. Это ускоряет сходимость, но требует баланса для предотвращения преждевременной стагнации.
  1. Локальное обновление феромона. После прохождения каждого ребра муравей уменьшает количество феромона на нём по формуле:

τ = (1−ρ)·τ + ρ·τ₀, где ρ — коэффициент испарения (обычно 0,1), а τ₀ — начальное значение феромона. Это снижает привлекательность уже пройденных рёбер, стимулируя исследование других вариантов.

  1. Глобальное обновление феромона. После завершения итерации (построения решений всеми муравьями) феромон обновляется только на рёбрах, входящих в лучшее найденное на данный момент решение (глобальный лучший маршрут). Обновление выполняется по формуле:

τ = (1−ρ)·τ + ρ·Δτ, где Δτ = 1/L_best, а L_best — длина лучшего маршрута. Это усиливает сходимость к наилучшему решению.

Алгоритм

Алгоритм ACS для задачи коммивояжёра можно описать следующим образом:

  1. Инициализация. Задать параметры: количество муравьёв m, коэффициент q₀, скорость испарения ρ, начальное значение феромона τ₀. Разместить муравьёв на случайных городах.
  2. Построение решений. Для каждого муравья:
  1. Оценка решений. Вычислить длину каждого маршрута.
  2. Глобальное обновление феромона. Применить обновление на рёбрах лучшего маршрута (глобального или итерационного).
  3. Проверка условия остановки. Если достигнуто максимальное число итераций или найдено приемлемое решение, завершить. Иначе перейти к шагу 2.

Параметры

Эффективность ACS зависит от настройки параметров:

Применение

ACS применяется для решения широкого круга задач:

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

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

Недостатки

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

ACS часто сравнивают с другими эвристиками, такими как генетические алгоритмы, имитация отжига и алгоритмы роя частиц. В задачах TSP ACS демонстрирует конкурентоспособные результаты, особенно на задачах среднего размера (до 1000 городов). Однако для крупных задач (более 2000 городов) более эффективными могут быть специализированные алгоритмы, например, Lin-Kernighan.

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

Источники

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

На главную BFOmetr →