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

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

  • Феромонный след (τ) — количество феромона на ребре, отражающее «привлекательность» маршрута на основе опыта предыдущих муравьёв.
  • Эвристическая информация (η) — локальная оценка выгодности ребра, например, обратная длина ребра в задаче TSP.

Отличия от базового 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 зависит от настройки параметров:

  • Количество муравьёв (m). Обычно равно числу узлов графа. Слишком малое число замедляет исследование, слишком большое — увеличивает вычислительную сложность.
  • Коэффициент q₀. Определяет баланс между эксплуатацией (выбор лучшего ребра) и исследованием. Типичные значения: 0,5–0,9.
  • Скорость испарения (ρ). Влияет на скорость забывания феромона. Обычно 0,1–0,3.
  • Начальное значение феромона (τ₀). Задаётся как 1/(n·L_nn), где n — число городов, L_nn — длина маршрута, построенного эвристикой ближайшего соседа.

Применение

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

  • Задача коммивояжёра (TSP) — классическая область применения, где ACS показывает высокую точность на эталонных наборах данных (например, TSPLIB).
  • Задачи маршрутизации транспорта (VRP) — оптимизация доставки с учётом ограничений по грузоподъёмности и временным окнам.
  • Задачи планированияраспределение заданий на машины, составление расписаний.
  • Оптимизация сетей — проектирование телекоммуникационных сетей, маршрутизация пакетов данных.
  • Биоинформатика — выравнивание последовательностей, предсказание структуры белков.

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

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

  • Высокая скорость сходимости по сравнению с Ant System.
  • Способность избегать локальных оптимумов благодаря локальному обновлению феромона.
  • Адаптивность к динамическим изменениям в задаче (например, добавление новых узлов).

Недостатки

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

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

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

  • ACS был одним из первых алгоритмов, успешно применивших идею «локального обновления феромона», которая позже была заимствована другими вариантами ACO.
  • В оригинальной статье 1997 года ACS показал улучшение точности на 10–20% по сравнению с Ant System на стандартных тестах TSP.
  • Алгоритм лёг в основу многих коммерческих систем оптимизации, например, в логистике и транспортном планировании.

Источники

  • Dorigo M., Gambardella L. M. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem // IEEE Transactions on Evolutionary Computation. — 1997. — Vol. 1, № 1. — P. 53–66.
  • Dorigo M., Stützle T. Ant Colony Optimization. — MIT Press, 2004. — 305 p.
  • Blum C. Ant colony optimization: Introduction and recent trends // Physics of Life Reviews. — 2005. — Vol. 2, № 4. — P. 353–373.
  • Engelbrecht A. P. Computational Intelligence: An Introduction. — 2nd ed. — Wiley, 2007. — 628 p.

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

На главную BFOmetr →