УДК 656.135.073
ДИХОТОМИЧЕСКАЯ МАРШРУТИЗАЦИЯ ТРАНСПОРТНОГО ГРАФА
К. С. Подшивалова, С. Ф. Подшивалов
DICHOTOMOUS ROUTING TRANSPORT GRAPH K. S. Podshivalova, S. F. Podshivalov
Аннотация. Актуальность и цели. Рассматривается вопрос дихотомической маршрутизации в комбинированной системе доставки груза по кольцевым схемам с одной базы. Расчет таких сложных систем развозки или сбора груза производится приближенными эвристическими методами, когда выполняется декомпозиция транспортной сети и ее деление на кластеры. В основе лежит многоэтапная модель расчета, состоящая из определения набора кластеров и решения задачи маршрутизации в них. Существуют различные методики расчета этапов, однако общим их недостатком является ограничение поиска в глубину по всей транспортной сети на основе выбранного критерия оптимальности целевой функции. Задачей исследования является разработка методики одновременного решения задач кластеризации и маршрутизации. Материалы и методы. Поставленная цель достигается при использовании методики фиктивных узлов и ветвей с двумя контрольными узлами, а также создании единого кольцевого маршрута без пересечений, проходящего через все базы и пункты разгрузки. Выполнение ограничений по количеству вершин достигается блокировкой ветвей на дереве решений, приводящей к их невыполнению. Выбор оптимального маршрута производится из анализа всех вариантов сочетаний расположения контрольных вершин. После проведения первого этапа операция дихотомического деления повторяется. Результаты. Проверка достоверности разработанного метода осуществлялась на численном примере транспортного графа из девяти вершин. Определены два маршрута по четыре пункта разгрузки груза. После их деления получены четыре схемы движения, содержащие по две вершины. Результаты сравнивались с данными расчетов по методу Кларка-Райта. Выводы. Установлено, что предложенный метод дихотомической маршрутизации позволяет получить оптимальную схему движения.
Ключевые слова: транспортный граф, маршрутизация, алгоритм, метод фиктивных узлов и ветвей, контрольные вершины, кольцевые схемы движения.
Abstract. Background. The issue of dichotomous routing in the combined system of cargo delivery by ring schemes from one base is considered. Calculation of such complex systems of transportation or collection of cargo is carried out by approximate heuristic methods, when the transport network is decomposed and its division into clusters. The basis is a multi-stage calculation model, consisting of defining a set of clusters and solving the routing problem in them. There are different methods for calculating the stages, but their common disadvantage is the restriction of depth-based search throughout the transport network based on the criterion of optimality of the objective function chosen. The task of the research is to develop a methodology for simultaneously solving the problems of clustering and routing. Materials and methods. The goal is achieved by using the technique of fictitious nodes and branches with two control nodes, and also creating a single circular route without intersections passing through all bases and points of discharge. Execution of re-
strictions on the number of vertices is achieved by blocking the branches in the decision tree, leading to their failure to perform. The choice of the optimal route is made from an analysis of all variants of combinations of the location of control vertices. After the first stage, the operation of the dichotomous division is repeated. Results. The verification of the reliability of the developed method was carried out on a numerical example of a transport graph of nine vertices. There are two routes for four cargo unloading points. After their division, four motion patterns are obtained, containing two vertices. The results were compared with the Clark-Wright calculation data. Conclusions. It is established that the proposed method of dichotomous routing allows to obtain the optimal scheme of motion.
Key words, transport, routing, graph algorithm, method of fictitious nodes and branches, control top, circular movement scheme.
Введение
Расчет маршрута передвижения груза моделируется транспортным графом.Транспортным называется граф с указанными базовыми (грузообра-зующими) вершинами и пунктами разгрузки или погрузки груза. Эффективность логистического сопровождения товара зависит от решения задачи маршрутизации. В общем случае возможны две ее постановки -однокольцевая и многокольцевая развозка груза. Первая решается без анализа грузоподъемности транспортного средства, а вторая с его учетом. Все остальные виды задач, упоминающиеся в литературе, являются частными вариантами двух выше указанных. Следует отметить, что данное исследование не распространяется на решение экономической транспортной задачи, которая относится к вопросу распределения материальных потоков от грузоотправителей, а не к проблеме маршрутизации.
Первый тип задачи возникает, когда начальный и конечный пункты передвижения совпадают с базовым и образуется один кольцевой маршрут. Задача поиска оптимального пути по нему при посещении пунктов разгрузки один раз относится к классической задаче «коммивояжера». Если после разгрузки автомобиль не возвращается на базу, то получают разомкнутый маршрут. Его поиск сводится к задаче «коммивояжера» путем создания фиктивной кольцевой схемы движения [1]. Задача маршрутизации в форме модели «коммивояжера», по мнению всех исследователей, является NP-трудной. Ее анализ показал, что причина заключается в древовидности ее решения с большим количеством ветвей, которое не может быть найдено за полиномиальное время.
Второй тип задачи маршрутизации характерен для комбинированной и интегрированной систем доставки грузов [2-5]. Для ее решения используются приближенные эвристические методы. В литературе имеются различные виды их классификации, например [6].
Общим недостатком эвристических методик является многоэтапная схема расчета, требующая проведения отдельных операций, связанных с декомпозицией, последующей кластеризацией и определением оптимальной схемы передвижения внутри них. В результате ограничивается возможность поиска оптимальной ветви в глубину на всей транспортной сети по выбранному критерию целевой функции. Поэтому часто найденное решение требует дополнительной проверки и его оптимизации с помощью метода рекурсии, с использованием различных методик, например [6, 7].
Данное исследование направлено на устранение указанных недостатков при многокольцевой задаче маршрутизации для комбинированной системы доставки товара с одной базовой вершиной.
Модель и алгоритм расчета
Формулировка задачи состоит в следующем. Задан транспортный граф. Вес груза в каждом пункте одинаков. Установлено количество маршрутов и число пунктов в каждом из них в зависимости от грузоподъемности транспортных средств. Требуется провести дихотомическую маршрутизацию с целью нахождения минимальной длины маршрута.
Для решения задачи используем точный метод фиктивных узлов и ветвей (ФУВ) с использованием контрольных узлов [2]. При этом в модель [2] введено несколько изменений, геометрическая интерпретация которых представлена на рис. 1.
Рис. 1. Геометрическая модель маршрутизации
Буквой Б обозначена действительная база, а буквами ФБ - вводимая фиктивная базовая вершина. Контрольные узлы обозначены К и Ку. В качестве них выступает конечный пункт разгрузки на каждом маршруте. Они соединяются с базами ориентированными холостыми пробегами. Каждое искомое кольцо представляется цепью. На рисунке точками изображены промежуточные пункты разгрузки груза в каждом кольце. Выполнение ограничений по количеству вершин достигается поиском и блокировкой ветвей на дереве решений, приводящими к их невыполнению. После проведения первого этапа дихотомического разделения полученные кольца делятся аналогично еще раз пополам до нужного количества пунктов в каждом кольцевом маршруте.
Алгоритм решения задачи маршрутизации состоит в следующем:
1. Вводим в транспортный граф фиктивную базовую вершину.
2. Соединяем ее с действительными узлами фиктивными связями.
3. Выбираем контрольные вершины.
4. Назначаем ориентированные ветви от контрольных вершин в фиктивную и действительную базы.
5. Назначаем ориентированные хорды, идущие от действительной и фиктивной баз в смежные узлы.
6. Исключаем связи между контрольными узлами.
7. Составляем расчетную матрицу расстояний.
8. Производим в расчетной матрице операцию приведения.
9. Выполняем оценку элементов расчетной матрицы.
10. Включаем в маршрут ветвь с наибольшей оценкой.
11. Производим формирование цепей маршрута.
12. Проверяем выполнение ограничений по количеству вершин в цепях маршрута по условию задачи.
13. Если полученные параметры маршрута превышают установленные ограничения, то блокируем в оценочной матрице хорду с наибольшей оценкой.
14. Возвращаемся в пункт 8.
15. Вычеркиваем в оценочной матрице ветвь с наибольшей оценкой.
16. Получаем новую расчетную матрицу меньшего размера.
17. Блокируем ветви против зацикливания.
18. Возвращаемся в пункт 8.
19. Рациональный маршрут выбирается из сравнения всех вариантов сочетаний вычеркивания ветвей на дереве решений для выбранных контрольных узлов.
20. Возвращаемся в пункт 3.
21. Оптимальный маршрут выбирается из сравнения рациональных вариантов, полученных при рассмотрении всех схем сочетаний контрольных вершин.
Следует отметить, что пункты 7-12 аналогичны алгоритму метода ветвей и границ [8].Таким образом, благодаря применению метода ФУВ и принятой расчетной модели транспортного графа задача маршрутизации сведена к поиску только одного оптимального маршрута, проходящего через все базы и пункты разгрузки при удовлетворении установленных ограничений.
Рассмотрим результат применения разработанного алгоритма на численном примере.
Численный эксперимент
Требуется доставить в каждую из вершин транспортного графа из восьми пунктов груз весом 1 т автомобилем грузоподъемностью 2 т. Базовая вершина одна. Необходимо запроектировать кольцевые маршруты наименьшей суммарной длины. Матрица расстояний представлена в табл. 1.
Таблица 1
Матрица расстояний
1 2 3 4 5 6 7 8 Б
1 3 4 6 7 8 2 5 1
2 3 5 3 6 4 2 6 8
3 4 5 6 3 4 3 5 4
4 6 3 6 6 7 8 1 5
5 7 6 3 6 3 2 5 5
6 8 4 4 7 3 7 6 3
7 2 2 3 8 2 7 4 6
8 5 6 5 1 5 6 4 2
Б 1 8 4 5 5 3 6 2
По условию задачи при максимальной загрузке автомобиля потребуется четыре кольцевых маршрута с двумя пунктами разгрузки в каждом из них. Расчет производим в два этапа. На первом этапе производим дихотомическое деление на два маршрута по четыре пункта разгрузки в каждом. На втором этапе полученные кольца делим еще раз пополам.
Вводим в транспортный граф фиктивную базовую вершину и соединяем ее со смежными узлами фиктивными ориентированными хордами. Выполняем первый этап. Выбираем в качестве примера контрольные узлы 8 и 3. Выполняем пункты 4, 5, 6 и 7 алгоритма. Геометрическая схема модели расчета показана на рис. 1. Расчетная матрица показана в табл. 2.
Таблица 2
Расчетная матрица
1 2 3 4 5 6 7 8 Б ФБ
1 3 4 6 7 8 2 5
2 3 5 3 6 4 2 6
3 4
4 6 3 6 6 7 8 1
5 7 6 3 6 3 2 5
6 8 4 4 7 3 7 6
7 2 2 3 8 2 7 4
8 2
Б 1 8 5 5 3 6
ФБ 1 8 5 5 3 6
Выполняем пункты 8 и 9 алгоритма и получаем оценочную матрицу (табл. 3).
Таблица 3
Оценочная матрица
1 2 3 4 5 6 7 8 Б ФБ
1 1 1 3 5 5 1 0 3
2 1 2 3 0 4 1 0 0 4
3 да 0
4 5 2 4 5 5 7 4 0
5 5 4 0 0 3 1 0 0 0 3
6 5 1 0 0 3 0 0 4 3
7 0 0 1 0 0 0 5 0 0 4 2
8 да 0
Б 1 0 7 3 4 1 5
ФБ 1 0 7 3 4 1 5
В табл. 3 последовательно вычеркиваем ветви с наибольшими оценками: 3-Б, 8-ФБ, 4-8 и 2-4, которые выделены. Блокируем ячейки ФБ-4 и ФБ-2. Производим формирование цепи маршрута согласно пункту 11 из удаленных хорд: 2-4-8-ФБ. По условию 12 алгоритма сравниваем параметры цепи с наложенным ограничением по количеству пунктов при постановке задачи. Количество вершин в цепи не превышает допускаемого значения. Не хватает одной вершины. Выполняем пункт 15 алгоритма. Получаем новую оценочную матрицу меньших размеров, представленную в табл. 4. В матрице имеется пять ветвей на дереве решений с одинаковой оценкой 1: 1-7, 7-2, Б-1, ФБ-1 и 5-6. Необходимо рассмотреть вычеркивание всех вариантов. В качестве примера рассмотрим удаление хорды Б-1. Новая оценочная матрица представлена в табл. 5, где ячейка 1-3 заблокирована против зацикливания. В последней строке выполнена операция приведения. Наибольшую оценку имеет ветвь ФБ-6, поэтому она удаляется. Остается матрица размером 4^4 элемента (табл. 6). Здесь блокируем ячейку 6-1 против образования цикла. Две ветви: 1-7 и 7-2 имеют одинаковую оценку 1. В качестве примера включаем хорду 1-7 в маршрут. Выполняем пункт 11. Получены цепи: 2-4-8-ФБ-6 и Б-1-7. В каждой из них имеется менее 4 вершин разгрузки груза. Пункт 13 алгоритма не выполняется. Переходим в 15-й пункт и удаляем в табл. 6 ветвь 1-7.
Таблица 4
Оценочная матрица
1 2 3 5 6 7
1 1 1 5 5 1 0
5 5 4 0 0 1 0 0 0
6 5 1 0 0 0 0 4
7 0 0 1 0 0 0 0 0 4
Б 1 0 7 4 1 5
ФБ 1 0 4 1 5
Таблица 5
Оценочная матрица
2 3 5 6 7
1 1 да 5 5 1 0
5 4 0 0 0 0 0 0
6 1 0 0 0 0 4
7 1 0 0 0 0 0 4
ФБ 3 3 0 4
Оценочная матрица
2 3 5 7
1 1 5 1 0
5 4 0 0 0 0
6 да 0 0 0 0 4
7 1 0 0 0 0 0
Получаем оценочную табл. 7, в которой блокируем ячейку 7-3 против зацикливания. Наибольшую оценку имеют ветви 5-3 и 7-2. При включении хорды 7-2 в маршрут образуется цепь Б-1-7-2-4-8-Б с пятью вершинами разгрузки. Этот вариант отбрасываем.
Если вычеркнуть сначала ветвь 5-3, то получаем тот же вариант. Таким образом, пункт 13 алгоритма выполняется. Необходимо заблокировать ячейку 5-3 в табл. 7 и возвратиться в пункт 8 алгоритма. Получаем табл. 8, в которой хорды 5-2 и 6-3 имеют максимальные оценки. Их поочередное включение в маршрут приводит к превышению количества вершин в цепи более 4. Это превышает ограничение.
Таблица 7
Оценочная матрица
2 3 5
5 4 4 0
6 0 0 0 0
7 4 0 да 0 0
Если заблокировать в табл. 7 клетку 7-2, то также получаем превышение ограничения по числу вершин в цепи. Возвращаемся в табл. 6 и блокируем в ней ячейку 1-7, согласно пункту 13 алгоритма. Получаем оценочную табл. 9. Максимальные оценки имеют хорды 1-2 и 5-7. В качестве примера удалим в табл. 9 ветвь 1-2. Включаем ее в цепь Б-1-2-4-8-Б, которая удовлетворяет наложенному ограничению. Первое кольцо найдено. Переходим к нахождению второго маршрута. Следовательно, переходим к матрице 3x3, (табл. 10). Блокируем ячейку 6-3 против зацикливания.
Таблица 8
Оценочная матрица
2 3 5
5 да 0 да
6 да 0 0 0
7 0 0 0
Оценочная матрица
2 3 5 7
1 4 0 4 да
5 4 0 0 4 0
6 0 0 0 0 4
7 0 0 0 0 0 0
Таблица 10
Оценочная матрица
3 5 7
5 0 0 4 0
6 да 4 0 4
7 0 0 0 0
Таблица 11
Оценочная матрица
3 7
5 да 4 0
7 0 0
Проверяем вначале вычеркивание в табл. 10 ветви 6-5. Получаем матрицу 2^2, в которой блокируем ячейку 5-3. Здесь хорды 5-7 и 7-3 удаляются однозначно (табл. 11).
Во втором кольце получили четыре пункта разгрузки: ФБ-6-5-7-3-Б. Условие по ограничению пунктов выполняется. Вычеркивание ветви 5-7 в табл. 9 и блокировка ячейки 7-2 в табл. 6 не улучшает ранее найденный маршрут. Отбрасывая фиктивную базу, получаем первый оптимальный маршрут из двух колец: первое Б-1-2-4-8-Б длиной 10 км и второе Б-6-5-7-3-Б длиной 15 км. Рассмотрение других вариантов удаления ветвей в табл. 4 - 1-7, 7-2, ФБ-1 и 5-6 - не изменяет длину всего оптимального маршрута 25 км, но дает второй маршрут передвижения: третье кольцо Б-6-2-4-8-Б длиной 13 км и четвертое Б-1-7-5-3-Б длиной 12 км.
Рассмотрим остальные варианты сочетания контрольных узлов. При контрольных вершинах: 1 и 6, 3 и 6 получаем второй оптимальный маршрут. При остальных их комбинациях получаются худшие варианты.
Переходим ко второму этапу расчета. Делим каждое кольцо из четырех пунктов пополам. Расчет производим аналогично первому этапу. В результате из первого кольца имеем оптимальные варианты - Б 8-4-Б длиной 8 км и Б-2-1-Б длиной 12 км. При расчете второй схемы Б-6-5-7-3-Б получаем варианты колец длиной по 24 км: Б-7-5-Б и Б-6-3-Б, Б-5-6-Б и Б-7-3-Б. При расчете второго маршрута из третьего кольца найдем следующие два варианта оптимальных схем по 23 км: Б-8-4-Б и Б-6-2-Б, Б-4-2-Б и Б-8-6-Б. Из четвертого кольца получаем один вариант передвижения - Б-1-7-Б и Б-3-5-Б длиной 21 км. Таким образом, наименьшая суммарная длина колец из двух пунктов разгрузки составляет 44 км.
Сравним полученные данные с результатами расчета представленного примера по методу Кларка-Райта [9]. Функция выгоды представлена в табл. 12.
Таблица 12
Функция выгоды
1
2 2
1 3 3
0 4 1 4
2 5 6 2 5
0 3 3 0 5 6
2 5 4 1 6 1 7
0 2 1 4 2 0 1 8
Из табл. 12 находим маршруты из четырех пунктов: Б-3-5-7-2-Б длиной 19 км и Б-6-8-4-1-Б длиной 17 км. Их общая длина составляет 36 км, что превышает расстояние 25 км, определенное методом дихотомической маршрутизации. При двух пунктах в кольце получаем следующие схемы передвижения: Б-3-5-Б, Б-2-7-Б, Б-4-8-Б, Б-1-6-Б с общей длиной 48 км. Это значение превышает оптимальное на 4 км.
Выводы
Таким образом, представленная методика дихотомической маршрутизации цепями дает более точный результат по сравнению с методом Кларка-Райта [9]. Отметим, что разработанную методику ввода фиктивных баз и контрольных пунктов, а также алгоритм расчета можно использовать при поиске на каждом этапе более двух колец, но вопрос поиска блокировочных ветвей требует дополнительного исследования.
Библиографический список
1. Подшивалова, К. С. Разделение транспортной сети на радиальные маршруты / К. С. Подшивалова // Материалы Международной научно-практической конференции : в 2 ч. - Волгоград : ВолгГТУ, 2009. - Ч. 2. - С. 133-135.
2. Подшивалов, С. Ф. Проектирование маршрутов с контрольной вершиной из разных центров / С. Ф. Подшивалов, К. С. Подшивалова, Ю. В. Родионов // Мир транспорта и технологических машин. - Орел, 2011. - № 1. - С. 25-30.
3. Подшивалова, К. С. Проектирование рациональной схемы движения грузопотоков в интегрированной системе доставки грузов / К. С. Подшивалова, С. Ф. Подшивалов, Ю. В. Родионов // Автотранспортное предприятие. - Орел, 2013. - № 3. -С. 51-56.
4. Родионов, Ю. В. Маршрутизация маятниковых и кольцевых маршрутов между несколькими базами снабжения / Ю. В. Родионов, К. С. Подшивалова, С. Ф. Подшивалов // Вестник Таджикского технического университета. - 2012. - № 1 (17). -С. 79-83.
5. Николин, В. И. Грузовые автомобильные перевозки / В. И. Николин, Е. Е. Вит-вицкий, С. М. Мочалин. - Омск : Вариант-Сибирь, 2004. - 480 с.
6. Пожидаев, М. С. Алгоритмы решения задачи маршрутизации транспорта : авто-реф. дис. ... канд. техн. наук / Пожидаев М. С. - Томск, 2010.
7. Прокофьева, О. С. Разработка методики оптимизации развозочных маршрутов : автореф. дис. . кан. техн. наук / Прокофьева О. С. - Иркутск, 2004.
8. Littl, J. D. C. An algoritm for thethe traveling salesman problem / J. D. C. Littl, K. G. Murty, D. Sweeney, C. Karel // Operations Research. -1963. - Vol. 11. - Р. 972-989.
9. Clarke, G. Scheduling of vehicles from a central depot to a number of delivery points / G. Clarke, J. W. Wright // Operations Research. - 1964. - Vol. 12. - № 4. - P. 568-581.
Подшивалова Кристина Сергеевна кандидат технических наук, доцент, кафедра организации и безопасности движения, Пензенский государственный университет архитектуры и строительства E-mail: sharm-08@bk.ru
Подшивалов Сергей Федорович кандидат технических наук, доцент, кафедра общепрофессиональных дисциплин,
филиал Военной академии материально-технического обеспечения (г. Пенза) E-mail burobaola@mail.ru
Podshivalova Christina Sergeyevna candidate of technical sciences, associate professor, sub-department of organization and traffic safety,
Penza State University of Architecture and Construction
Podshivalov Sergey Fedorovich
candidate of technical sciences,
associate professor,
sub-department of general
professional disciplines,
branch of Military Academy of Logistics
(Penza)
УДК 656.135.073 Подшивалова, К. С.
Дихотомическая маршрутизация транспортного графа / К. С. Подшивалова, С. Ф. Подшивалов // Модели, системы, сети в экономике, технике, природе и обществе. - 2018. - № 1 (25). - C. 178-187.