АЛГОРИТМЫ ПОСТРОЕНИЯ НАЧАЛЬНОГО ПЛАНА В ЗАДАЧАХ ТРАНСПОРТНОЙ ЛОГИСТИКИ
О, А, Ляхов
Институт вычислительной математики и математической геофизики СО РАН, 630090, Новосибирск
УДК 519.854.2
DOI: 10.24411/9999-016А-2019-10049
В алгоритмах решения задач транспортной логистики (vehicle routing problem — VRP) для практических целей исходная задача разбивается на две части: построение начального решения; улучшение решения с применением приближенных алгоритмов. Использование моделей автоматической классификации (таксономии) позволяет разделить множество потребителей на близкие подмножества (таксоны) для задач нескольких коммивояжеров и доставки продуктов потребителям в необходимом количестве ограниченными по грузоподъемности транспортными средствами.
Ключевые слова: задача нескольких коммивояжеров, модели маршрутизации транспорта, таксономический анализ.
Введение
Рассматриваются задачи нескольких коммивояжеров и доставки однородных продуктов клиентам. Исходные формулировки включают необходимость посещения заранее заданного числа объектов и возвращением в исходный пункт всех коммивояжеров, а для транспортной логистики каждый коммивояжер (транспортное средство) имеет ограниченную грузоподъемность и для каждого клиента известен размер потребностей. Цель решения задач общем случае формулируется как поиск оптимальных маршрутов передвижения нескольких транспортных средств (коммивояжеров) с доставкой товаров потребителям с минимальными затратами и возвратом в исходную вершину.
Для решения задач достаточной для практики размерности применяются приближенные поисковые алгоритмы, в которых начальное допустимое решение улучшается с помощью вспомогательных процедур, в том числе эвристических правил. Предлагается использование методов таксономического анализа для построения начального эффективного решения задач маршрутизации и построения априорных оценок целевой функции.
1 Задача нескольких коммивояжеров
Обозначения.
G = (V., Е) — неориентированный граф;
V = (г0 ,ii,...,in) — множество вер шин, г0 — исходный пункт (депо), ii,...,in — потребители в задачах маршрутизации (здесь объекты, которые необходимо посетить); Е — множество ребер (i,j) G E,i G V,j G V;
С = [cij} — матрица неотрицательных расстояний (стоимости пути) между объектами по ребрам (i,j), i G V,j G V;
т — количество коммивояжеров или транспортных средств; Дй — маршрут fc-го транспортного средства (k = 1,..., т); с(Rk) = Y1"=0I2Г=0 cijxijk — длина маршрута Rk, (к = 1,..., т).
Переменные ж^ = 1, если и только если в к-& маршрут включено ребро (i,j), i G V,j G V. Работа выполнена по плану ПФНИ (проект 0315-2016-006).
ISBN 978-5-901548-42-4
Требуется обойти вершины гп, начиная с пункта го и закапчивая в нем. Различные варианты постановки [1] содержат условия использования обязательного и необязательного использования всех коммивояжеров. Предполагается: для всех ребер выполнение неравенства треугольника; каждая вершина посещается один раз.
Целочисленная модель задачи расчета количества коммивояжеров и построения маршрутов включает условия 1-6 и целевую функцию 7.
xijk 1
k=1i=0 т п
X3ik = 1
k=1i=0
xijk ^У^, xjik
i=0
j = 1, ...,п j = 1, ...,п
j = 0, ..., п,к = 1, ..., т
i=0
Uik - Ujk + (п + 1)Xijk < п i,j
1,..., п; к =1,..., т
Xijk € [0,1], целые Uik > 0
i,j = 0, ...,п,к = 1, ...,т
i = 1, ...,п,к = 1, ..., т
п п т
J2J2Y1 Cii Xiik ^ min ¿=0 j=0 k=1
(1) (2)
(3)
(4)
(5)
(6)
(7)
Условия (1) и (2) определяют однократное посещение каждой внутренней вершины во всех маршрутах и возможность посещения одного потребителя не более одного раза разными коммивояжерами. (3) гарантируют связность маршрутов. Группы условий (4) (заимствованы из [4]) гарантируют включение депо в каждый маршрут. Целевая функция (7) минимизирует суммарные транспортные затраты. В задаче (1-7) необходимо выбрать количество коммивояжеров, обеспечивающее минимальные затраты (7) и построить их маршруты. Если Xijp = 0, г,] = 0,..., п, к =1,..., т, то маршрут р не входит в план (фиктивный).
Варианту этой задачи с обязательным использованием всех коммивояжеров (задача неленивых коммивояжеров [1, с.21]) соответствует модель (1-8). Условия (8) гарантируют отсутствие фиктивных маршрутов, т.е. включение в план всех т коммивояжеров (каждый коммивояжер обязательно должен один раз выйти из депо).
У ] Xio jk
3 = 1
1 к = 1, ...,т
(8)
2 Задачи маршрутизации однородных транспортных средств
Первая постановка задачи маршрутизации транспортных средств при перевозке грузов — VRP (Vehicle Routing Problem) приведена в [2], обзор — в [3]. Задача является развитием задачи коммивояжера. Отличие заключается возможности использования нескольких средств передвижения (больше одного коммивояжера), учете грузоподъемности транспорта и поставки груза каждому потребителю в необходимом количестве. Исходные формулировки включают необходимость посещения заранее заданного числа объектов (вершин) и возврат в исходный пункт (депо). На рис.1 приведены маршруты одного (0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 0)и двух коммивояжеров (0 ^ 1 ^ 2 ^ 0и0 ^ 3 ^ 4 ^ 0). Если каждой вершине сопоставить потребность в продукте и ввести грузоподъемность транспортных средств, то задача нескольких коммивояжеров превращается в задачу транспортной логистики по доставке однородных продуктов.
Маршрутизация транспорта в общем случае формулируется как поиск оптимальных маршрутов передвижения нескольких транспортных средств (коммивояжеров) с целью доставки товаров потребителям с минимальными затратами и возвратом в исходную вершину.
В задаче маршрутизации требуется построить минимальные по суммарной длине маршруты, обеспечивающие доставку грузов всем потребителям в заданном количестве. От задачи коммивояжера наследуются требования выполнения для каждого ребра неравенства треугольника и не более чем однократное посещение
Рис. 1: Задачи коммивояжера и транспортной логистики
каждого потребителя. Все маршруты должны начинаться и заканчиваться в вершине г0 (депо). Все транспортные средства имеют одинаковую грузоподъемность Ц. — объем груза, который необходимо доставить г-му потребителю. Вводится переменная уц. — вес (количество единиц) продукта, доставленного клиенту % транспортным средством к. Предполагается, что парк транспортных средств достаточен для перевозки груза: т * Q > £Г=1 Чг-
Целочисленная модель УБР включает условия (1) (6), целевую функцию (7) и ограничения по доставке грузов (9) (12).
Угк < Хцк
3=0
П
"^Угк < Я
г = 1, ...,п, к = 1, ...,
к = 1,...,
т
(9) (Ю)
Угк = Чг
к= 1
У1к > 0
г = 1, ...,п г = 1, ...,п, к = 1, ..., т
(Н) (12)
т
Группы условий (9) (12) определяют необходимость доставки груза каждому потребителю в необходимом количестве и ограниченность грузоподъемности транспортных средств.
\ Н I ' широко используется при решении различных практических задач. Известные формулировки связаны с передвижением в чрезвычайных ситуациях. Здесь можно выделить задачи построения маршрутов при осуществлении спасательных работ, доставку расходных материалов по опасным дорогам, ликвидация последствий стихийных происшествий (пожары, наводнения, эпидемии), организация взаимодействия тыловых и авангардных армейских подразделений, материальное обеспечение войск боеприпасами, продовольствием, медикаментами, построение маршрутов осуществления операций по охране государственной границы [5], маршруты разведывательных полетов [6, с.234 235] и т.д. Критерием выбора маршрутов в таких задачах является минимизация ущерба при передвижении и выполнении работ на местах. Ущерб оценивается в зависимости от исходных условий в разных единицах: в дозах облучения персонала при передвижении и выполнении ремонтных работ на АЭС [7], в вероятностных показателях поражения в осуществлении военных операций, во временных показателях пребывания в опасных условиях.
3 Алгоритм таксономического анализа в задачах маршрутизации
Таксономический анализ используется для классификации объектов. Целью является построение классов (таксонов) объектов с близкими свойствами. Задача таксономии связана с разделением исходного множества на непересекающиеся группы по критерию близости [8,9]. Каждый элемент характеризуется набором признаков ri1,rjm в метрическом пространстве, i = 1,..., п. Близость (сходство) объектов inj может быть оценена расстоянием между ними:
d(i,j) =
- rjk)2,i,j = 1,...,п. (13)
J-к=1
Известная постановка задачи таксономии заключается в разбиении исходного множества объектов на р
таксонов так, чтобы суммарное расстояние от эталонов до элементов таксонов было минимальным:
р
dp d(uv, iv) ^ min (14)
м—1
uv — объект, наиболее близкий к центру тяжести таксона ^(эталон);
— объект из ^-го таксона. Центр тяжести (эталон) таксона — точка, наименее удаленная от всех элементов таксона.
Алгоритмы таксономии включают две разновидности: построение классификации для заранее заданного числа таксонов [10] и разбиение исходного множества на таксоны при фиксированном радиусе (расстояние от центра тяжести до наиболее удаленной точки таксона).
Разделение исходного множества на заданное число таксонов включают следующие процедуры.
1. Разбиение множества объектов на непересекающиеся подмножества (таксоны).
2. Для каждого таксона определение центра тяжести и эталонного объекта.
3. Просмотр всех элементов таксонов: очередной объект переносится в таксон с наименьшим расстоянием от эталона. Пересчитываются эталоны таксонов.
Пункт 3 выполняется до тех пор, пока возможно перемещение элементов из таксона в таксон.
Алгоритм позволяет получить оптимальное разбиение объектов при заранее заданном числе таксонов по критерию (14).
Для задач маршрутизации, если положить Cij = d(i,j), применимы методы таксономического анализа.
3.1 Алгоритм таксономии для задачи нескольких коммивояжеров
В задаче таксономии для р коммивояжеров будем считать объектами вершины графа G = (V, Е) , включая депо. Определим расстояние между объектами d(i,j) = с^-. Критериадьнад функция для раз биения на р
таксонов — сумма расстояний от эталонов до всех вершин графа:
р
dp = cU'ivXi' ^ min (15)
f.1—1
uv — вершина, наиболее близкая к центру тяжести таксона ^(эталон); iß — вершина из ^-го таксона;
Xi — переменная: Xi = 1, если вершина i принадлежит таксону iv, иначе Xi = 0.
В отличие от стандартной постановки таксономии будем считать, что вершина io (депо) принадлежит каждому таксону. В алгоритме (раздел 3) изменяется п.З: в каждом таксоне присутствует непереносимая вершина io.
Для варианта с обязательным использованием всех р коммивояжеров построенная классификация задает исходные множества для построения маршрутов. Для каждого таксона в отдельности решается задача одного коммивояжера. Не сложно показать, что для любого таксона маршрут из г0 в i0, содержащий все внутренние точки таксона, по длине не превосходит удвоенного минимума суммарного расстояния от эталона
до всех элементов таксона. 2йр является верхней оценкой для решения задачи неленивых коммивояжеров (модель (1) (8) при выполнении для всех ребер графа С = (У,Е) неравенства треугольника.
Для задачи, в которой требуется построить маршруты не более, чем р коммивояжеров (модель (1)-(7) начальное приближение содержит р вариантов разбиения исходного графа на таксоны. Каждому варианту I = 1, ...,р соответствует решение задачи разбиения на I таксонов. Оценка сверху для задачи (1) (7) при выполнении неравенства треугольника для всех ребер исходного графа В = \ain2di, I = 1, ,.,р.
В качестве исходного может быть выбран любой из р вариантов деления на таксоны. Для каждого варианта решается задача одного коммивояжера, затем выбирается лучшее решение. Целесообразно начинать с варианта с минимальной оценкой Б.
3.2 Алгоритм таксономии для задачи УЫР
В построении исходного решения задачи (1)-(7), (9)—(12) дополнительно должны быть отражены ограничения по грузоподъемности транспортных средств и необходимость доставки грузов потребителям в необходимом количестве для вершин каждого таксона. При этом предполагается, что парк транспортных средств достаточен для удовлетворения потребностей всех клиентов. Задача таксономии формулируется следующим образом: необходимо разбить множество вершин графа С на 1 < I < т таксонов. Каждый таксон соответствует исходной задаче построения маршрута одного транспортного средства. Этой задаче соответствует модель (16)—(21).
хз, = 1, если ц € I, I = 1,..., т (16)
хзг € [0,1], целые ц € Е (17)
1ев хч = п (18)
х01 = 1, I = 1, ...,т (19)
,еЕ хч <1ч > Я 1 =1,...,т (20)
еЕ Сц^Хц ^ тт (21)
хзг — переменная, определяющая принадлежность вершины таксону, € I.
Хц = 1, если вершина г принадлежит таксону I, иначе х^ = 0. — расстояние между эталоном и1 и вершиной
Ограничения (16-18) определяют однократное присутствие внутренних вершин в таксонах, (19) показывает, что депо входит в каждый таксон. Группа условий (20) гарантирует перевозки груза в необходимом количестве с без нарушения требований грузоподъемности каждого транспортного средства. Критериальная функция (21) определяет качество классификации вершин.
Любое допустимое решение задачи (16) (21) соответствует допустимому решению задачи (1) (7), (9) (12) с оценкой сверху В = пш^д^, I = 1, ,.,р при выполнении для ребер исходного графа неравенства треугольника.
Целесообразность предварительного таксономического анализа для построения начальных допустимых решений \ Н1' задач подтверждается значительным сокращением размерности исходных данных: число переменных во вспомогательной задаче (16)—(21) равно р*т; количество переменных в исходной задаче (1)-(7), (9)-( 12) равно 2 * т2 * р + т * р.
Решая I задач (16)—(21) получим начальные решения для всех вариантов выбора средств передвижения от 1 до р. Для продолжения расчетов в качестве исходного может быть выбран любой из р вариантов деления на таксоны. Для каждого варианта I = 1, ...,р решается задача I коммивояжеров (см. п. 3.1), затем выбирается лучшее решение. Целесообразно начинать с варианта с минимальным значением целевой функции.
Если р = 1 (задача одного коммивояжера), то алгоритм таксономии (раздел 3) позволяет получить априорную оценку целевой функции задачи одного коммивояжера.
3.3 Условия неоднократного посещения вершин в модели УГ1Р
В УТ1Р предполагается, что каждая внутренняя вершина маршрута (к = 1, ...,т) посещается один раз. Это соответствует поиску гамильтоновых циклов, но не позволяет отображать возможность посещения вершин более одного раза. Условия (1), (2) гарантируют однократное посещение внутренних вершин каждого из к путей с возвратом в начальную вершину. При невыполненном неравенстве треугольника могут существовать более эффективные решения относительно начальной формулировки задачи, чем оптимальные по
модели (1)-(7), (9)—(12) [11]. Потеря эффективных маршрутов в связи с условием "однократности" может возникнуть в каждом пути данной задачи. Самый короткий путь с однократным посещением вершин может оказаться длиннее пути с повторным заходом в вершины. Если отказаться от однократности и искать решение не только в гамильтоновых циклах, то условия (1)—(7) не соответствуют исходной формулировке задачи, т.к. возможно существование не гамильтоновых более коротких путей, построение которых блокируется ограничениями (2).
Пусть С' = } — матрица, в которой с^ > 0 — минимальное расстояние путей из г в j,i,j = 0, п. Более эффективные решения задачи VRP без условия однократности могут быть получены по модели (1-8) с матрицей С' и восстановлению маршрутов то дугам оптимального пути, таким что с^ > с^ [11]. При этом в новых вершинах = 0 (i- добавленная в маршрут к вершина). В этом случае в построении начального решения используется С'.
Заключение
Для построения начальных решений задач транспортной логистики предложены алгоритмы таксономического анализа. Рассмотрен способ преобразования исходной матрицы расстояний, позволяющий сократить транспортные затраты за счет повторного посещения вершин.
Список литературы
[1] Меламед И.П., Сергеев С.П., Сигал II.X. Задача коммивояжера. Вопросы теории // Автоматика и телемеханика. 1989. № 9. — С. 3-33.
[2] G. Dantzig, J. Ramser. The truck dispatching problem. Management Science, 6: P. 80-91, 1959.
[3] C. Archetti, M. Speranza. The split delivery vehicle routing problem: A survey. B.Golden, S. Raghavan, and E. Wasil, eds. The Vehicle Routing Problem: Latest Advances and NewChal-lenges. Springer, New York, 103-122, 2008.
[4] Khmelev A., Kochetov Y. A hybrid VND method for the split delivery vehicle routing problem. // Elec. Notes Disc. Math. 2015. V. 47, P. 5-12.
[5] Кучков А.Ф., Лукашевич Н.Ф., Попов Г.П., Шумов В.В. Математическое моделирование служебно-боевых действий пограничных войск. — М.: ФПС России, 1996.
[6] Чуев Ю.В. Исследование операций в военном деле. М.: Воениздат, 1970. 256 с.
[7] Сесекин А.П., Ташлыков О.Л., Щеклеин С.Е., Куклин М.Ю., Чепцов А.Г., Кадников А.А. Использование метода динамического программирования для оптимизации траектории перемещения работников в радиационно опасных зонах с целью минимизации облучения // Ядерная энергетика. 2006. — № 2. — С. 41-48.
[8] Загоруйко П.Г. Методы распознавание и их применение. М.:Сов. Радио, 1972. 208 с.
[9] Загоруйко П.Г. , Елкина В.П., Лбов Г.С., Емельянов С.В. Пакет прикладных программ ОТЭКС. Изд."Финансы и статистика". М., 1986.
[10] Илыошонок С.Е. Оптимизация темпов и пропорций развития аграрно-промышленного комплекса. Новосибирск, Наука, 1980. С. 261-267.
[11] Ляхов О. А. Задача минимизации доз облучения при техническом обслуживании АЭС // Проблемы информатики, 2016, № 1. С.19-25
Ляхов Олег Алексеевич — к.э.н., н.с. Институт вычислительной математики и математической геофизики СО РАН;
e-mail: loaÚrav.sscc.ru.
Дата поступления — 2 апреля 2019 г.