Меню
Главная
Авторизация/Регистрация
 
Главная arrow Математика, химия, физика arrow Алгоритм муравьиной колонии для решения задач оптимального размещения распределительных центров розничной торговой сети

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


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

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

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

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

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

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

Введем некоторые обозначения. Пусть дискретная задача оптимизации - это задача определения на множестве

Z={z1, z2, …, zn},

- множество допустимых решений задачи. Функция - целевая функция задачи. Требуется найти такое решение задачи s*, что и

.

Некоторое подмножество s множества Z является частичным решением задачи, причем если , то s представляет собой допустимое решение.

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

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

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

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

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

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

Алгоритм муравьиной колонии для задачи размещения распределительных центров розничной торговой сети (для задачи о p-медиане)

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

Дано:

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

- список розничных торговых точек компании (расположение магазинов);

- затраты на транспортировку (стоимость прохождения 1 км пути);

- необходимое количество распределительных центров для открытия;

- расположение ближайшего распределительного центра компании.

Цель: открыть склад и прикрепить к нему магазины так, чтобы затраты были минимальными.

Задача целочисленного линейного программирования:

(1)

Обозначения:

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

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

n - число торговых точек;

j - номер торговой точки;

- затраты на удовлетворение спроса j магазина i распределительного центра (транспортные затраты);

- затраты на удовлетворение спроса j клиента;

;

- транспортные затраты на доставку товаров в распределительный центр с ближайшего распределительного цента;

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

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

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

Дана не отрицательная mЧn матрица с множеством индексов строк I и множеством индексов столбцов J, а также натуральное число . Для всякого непустого подмножества положим

. (2)

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

. (3)

Решение s задачи будем называть булев вектор z размерности m такой, что , если , и 0 - в противном случае, где - множество открытых в решении s распределительных центров.

Введем вектор

,

, с положительными координатами. Величину будем называть уровнем феромона для i-го распределительного цента на итерации k алгоритма муравьиной колонии, .

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

0. Определяем начальный вектор феромона ; рекорд ,

Итерация , .

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

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

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

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

3. Находим значения , .

Определяем уровень феромона

4. Если , то ; ;

для ненулевых компонент полагаем

.

Иначе

; .

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

5. Если выполнен критерий остановки, то работа завершается.

Переходим на следующую итерацию,

.

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

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

, , (4)

где - коэффициент затухания (испарение феромона) на итерации k; - частота появления распределительного центра i в l лучших решениях, выбираемых на шаге 2 итерации k; параметр . Таким образом, при данных значениях параметров и , чем чаще распределительный центр i попадает в l лучших решений по значению целевой функции, тем меньше становится соответствующее значение , .

Алгоритм искусственного муравья ant2-pm

Алгоритм искусственного муравья ant2-pm представляет собой вероятностную модификацию жадного алгоритма спуска [4]. Здесь - множество открытых распределительных центов; - изменение целевой функции в результате закрытия распределительного центра .

Алгоритм ant2-pm начинает работу с множества и завершает ее при . На каждой итерации алгоритма ant2-pm генерируется множество распределительных центров

(5)

где - параметр алгоритма, . Используя , вычисляются значения привлекательности каждого . Привлекательность вычисляется по формуле:

(6)

где ,

параметр . Данный параметр необходим для того, чтобы всякий распределительный центр имел шанс быть закрытым. Любой распределительный центр имеет ненулевую вероятность закрытия. На каждом шаге алгоритма ant2-pm с распределением вероятностей

(7)

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

Как видно из схемы алгоритма ant2-pm, множество также состоит из кандидатов для закрытия на шаге , но уже в вероятностном смысле, т.е. даже если распределительный центр не попал во множество , то он все равно имеет ненулевую вероятность быть закрытым.

Алгоритм ant2-pm:

0. Определяем начальное множество .

Шаг .

1. Если , то работа алгоритма завершается.

2. Формируется множество согласно (5).

3. Используя (7), случайно выбираем элемент .

4. Определяем

.

Переходим на следующий шаг,

.

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

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

Литература

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

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

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

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Естествознание
Журналистика
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Математика, химия, физика
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Право
Психология
Религиоведение
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика
Прочее