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

Алгоритм муравьиной колонии

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

История

Идея алгоритма муравьиной колонии была впервые предложена итальянским учёным Марко Дориго в 1992 году в его докторской диссертации. Дориго вдохновлялся наблюдениями за поведением муравьёв в природе, в частности за их способностью находить кратчайший путь от гнезда к источнику пищи, несмотря на отсутствие централизованного управления. Первоначально алгоритм был разработан для решения задачи коммивояжёра, но впоследствии был адаптирован для широкого круга задач.

В 1996 году Дориго совместно с Витторио Маниеццо и Альберто Колорни опубликовал первую версию алгоритма под названием «Ant System» (AS). Позднее были разработаны многочисленные модификации, такие как «Ant Colony System» (ACS) и «Max-Min Ant System» (MMAS), которые улучшили сходимость и качество решений. К началу 2000-х годов ACO стал одним из наиболее популярных методов роевого интеллекта, используемых в академических исследованиях и промышленных приложениях.

Принцип работы

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

Основные компоненты

В алгоритме ACO используются следующие ключевые элементы:

\[ p_{ij} = \frac{(\tau_{ij})^\alpha \cdot (\eta_{ij})^\beta}{\sum_{k \in N_i} (\tau_{ik})^\alpha \cdot (\eta_{ik})^\beta} \] где \(\tau_{ij}\) — уровень феромона на ребре \((i, j)\), \(\eta_{ij}\) — эвристическая ценность ребра, \(\alpha\) и \(\beta\) — параметры, управляющие влиянием феромона и эвристики, а \(N_i\) — множество доступных для посещения узлов.

Этапы алгоритма

  1. Инициализация: задаются начальные значения феромона, параметры \(\alpha\), \(\beta\), \(\rho\) и количество муравьёв \(m\).
  2. Построение решений: каждый муравей последовательно выбирает следующий узел, используя вероятностное правило перехода, пока не будет построено полное решение (например, маршрут, проходящий через все города).
  3. Оценка решений: вычисляется значение целевой функции (например, длина маршрута) для каждого муравья.
  4. Обновление феромона: производится испарение феромона на всех рёбрах, затем муравьи добавляют феромон на рёбра своих маршрутов. Количество добавляемого феромона обратно пропорционально длине маршрута.
  5. Проверка условия остановки: если достигнуто максимальное число итераций или найдено решение заданного качества, алгоритм завершается. Иначе возврат к шагу 2.

Классификация и модификации

Существует несколько основных вариантов алгоритма муравьиной колонии, различающихся правилами обновления феромона и стратегиями поиска:

Применение

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

Пример: решение задачи коммивояжёра

В задаче коммивояжёра алгоритм ACO работает следующим образом. Пусть имеется \(n\) городов, соединённых рёбрами с известными расстояниями. Каждый муравей начинает свой путь из случайного города и последовательно выбирает следующий непосещённый город на основе вероятностного правила, учитывающего уровень феромона и расстояние. После завершения маршрута муравей возвращается в начальный город, и длина полученного цикла оценивается. На этапе обновления феромона более короткие маршруты получают большее количество феромона, что увеличивает вероятность их выбора в следующих итерациях. Со временем популяция муравьёв сходится к оптимальному или близкому к оптимальному маршруту.

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

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

Недостатки

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

Источники

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

На главную BFOmetr →