Алгоритм оптимизации маршрутов патрулирования с использованием сервиса онлайн-карт

В.В. Меньших,

доктор физико-математических наук, профессор

Д.Ю. Калков,

кандидат технических наук

А.В. Кузнецов,

МВД по Чувашской Республике

АЛГОРИТМ ОПТИМИЗАЦИИ МАРШРУТОВ ПАТРУЛИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ СЕРВИСА ОНЛАЙН-КАРТ

ALGORITHM FOR THE OPTIMIZATION OF PATROL ROUTES USING ONLINE MAPS

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

The paper presents an algorithm for optimizing patrol routes. To obtain accurate data on the road network of the settlement, it is proposed to use open online map services.

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

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

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

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

- сложившаяся оперативная обстановка. В условиях сложной оперативной обстановки к патрулю предъявляются повышенные требования, при которых необходимо проявлять большую бдительность и максимально ответственно подходить к анализу обстановки в ходе движения по маршруту, что приводит к необходимости снижения скорости перемещения;

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

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

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

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

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

Основным критерием оптимальности при построении маршрута патрулирования является промежуток времени, затрачиваемый нарядами на объезд установленной территории, так как рассматривать оптимальность маршрута движения, опираясь только на его протяженность будет неверно. Часто встречаются ситуации, когда кратчайший маршрут движения между двумя точками сильно загружен и гораздо выгодней будет движение в объезд по более протяженному маршруту [1].

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

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

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

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

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

Для решения множества постановок данной задачи есть наиболее популярные алгоритмы поиска кратчайшего пути на графе [4]:

- алгоритм Дейкстры находит кратчайший путь из вершины графа до всех остальных;

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

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

- алгоритм Флойда — Уоршелла находит кратчайшие пути между всеми вершинами взвешенного ориентированного графа;

- алгоритм Джонсона находит кратчайшие пути между всеми парами вершин взвешенного ориентированного графа.

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

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

В настоящее время для решения задач поиска оптимального маршрута движения активно используются различные интернет-сервисы, такие как «Яндекс карты», «Google Maps», «2GIS» и другие.

Российский сервис «Яндекс карты» в своих технологиях маршрутизации также применяет алгоритм Дейкстры [4], с помощью которого система вычисляет самый быстрый вариант проезда, исходя из длины каждого отрезка графа и скорости движения на этом участке. Если пользователь строит маршрут проезда без учёта заторов, то алгоритм использует среднюю скорость движения на участке, а если хочет знать, как быстрее всего добраться до места с учётом ситуации на дороге, то алгоритм задействует данные о текущей ситуации на дороге.

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

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

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

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

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

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

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

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

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

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

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

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

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

В данном случае рассматривается вариант нахождения оптимального маршрута от вершины 1 до вершины 8. На первом этапе рассматривается два варианта движения: от вершины 1 до вершины 2 и до вершины 4. В результате прохождения до вершины 2

суммарный вес ребер будет равен единице, а при движении до вершины 4 — двум. Таким образом, определено, что путь до точки 1 меньше, чем до точки 4, следующий этап построения алгоритм продолжит уже из точки 2.

На втором этапе рассматриваются варианты движения из точки 2 к точкам 3 и 5. С каждым следующим этапом одновременно рассматривается суммарный вес ребер при движении к следующей соседней вершине. Необходимо учитывать, что в данном методе каждую вершину графа можно пройти только один раз. Алгоритм заканчивает работу, когда нельзя больше обработать ни одной вершины (рис. 1, б).

Введем следующие обозначения:

V — множество вершин графа;

Е — множество рёбер графа;

«[у] — вес (длина) ребра у;

а — вершина, расстояния от которой ищутся;

и — множество посещённых вершин;

$[п] — по окончании работы алгоритма равно длине кратчайшего пути из а до вершины и;

р[и] — по окончании работы алгоритма содержит кратчайший путь из а в и;

V — вершина графа.

а) б)

Рис. 1. Пример реализации алгоритма Дейкстры на графовой модели дорожной сети

В общем виде алгоритм решения выглядит следующим образом:

1) присвоим ^[а] ^ 0, р[а] ^ 0;

2) для всех и Е V отличных от а присвоим ^[и] ^ ю;

3) пока Зи £ и;

4) пусть и£ и — вершина с минимальным

5) занесем V в и;

6) для всех и £ и таких, что гм Е Е;

7) если ^[и] > + ю[ии], то изменим ^[и] ^ + ю[ии];

8) изменимр[и] ^ (р[и],и).

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

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

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

соседние с ней вершины u. Если в них (в п) расстояние больше, чем сумма расстояния до текущей вершины и длина ребра, то необходимо уменьшить его. Цикл завершается, когда флаги всех вершин становятся равными 1.

Сложность алгоритма Дейкстры зависит от способа нахождения вершины v, а также способа хранения множества непосещенных вершин и способа обновления меток. Обозначим через п количество вершин, а через m — количество рёбер в графе G.

В простейшем случае, когда для поиска вершины с минимальным d[v] просматривается всё множество вершин, а для хранения величин ё используется массив, время работы алгоритма есть 0(п2). Основной цикл выполняется порядка п раз, в каждом из них на нахождение минимума тратится порядка п операций. На циклы по соседям каждой посещаемой вершины тратится количество операций, пропорциональное количеству рёбер m (поскольку каждое ребро встречается в этих циклах ровно дважды и требует константное число операций). Таким образом, общее время работы алгоритма 0(п2 + т), но, так как т < п(п — 1), оно составляет 0(п2) [5].

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

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

Данный граф отображает варианты перемещения по маршруту из точки 1 с посещением промежуточных точек 2, 3, 4 и возвращением в первую точку.

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

В общем случае выполнение алгоритма будет завершено, когда все ветви графа будут пройдены.

Первый шаг выполнения алгоритма Второй шаг выполнения алгоритма Третий шаг выполнения алгоритма

а) б)

Рис. 2. Обход графа в глубину с поэтапным анализом суммы ребер

в)

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

В контексте текущей задачи оптимизации при использовании данного метода количество вариантов будет рассчитываться по формуле нахождения факториала от числа начальных точек К = п\, где K — количество вариантов оптимизации, n — количество первоначальных точек.

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

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

Программная реализация алгоритма оптимизации маршрутов патрулирования. На основании разработанной модели оптимизации маршрутов групп реагирования подразделений ОВД была разработана компьютерная программа «Оптимизация маршрутов групп реагирования подразделений ОВД». Она предназначена для:

- построения маршрутов движения групп реагирования по контрольным точкам на карте местности;

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

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

- расчета протяженности полученного маршрута;

- визуального отображения полученного маршрута.

Программа позволяет производить вышеперечисленные операции на территории любого региона Российской Федерации.

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

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

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

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

ЛИТЕРАТУРА

1. Меньших В. В., Калков Д. Ю. Оценки своевременного прибытия группы задержания на охраняемы объект по сигналу тревоги // Вестник Воронежского института МВД России. — 2014. — № 3. — С. 66—72.

2. Меньших В. В., Калков Д. Ю. Оптимизация распределения групп реагирования по объектам защиты // Информационная безопасность регионов. — 2014. — № 4 (17). — С. 47—53.

3. Романов М. С., Пьянков О. В., Сухорукова О. Б. Имитационное моделирование процессов принятия решений в ситуационных центрах органов внутренних дел // Вестник Поволжского государственного университета. — 2016. — № 4. — С. 63—74.

4. Дискретная математика : учебник: рек. ЮгРОУМО вузов по образованию / В. В. Меньших, А. Н. Копылов, В. А. Кучер, С. А. Телкова. — Воронеж : ВИ МВД России, 2016. — 228 с.

5. Левитин А. В. Жадные методы: алгоритм Дейкстры // Алгоритмы. Введение в разработку и анализ. — М. : Вильямс, 2006. — 576 с.

REFERENCES

1. Menshih V. V., Kalkov D. Yu. Otsenki svoevremennogo pribyitiya gruppyi za-derzhaniya na ohranyaemyi ob'ekt po signalu trevogi // Vestnik Voronezhskogo instituta MVD Rossii. — 2014. — # 3. — S. 66—72.

2. Menshih V. V., Kalkov D. Yu. Optimizatsiya raspredeleniya grupp reagirovaniya po ob'ektam zaschityi // Informatsionnaya bezopasnost regionov. — 2014. — # 4 (17). — S. 47—53.

3. Romanov M. S., Pyankov O. V., Suhorukova O. B. Imitatsionnoe modelirovanie pro-tsessov prinyatiya resheniy v situatsionnyih tsentrah organov vnutrennih del // Vestnik Pov-olzhskogo gosudarstvennogo universiteta. — 2016. — # 4. — S. 63—74.

4. Diskretnaya matematika : uchebnik: rek. YugROUMO vuzov po obrazovaniyu / V. V. Menshih, A. N. Kopyilov, V. A. Kucher, S. A. Telkova. — Voronezh : VI MVD Rossii, 2016. — 228 s.

5. Levitin A. V. Zhadnyie metodyi: algoritm Deykstryi // Algoritmyi. Vvedenie v raz-rabotku i analiz. — M. : Vilyams, 2006. — 576 s.

СВЕДЕНИЯ ОБ АВТОРАХ

Меньших Валерий Владимирович. Профессор кафедры математики и моделирования систем. Доктор физико-математических наук, профессор, почётный сотрудник высшего профессионального образования Российской Федерации.

Воронежский институт МВД России.

E-mail: menshikh@list.ru.

Россия, 394065, г. Воронеж, проспект Патриотов, 53. Тел. (473) 200-52-10.

Калков Дмитрий Юрьевич. Старший преподаватель кафедры радиотехнических систем и комплексов охранного мониторинга. Кандидат технических наук.

Воронежский институт МВД России.

E-mail: DmitreyRUS@mail.ru.

Россия, 394065, г. Воронеж, проспект Патриотов, 53. Тел. (473) 200-52-03.

Кузнецов Артем Вячеславович. Инженер.

МВД по Чувашской Республике.

E-mail: nimistren@gmail.com.

Россия, 428000, г. Чебоксары, ул. К. Маркса, 41. Тел. (8352)-62-04-76.

Menshikh Valery Vladimirovich. Professor of chair of Mathematics and Systems Modeling. Doctor of Physical and Mathematical Sciences, Professor.

Voronezh Institute of the Ministry of the Interior of Russia.

E-mail: menshikh@list.ru.

Work address: Russia, 394065, Voronezh, Prospect Patriotov, 53. Tel. (473) 200-52-10.

Kalkov Dmitry Yuryevich. Senior lecturer of the Department of radio engineering systems and security

monitoring systems. Candidate of Engineering Sciences

Voronezh Institute of the Ministry of the Interior of Russia.

E-mail: DmitreyRUS@mail.ru.

Work address: Russia, 394065, Voronezh, Prospect Patriotov, 53. Tel. (473) 200-52-03.

Kuznetsov Artem Vyacheslavovich.

The Interior Ministry of the Chuvash Republic.

E-mail: nimistren@gmail.com.

Work address: Russia, 428000, Cheboksary, K. Marxa Str., 41. Tel.(8352)-62-04-76.

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

Key words: optimization; patrol route; Dijkstra algorithm; online maps; decision support.

УДК 519.816: 351.74