Исследование алгоритма муравьиной колонии для решения задач оптимального размещения предприятий

Вестник науки и образования Северо-Запада России http://vestnik-nauki.ru/ -----

2015, Т 1, №3

УДК 519.8

ИССЛЕДОВАНИЕ АЛГОРИТМА МУРАВЬИНОИ КОЛОНИИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ОПТИМАЛЬНОГО РАЗМЕЩЕНИЯ ПРЕДПРИЯТИЙ

Н.В. Бедакова

STUDY ANT SYSTEM FOR SOLVING OPTIMAL FACILITY LOCATION

N.V. Bedakova

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

Ключевые слова: алгоритм муравьиной колонии; оптимизация; размещение предприятий; комбинаторные задачи.

Abstract. The article describes the nature and the idea of an ant colony. Presented experiment performed by scientists who have proposed ant colony algorithm as a method of solving difficult combinatorial optimization problems. Described the general scheme of the algorithm ant colony for solving difficult combinatorial optimization problems. Ant colony algorithm is proposed in relation to the problems of optimal business location.

Key words: Ant System; optimization; facility location; combinatorial problems.

Введение

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

Целью транспортной системы любого предприятия является обеспечение доставки товаров клиентам (потребителям) с минимальными затратами в минимальные сроки. Для этого необходимо решить задачу транспортно-складской системы, которая заключается в определении: оптимального количества предприятий; мест их расположения; характеристик каждого предприятия; оптимальной системы перевозок товаров. В большинстве случаев такие задачи являются сложными и требуют применения моделей исследования операций и оптимизации.

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

Целью данной статьи является исследование алгоритма муравьиной колонии для решения задачи структурно-топологической оптимизации размещения предприятий. Исследование выполнено в рамках научно-исследовательского проекта РГНФ («Управление эффек-

http://vestnik-nauki.ru/

2015, Т 1, №3

тивностью пространственно распределённых промышленных предприятий с учётом фактора надёжности»), проект № 14-02-00334а.

Алгоритмы муравьиной колонии впервые были предложены Воп§о, Машс220 и Со1огш [3] как метод решения трудных комбинаторных оптимизационных задач, таких как задача коммивояжера и квадратичная задача о назначениях. С тех пор алгоритмы муравьиной колонии активно развивались и стали применяться к другим задачам дискретной оптимизации. Появились алгоритмы для задач маршрутизации, задачи о раскраске графа, задач раскроя и упаковки, простейшей задачи размещения, задачи о р-медиане и ряда других задач.

Идея алгоритма

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

Сам по себе муравей - примитивное существо. Все его действия сводятся к элементарным инстинктивным реакциям на окружающую обстановку своих собратьев. Однако несколько муравьев вместе образуют сложную систему, которую называют «коллективным разумом». Поэтому алгоритмы муравьиных колоний часто называют алгоритмами роевого интеллекта [4]. Например, группа муравьев умеет находить кратчайший путь к пище. Если какое-нибудь препятствие - камень, палка, человек - встанет на пути, муравьи быстро находят новый оптимальный маршрут.

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

Эксперимент

Для того, чтобы изучить поведение муравьев в процессе поиска пищи были поставлены два эксперимента с использованием так называемого бинарного моста. Суть первого эксперимента [5] заключалась в следующем. Колония муравьев вида ЬтеркЬеша ЬишПе и источник пищи были разделены двойным мостом, причем обе ветви моста имели одинаковую длину. Муравьи могли свободно перемещаться между муравейником и источником пищи. В ходе эксперимента во времени отслеживалось процентное соотношение муравьев, которые выбирали ту или иную ветвь моста. В результате эксперимента оказалось, что не смотря на то, что феромона не было ни на одной из ветвей, со временем все муравьи стремились выбрать один и тот же путь. Это объясняется тем, что в начальной стадии большая часть муравьев случайно выбрала одну ветвь моста, оставив там большее количество феромона. В результате этого в дальнейшем именно это путь выбирался муравьями с большей вероятностью. Таким образом, в данном случае выбор пути муравьями существенно зависел от начальной фазы эксперимента.

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

http://vestnik-nauki.ru/

2015, Т 1, №3

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

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

Было замечено, что такое поведение муравьев при поиске пищи может быть расценено как вид оптимизационного процесса, в который каждый конкретный муравей делает небольшой вклад. Следует отметить, что хотя отдельный член колонии и способен построить решение (т.е. найти путь), для того, чтобы реализовать стратегию «поиска лучшего пути», необходимо множество муравьев. В некотором смысле такое поведение является свойством муравьиной колонии.

Общая схема муравьиной колонии

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

Введем некоторые обозначения. Пусть дискретная задача оптимизации - это задача определения на множестве Z={zi, Z2, ..., zn}, D £ 2S - множество допустимых решений задачи. Функция /: D — Л - целевая функция задачи. Требуется найти такое решение задачи s*, что s'r Е D и fis"') < f{s), Vs Е D. Некоторое подмножество s множества Z является частичным решением задачи, причем если s Е £>, то s представляет собой допустимое решение.

На каждой итерации алгоритма муравьиной колонии конечное число искусственных муравьев или агентов ищут допустимое решение дискретной оптимизационной задачи. Решением является путь минимальной стоимости по некоторым состояниям задачи, представляющим собой частичные решения. Муравей строит решение, начиная с некоторого начального состояния в зависимости от специфики решаемой задачи. В результате, после того, как искусственный муравей построил решение, он получает некоторую информацию о задаче, которая обрабатывается и используется агентами в дальнейшем. Эта информация и является аналогом феромона живых муравьев.

Искусственный муравей строит решение, «двигаясь» по состояниям задачи согласно некоторому вероятностному правилу. После завершения построения решения (или в течение построения) агент оценивает решение и изменяет значение уровня феромона на компонентах, используемых в данном решении. Таким образом, искусственный муравей - это некоторый жадный алгоритм, который итеративно шаг за шагом строит решение задачи. На каждом шаге г муравей / определяет множество возможных направлений А[ ( <р) из текущего состояния <р и выбирает одно из них с некоторой вероятностью. Для муравья 1 вероятность р^.ф перехода из состояния <р в состояние ф зависит от комбинации значений привлекательности

перехода и уровня феромона.

Привлекательность перехода n^ из состояния <р в состояние ip представляет собой

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

Уровень феромона т^ представляет собой положительное число, показывающее на сколько часто муравьи двигались из состояния <р в состояние Ц' на предыдущих итерациях, а также решениям какого качества соответствует данный переход. Таким образом, указанная величина отражает апостериорную (выведенную из опыта) желательность перехода.

http://vestnik-nauki.ru/

2015, Т 1, №3

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

Также в известных алгоритмах муравьиной колонии используются еще два механизма: испарение феромона и так называемая сверхпроцедура (daemon-procedure) [5]. Испарение феромона позволяет муравьиной колонии «забывать свою историю» и дает возможность поиска в других направлениях. Сверхпроцедура может использоваться для осуществления централизованных действий, которые не могут быть выполнены конкретным искусственным муравьем. Например, это может быть использование некоторой внешней информации, которая способна направить поиск решения в другую сторону. Сверхпроцедурой может быть процедура локального поиска, улучшающая решения, получаемые агентами.

Описанный выше алгоритм муравьиной колонии известен в англоязычной литературе как Ant System (AS). Данный алгоритм изначально применялся для задачи коммивояжёра и квадратичной задачи о назначениях и стал прототипом большого числа алгоритмов муравьиных колоний для различных задач дискретной оптимизации.

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

Алгоритм муравьиной колонии для задач размещения предприятий

Для описания алгоритма воспользуемся комбинаторной постановкой задачи, которая имеет следующий вид [5].

Введем обозначения:

m - число пунктов возможного размещения предприятий;

i - номер пункта возможного размещения предприятия;

n - число клиентов;

j - номер клиента;

tjj - затраты на удовлетворение спроса j клиента i предприятием (транспортные затраты);

p - количество предприятий, которые нужно открыть.

Дана не отрицательная m*n матрица Т = (tjj с множеством индексов строк / и множеством индексов столбцов ./, а также натуральное число р < т. Для всякого непустого подмножества [' положим

') = 2

feJmin!e/

Задача состоит в отыскании такого множества (' мощности /;, что значение минимально, то есть

Вестник науки и образования Северо-Запада России

http://vestnik-nauki.ru/ -------

~~^ --2015, Т. 1, №3

Решение 5 задачи будем называть булев вектор г размерности т такой, что = 1, если £ Е и 0 - в противном случае, где 1В - множество открытых в решении в предприятий.

Введем вектор ак = (я^}, I Е I, с положительными координатами. Величину а? будем называть уровнем феромона для /-го предприятия на итерации к алгоритма муравьиной колонии, I е Г

Обозначим через ^^ лучшее найденное решение до начала итерации к, тогда zft и -булев вектор и значение целевой функции, соответствующие рекордному решению Пусть - лучшее решение по значению целевой функции, найденное на итерации к, тогда zft и fk - булев вектор и значение целевой функции (рекорд на итерации к), соответственно. Параметр ят(К - вещественное положительное число, задающее минимальное возможное значение уровня феромона для всех £ £ I.

0. Определяем начальный вектор феромона я1; рекорд /-' := со, Итерация к. к > 1

1. Строим Ь допустимых решений одним из алгоритмов искусственного муравья (алгоритм искусственного муравья представляет собой вероятностную модификацию жадного алгоритма спуска).

Алгоритм искусственного муравья определяет привлекательные возможные расположения предприятий.

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

Выбирается наилучшие расположение предприятия из возможных привлекательных расположений.

3. Находим значения + £ € Определяем уровень феромона

4. Если < р, то У**1 = /*; ^^ = я*;

для ненулевых компонент 1к полагаем ее? +1 = яг„;„. Иначе = = Р.

Проверяем затраты у найденного расположения минимальны.

5. Если выполнен критерий остановки, то работа завершается. Переходим на следующую итерацию, к := к + 1.

При запуске к итераций будет определено к мест размещения и одно или несколько из них будет с наименьшими производственно-транспортными затратами. Данное решение будет искомым местом размещения предприятия.

Компоненты вектора 41 вычисляются следующим образом:

где §к £ (ОД) - коэффициент затухания (испарение феромона) на итерации к\ у^1 Е [ОД] -частота появления предприятия / в I лучших решениях, выбираемых на шаге 2 итерации к; параметр ц Е (ОД). Таким образом, при данных значениях параметров рк и q, чем чаще предприятие / попадает в I лучших решений по значению целевой функции, тем меньше становится соответствующее значение я;, £ е /.

Заключение

Вестник науки и образования Северо-Запада России

http://vestnik-nauki.ru/ -------

~~^ --2015, Т. 1, №3

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Леванова Т.В., Лореш М.А. Алгоритм муравьиной колонии и имитации отжига для простейшей задачи размещения // Материалы конференции «Дискретный анализ и исследование операций». Новосибирск, 2002. С. 235.

2. Лореш М.А. Алгоритмы муравьиной колонии для простейшей задачи размещения: Препринт. Омск, ОмГУ, 2006. 19 с.

3. Dorigo M. Optimization, Learning and Natural Algorithms // PhD thesis, Dipartimento di Electronica, Politecnico di Milano, IT, 1992 (in Italia).

4. Викизнание: Алгоритмы муравьиной колонии [Электронный ресурс]. URL: http://www.wikiznanie.ru (дата обращения: 15.09.2015).

5. Лореш М.А. Разработка и исследование алгоритмов муравьиной колонии для решения задач оптимального размещения предприятий: дис. на соискание уч. степени канд. техн. Наук: 05.13.01 - Системный анализ, управление и обработка информации; ОмГУ. Омск, 2006. 113 с.

ИНФОРМАЦИЯ ОБ АВТОРЕ

Бедакова Наталья Васильевна

ФГБОУ ВПО «Кубанский государственный технологический университет», г. Краснодар, Россия, аспирант кафедры информационных систем и программирования.

E-mail: natabedakova@gmail.com.

Bedakova Natalia Vasil'evna

FSEI HPE «Kuban State Technological University», Krasnodar, Russia, graduate student of Department of Information Systems and Programming.

E-mail: natabedakova@gmail.com.

Корреспондентский почтовый адрес и телефон для контактов с автором статьи: 350000, г. Краснодар, ул. Красная, 135, каб. 89. Бедакова Н.В.

8(918)159-89-82