ПРИМЕНЕНИЕ МУРАВЬИНЫХ АЛГОРИТМОВ ДЛЯ ПОИСКА ОПТИМАЛЬНЫХ МАРШРУТОВ ГРУЗОПЕРЕВОЗОК
Семенюта E.В., Привалов М.В.
Донецкий национальный технический университет
Источник: Інформаційні управляючі системи та комп'ютерний моніторинг (ІУС та КМ - 2011) / Матеріали II
науково-технічної конференції студентів, аспірантів та молодих вчених. —
Донецьк, ДонНТУ — 2011, с. 199-203.
Аннотация:
Семенюта Е.В., Привалов М.В. Применение
муравьиных алгоритмов для поиска оптимальных маршрутов грузоперевозок.
Рассмотрена и формализована задача поиска оптимальных маршрутов
курьерской доставки грузов. Обоснован и выбран в качестве метода решения
муравьиный алгоритм. Предлагается использование локального
лексикографического поиска для учета порядка обхода городов.
Введение
Динамика расширения рынка
транспортно-логистических услуг, наблюдаемая в последнее время, открытие
новых логистических терминалов, усиление соперничества между
операторами способствуют росту потребности в решении
транспортно-логистических задач в целях более эффективного обслуживания
клиентов. Одной из таких задач является оптимальное планирование
маршрутов грузовых перевозок, решение которой заключается в решении так
называемой задачи коммивояжера (TSP) - задачи комбинаторной оптимизации.
Задача последовательного упорядочения
(ЗПУ) была первоначально решена как ограниченная версия асимметричного
TSP (ATSP). Первая математическая модель для ЗПУ была введена в [1], где
был предложен подход секущих плоскостей, чтобы вычислить более низкие
границы на оптимальном решении. В [2] был описан метод Лагранжа
relax-and-cut, и были определены новые действительные усечения для
получения более сильных низких границ.
Позже, основываясь на многогранном
исследовании, выполненном на задачах ATSP с ограничениями
предшествования [3], в [4] предложен новый класс действительных
неравенств и описан алгоритм branch-and-cut для широкого класса случаев
ЗПУ. Эти эвристики не содержат ограничения напрямую: в результате
невозможные решения просто отвергнуты. При таком подходе [4] удалось
вычислить новые верхние оценки для проблемы ЗУП в TSPLIB, хотя
генетический алгоритм, называемый Maximum Partial Order/Arbitrary
Insertion (MPO/AI), предложенный в [5], возможно работает лучше в том же
классе задач. MPO/AI всегда работает в пространстве допустимых решений
путем введения сложных операторов скрещивания, что сохраняет общую схему
из двух родителей путем определения их максимального частичного порядка
через матричные операции [6].
Общая постановка проблемы
Для планирования маршрутов курьерской
доставки грузов необходимо решить задачу последовательного упорядочения
пунктов следования.
В каждом областном центре Украины
существует склад, который использует некоторое количество транспортных
средств поставки с идентичной грузоподъемностью Q.
На N складах есть груз весом,.
На каждом i-м складе,, имеется Z заказов весом,.
Требуется составить маршруты доставки грузов с одних складов на другие в
течение 48 часов, причем выгрузка и дозагрузка могут осуществляться на
складах по пути следования транспортного средства.
Дан полный взвешенный граф из вершин N.
Вершинам графа сопоставим склады, на которых имеется груз, ребрам -
пути, ведущие от склада к складу, и припишем им стоимость пути.
Решение для задачи маршрутизации транспорта может быть представлено в
виде перевозок всего имеющегося на всех складах груза K маршрутами
{R1...Rk}, К --> min.
Задача оптимизации грузовых перевозок может быть сформулирована как
минимизация общей стоимости всех маршрутов с учетом выполнения
ограничений:
где - вес ребра, ведущего из вершины i в вершину j, – подмаршрут от склада i к складу j,
- соответствующий маршрут, где, К – количество маршрутов, Е – вес уже имеющегося груза в автомобиле.
Ограничение (2) определяет, что
транспортное средство не может быть загружено больше, чем позволяет его
грузоподъемность.
– вес р-го груза на i-м складе, , N – количество складов, , Z – количество грузов на складе.
Ограничение (3) – это ограничение по времени; прибытие машины на склад не должно быть позднее установленного срока.
– это время прибытия соответствующей k-й машины на i-й склад, – крайний срок времени обслуживания i-го склада.
Задача последовательного упорядочения
также может быть сформулирована, как общий случай ассиметричной задачи
коммивояжера, основываясь только на весах узлов.
В этой интерпретации - вес ребра (i,j), где может отличаться от , и этот вес может представлять собой стоимость ребра (i,j), если , или ограничение на порядок обхода, при =-1. Значение =-1 означает, что узел i должен предшествовать узлу j, причем, необязательно последовательно.
Решение задачи
Рассматриваемая задача относится к
NP-сложным задачам комбинаторной оптимизации, для которых
нецелесообразно находить оптимальное решение. К таким задачам разумно
применять эвристические алгоритмы, которые быстро находят хорошие, хотя и
не обязательно оптимальные, решения.
Можно попробовать связать с
метаэвристикой локальную оптимизацию. Это интересное сочетание, так как
локальный оптимизатор часто страдает от проблемы "инициализации", кроме
того, локальная процедура поиска тратит много времени, улучшая низкое
начальное качественное решение [16]. Поэтому интересно найти хорошие
метаэвристические локальные оптимальные сцепления, где сцепление хорошо,
если метаэвристика генерирует начальные решения, которые можно отнести к
очень хорошим локальным оптимумам локальным оптимизатором. Необходимо
решить задачу последовательного упорядочения (SOP) с помощью
муравьиного алгоритма в сочетании с модифицированной версией 3-х
оптимальной процедуры поиска.
Задача последовательного упорядочения
может быть сформулирована как общий случай ассиметричной задачи
коммивояжера (за исключением того, что маршрут не обязательно должен
быть замкнутым).
В данной работе предлагается решить задачу с помощью муравьиного алгоритма.
Каждый муравей многократно начинает
движение с узла 0 и добавляет новые узлы, пока все узлы не были
посещены, и узел n достигнут. Находясь в узле і, муравей выбирает
вероятностно следующий узел j из набора F (i) из выполнимых узлов. F (i)
сдержит все узлы j, которые еще должны быть посещены, и все, что должны
предшествовать j, согласно ограничениям предшествования, были уже
вставлены в последовательность.
Система выбирает с вероятностью узел с лучшим(детерминированное правило), в то время как с вероятностью, узел выбран согласно вероятностному правилу, которое одобряет узлы, связанные ребрами с более высокими значениями [15].
основан на параметре S, который является числом узлов. S позволяет системе определить независимо от задачи, измеряя его таким образом, что ожидаемое число узлов, отобранных с вероятностным правилом, является S.
Как только каждый муравей построил
выполнимое решение, к нему применяют локальный поиск. В локальном
масштабе оптимальные решения используются, чтобы обновить следы феромона
на дугах, согласно правилу испарения следа феромона. В нашем случае
только лучший муравей - муравей, который построил самый короткий тур,
может отложить след феромона. Объяснение этому - то, что таким образом
"привилегированный маршрут" запоминается в матрице следов феромона, и
будущие муравьи будут использовать эту информацию, чтобы произвести
новые решения в соседстве этого привилегированного маршрута.
(6)
где - самый короткий путь, полученный с начала вычисления (путь самого лучшего муравья).
След феромона также испаряется в
течение построения решения. В этом случае, однако, он удален из
посещенных ребер. Другими словами, каждый муравей, перемещаясь из города
i в город j, применяет правило испарения феромона, которое заставляет
количество следа феромона на ребре (і,j) уменьшаться [15]. Правило:
(7)
где - первоначальное значение следов. Считается, что хорошее значение для этого параметра
(8)
Объяснение использования формулы (7) -
то, что муравьи съедают след феромона, в то время как они строят
решения так, чтобы определенное множество в произведенных решениях было
точно.
Далее для того, чтобы учесть
ограничения на порядок обхода городов (узлов графа) будет применен
лексикографический поиск. Который будет заключаться в следующем. Берем
найденную ранее последовательность узлов и получаем новую посредством
обмена узлов в ней так, как это было предложено Дориго и Гамбарделла в
[16]. Проходим все узлы и инвертируем те из них, которые стоят не в
нужном порядке. Для этого генерируем 2 пути (левый и правый), которые
первоначально составлены из одного единственного узла и расширяются
добавлением одного нового узла на каждом шаге. Эта особенность позволяет
легко проверить выполнимость решения, потому что условия
предшествования должны быть проверены только для нового добавленного
узла. Будем различать прямой и обратный поиск. Процедура поиска
начинается, устанавливая узел h=0, и затем перемещает h через
последовательность, пока узел n-2 не достигнут. Каждый раз, когда узел h
отобран, процедура выполняет прямой и обратный лексикографический поиск
того же самого h.
Процедура прямого лексикографического
3-opt поиска начинается установкой значения i, которое определяет самый
правый узел левого пути (path_left), и выполняется цикл на значение j,
которое определяет самый правый узел правого пути (path_right)(Рис. 1а и
1б): path_right=(i+1,...j) итерационно расширяется новым ребром
{j,j+1}[16].
Когда все возможные узлы добавлены в
правый путь, левый путь расширяется новым ребром {i,i+1} (Рис. 1в). И
поиск снова начинается в правом пути. Левый и правый пути при
инициализации состоят только из элементов i=h+1 и j=i+1 (Рис. 1г).
Рисунок 2. Прямой лексикографический 3-opt поиск
В случае обратного поиска (Рис. 2)
левый путь идентифицируется (j+1, ..., i) и правый (i+1, ..., h). После
установки h, i=h-1 и j=i-1 (Рис. 2а), и расширяем левый путь
перемещением j до начала последовательности, присваивая j значения i-2,
i-3, ..., 0 (Рис. 2б). Затем правый путь итерационно расширяется в
обратном порядке новым ребром {i,i+1}, и цикл в левом пути повторяется.
Полный лексикографический поиск
посещает все возможные узлы последовательности, но он должен быть
остановлен, как только находит невыполнимый обмен. Левый путь должен
быть определен как (h+1, ..., i), тогда правый путь будет j=i+1. В этой
ситуации возможно проверить обменную выполнимость, проверяя, есть ли
отношение предшествования между узлом j и узлами в правом пути. Перед
расширением правого пути новым ребром {j,j+1} мы проверяем, выполнимы ли
все еще результирующие пути, проверкой отношения предшествования между
новым узлом j+1 и узлами в левом пути. В случае, если проверка не
выполняется, поиск останавливается.
Рисунок 3. Обратный лексикографический 3-opt поиск
Выводы
Анализ, проведенный в работе, показал,
что задача грузоперевозки с дозагрузкой по пути следования может быть
формализована как асимметричный случай задачи коммивояжера с
дополнительными ограничениями на направленность маршрута.
Предложен способ решения задачи с
применением муравьиного алгоритма. Показано, что учет направленности
маршрута может быть выполнен с применением локального
лексикографического 3-opt поиска, предложенного в [6]. Направлением
дальнейшей работы является реализация данного метода и его
экспериментальное исследование в рамках поставленной задачи.
Литература
- Ascheuer N., Escudero L. F., Grotschel M. and Stoer M.,
1993, A Cutting Plane Approach to the Sequential Ordering Problem (with
Applications to Job Scheduling in Manufactoring), SIAM Journal on
Optimization 3,25–42.
- Escudero L.F., Guignard M., Malik K, 1994. A Lagrangian
Relax-and-cut Approach for the Sequential Ordering Problem with
precedence Relationships, Annals of Operations Research 50, 219–237.
- Balas E., Fischetti M., Pulleyblank W.R., 1995, The
Precedence-constrained Asymmetric Traveling Salesman Polytope,
Mathematical Programming 65, 241–265.9. Costa D. and A. Hertz, 1997,
Ants Can Colour Graphs, Journal of the Operational Research Society, 48,
295–305.
- Ascheuer N., 1996. Hamiltonian Path Problems in the On-line Optimization of Flexible
Manufacturing Systems. ZIB Technical Report TR 96-3.
- Chen S. and Smith S., 1996, S.F. Commonality and Genetic
Algorithms. Carnegie Mellon University, The Robotic Institute, Technical
Report CMU-RI-TR-96-27.
- Gambardella L.M., Dorigo M. HAS-SOP Hybrid Ant System for the Sequential Ordering Problem, Technical Report IDSIA 11-97.
- Штовба С.Д. Муравьиные алгоритмы// Exponenta Pro. Математика в приложениях. 2004. 4(4)