Разработка алгоритма для решения задачи маршрутизации транспорта в городских условиях

УДК 004.021

РАЗРАБОТКА АЛГОРИТМА ДЛЯ РЕШЕНИЯ ЗАДАЧИ МАРШРУТИЗАЦИИ ТРАНСПОРТА

В ГОРОДСКИХ УСЛОВИЯХ

С.А. Коваленко, В.Ф. Барабанов, Н.И. Гребенникова

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

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

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

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

Ключевые слова: задача маршрутизации транспорта, алгоритм поиска рационального маршрута, оценка алгоритмов

Введение

Задачи маршрутизации автотранспорта являются ключевыми задачами в области логистики. Доставка товара в большинстве случаев добавляет к его стоимости сумму, сравнимую со стоимостью самого товара, поэтому поиск рационального решения в целях снижения транспортных затрат является актуальным [1-4].

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

Постановка задачи

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

представленной в виде графа.

При решении данной задачи следует

Коваленко Сергей Александрович - ВГТУ, магистрант, e-mail: sergpc@yandex.ru

Барабанов Владимир Федорович - ВГТУ, д-р техн. наук, профессор, e-mail: bvf@list.ru

Гребенникова Наталия Ивановна - ВГТУ, канд. техн. наук, доцент, e-mail: g-naty@yandex.ru

рассматривать следующие особенности задачи:

- геометрическая задача (планарная, матрица расстояний отражает расстояния между точками на плоскости);

- симметричная и асимметричная задачи.

В общем виде алгоритм поиска рационального маршрута в городских условиях представлен на рис. 1.

Пуск

Формирование матрицы смежностей

Решение задачи коммивояжера для сформированной матрицы

Останов

Рис. 1. Базовый алгоритм поиска рационального маршрута в городских условиях

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

Следует заметить, что задача для ситуации с городским графом имеет свои особенности,

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

расстояниями между точками. С учетом этого факта, получаем модифицированный алгоритм поиска рационального маршрута,

представленный на рис. 2.

Пуск

Формирование 1 матрицы смежностей на основании

геометрического расположения точек

Расчет расстояний

для найденного оптимального пути

Решение задачи коммивояжера для сформированной матрицы

Останов

Рис. 2. Модифицированный алгоритм поиска

рационального маршрута в городских условиях

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

s = (аг]~акт)2

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

Оценка сложности комбинаций алгоритмов

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

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

алгоритмы:

- алгоритм «Astar»;

- алгоритм Дейкстры [6].

Для этапа поиска кратчайшего пути между точками по матрице смежностей реализованы следующие алгоритмы:

- метод простого перебора;

- метод ветвей и границ (частный случай -метод Литтла).

Рассмотрим алгоритмы решения задачи для n узлов, базовый алгоритм представляет следующее:

- формирование матрицы смежностей для N+1 узлов (n и начальная точка), при формировании матрицы необходимо произвести расчет времени достижения (N+1) * N оптимальных путей между точками (время работы алгоритма Дейстры O(n2), а время работы «A star» —O(logh*(n)) );

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

В итоге имеем следующие вариации базового алгоритма:

- формирование матрицы смежностей (алгоритм Дейкстры), решение задачи коммивояжера (полный перебор), предполагаемая сложность -O(n2) *(N+1) *N+O(N!);

- формирование матрицы смежностей (алгоритм «А star»), решение задачи коммивояжера (полный перебор), предполагаемая сложность -(O(logh*(n))) *(N+1) *N+O(N!);

- формирование матрицы смежностей (алгоритм Дейкстры), решение задачи коммивояжера (метод ветвей и границ), предполагаемая сложность -O(n2) *(N+1) *N+O(N!);

- формирование матрицы смежностей (алгоритм «А star»), решение задачи коммивояжера (метод ветвей и границ), предполагаемая сложность - (O(log h*(n)))*(N+1)*N+O(N3ln2(N)) [7].

Вариации модифицированного алгоритма

Вариации модифицированного алгоритма представлены далее.

При формировании матрицы смежностей

для N+1 узлов необходимо произвести расчет геометрических расстояний между точками по формуле

s (aij akm) ,

т. е. время выполнения алгоритма O(N2).

Решение задачи для сформированной матрицы смежностей на основе геометрических расстояний будет рациональным для городов с преимущественно прямоугольной планировкой, при выходе за пределы города этот алгоритм может не дать рациональных результатов, в таком случае следует использовать реализацию базового алгоритма. Скорости алгоритма решения задачи коммивояжера такие же, как и в базовом алгоритме (перебор—O(N!), метод ветвей и границ - N за время O(n3ln2(n)) ).

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

Вычислять их стоит одним из реализованных методов поиска рационального пути между точками (алгоритм Дейкстры или «A star»). Всего необходимо вычислить N + 1 расстояний, т. е.

сложность этой

2

части

алгоритма следующая: O(n2) * (N + 1) при использовании алгоритма Дейкстры, O(logh*(n)) ) * (N+1)- при использовании алгоритма «A star».

Резюмируя, получим следующие варианты модифицированного алгоритма:

- формирование матрицы смежностей (координатный метод), решение задачи коммивояжера (полный перебор), вычисление оптимального пути (алгоритм Дейкстры), предполагаемая сложность O(N2) + O(N!) + O(n2) * (N + 1);

- формирование матрицы смежностей (координатный метод), решение задачи коммивояжера (полный перебор), вычисление оптимального пути (алгоритм «A star»), предполагаемая сложность O(N2) + O(N!) + O(logh*(n))) * (N+1);

- формирование матрицы смежностей (координатный метод), решение задачи коммивояжера (метод ветвей и границ), вычисление оптимального пути (алгоритм Дейкстры), предполагаемая сложность O(N2) + O(n3ln2(n))) + O(n2) * (N + 1);

- формирование матрицы смежностей (координатный метод), решение задачи коммивояжера (метод ветвей и границ), вычисление оптимального пути (алгоритм «A

star»), предполагаемая сложность O(N2) +O(n3ln2(n))) + O(logh*(n)))*(N+1).

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

Комбинированный алгоритм поиска

оптимального маршрута в городских условиях

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

- NOptim—количество узлов для переключения с базового алгоритма на оптимизированный (учитывается ЕпаЫеОр^);

- NmOptim—количество узлов для безусловного переключения с базового алгоритма на оптимизированный (всегда больше NmaxOptim), для случаев с «очень большим» количеством узлов для посещения величина введена для того, чтобы уменьшить нагрузку на вычислительное устройство при формировании матрицы смежностей;

- NmaxEnumerat—кол-во узлов для переключения с метода полного перебора на метод ветвей и границ;

- EnableOpt—допустимость использования оптимизированного алгоритма (в случае, если задача решается в пределах городского графа), N —количество узлов, которые необходимо посетить.

Определить NmmaxOption и NmaxOption следует эмпирически.

Литература

1. Плотников О.А. Решение задачи поиска оптимального пути между двумя точками на графе с нерегулярным весом ребер / О.А. Плотников, Е.С. Подвальный // Вестник Воронежского государственного технического университета.- 2012. - Т. 8. № 6. - С. 22-26.

2. Плотников О.А. Разработка меметического алгоритма для решения задач оптимального планирования грузоперевозок / О.А. Плотников, Е.С. Подвальный // Вестник Воронежского государственного технического университета.- 2012. - Т. 8. № 10.1.- С. 19-24.

3. Плотников О.А. Разработка алгоритма для комплексного решения задач транспортной логистики / О.А. Плотников, Е.С. Подвальный // Вестник Воронежского государственного технического университета. -2011. - Т. 7. № 11. - С.102-105.

4. Плотников О.А. Решение задач многоальтернативной маршрутизации грузоперевозок с помощью эволюционных методов / О.А. Плотников, Е.С. Подвальный // Системы управления и информационные технологии. 2013. - Т. 51. № 1.1. - С. 187-192.

5. Мудров В.А. Задача о коммивояжере: учеб. пособие для вузов / В.А. Мудров. - 1-е изд. - М.: Знание, 1969. - 66 с.

6. Russel J. Алгоритм Дейкстры / J. Russel, R. Cohn. - СПб.: Символ Плюс, 2012. - 112 с.

7. Smith N. On the computational complexity of branch and bound search strategies Publisher Monterey / N. Smith, R. Douglas. - California: Naval Postgraduate School, 2012. - 108 c.

Рис. 3. Модифицированный алгоритм с переключениями

Воронежский государственный технический университет

DEVELOPMENT OF AN ALGORITHM FOR FINDING AN OPTIMAL ROUTE IN URBAN

ENVIRONMENT

S.A. Kovalenko1, V.F. Barabanov2, N.I. Grebennikova3

'MA, Voronezh State Technical University, Voronezh, Russian Federation e-mail: sergpc@yandex.ru 2Full Doctor, Professor, Voronezh State Technical University, Voronezh, Russian Federation

e-mail: bvf@list.ru

3PhD, Associate Professor, Voronezh State Technical University, Voronezh, Russian Federation

e-mail: g-naty@yandex.ru

Despite active use of information technology, the relevance of the problem of transport routing in urban conditions does not decrease over time, as practice poses increasingly complex problems, both in terms of the number of optimized parameters and the number of constraints taken into account when solving.

A rational algorithm for finding the optimal route is presented, taking into account the features of the directional grid, which makes it possible to reduce the number of computed paths, reducing the dimension of the original problem, thereby reducing

the time for its solution. The algorithm is called "rational" but not "optimal", because the principle of forming an adjacency matrix is changed: exact values of the matrix are not calculated, but geometrical distances between points are used. The advantage of this approach is the direct dependence of the accuracy of the algorithm on the kind of graph, since in the case of a large number of destinations, the search algorithm gives the best results from the point of view of computing resources, and the solution of the task of delivering goods using vehicles in a large city is rational.

Strict adherence to the delivery dates for the formation of rational routes helps to achieve not only minimization of operating costs, transportation of people, but also to reduce the costs of storing inventory in warehouses

Key words: routing problem, transportation algorithm for finding the optimal route, evaluation of algorithms

References

1. Plotnikov O.A., Podval'nyy E.S. "The solution of the problem of finding the optimal path between two points on a graph with irregular weight of edges", The Bulletin of Voronezh State Technical University, Voronezh, 2012, vol. 8, no. 6, pp. 22-26

2. Plotnikov O.A., Podval'nyy E.S. "Development of a memetic algorithm for solving problems of optimal planning of cargo transportation", The Bulletin of Voronezh State Technical University, Voronezh, 2012, vol. 8, no. 10-1, pp. 19-24

3. Plotnikov O.A., Podval'nyy E.S. "Development of an algorithm for the complex solution of transport logistics problems", The Bulletin of Voronezh State Technical University, Voronezh, 2011, vol. 7, no. 11, pp. 102-105

4. Plotnikov O.A., Podval'nyy E.S. "Solving the problems of multi-alternative routing of cargo transportation using evolutionary methods", Automation and Remote Control, 2013, vol. 51, no. 1.1, pp. 187-192

5. Mudrov V.A. "The problem of the traveling salesman: Tutorial." ("Zadacha o kommivoyazhere: ucheb. posob. dlya vuzov. 1-e izd"), Moscow, Znanie, 1969, 66 p.

6. Russel J., Cohn R. "Dijkstra's algorithm" ("Algoritm Deykstry"), Saint Pitersburg, Simvol Plyus, 2012, 112 p.

7. Smith N., Douglas R. "On the computational complexity of branch and bound search strategies Publisher Monterey", California, Naval Postgraduate School, 2012, 108 p.