УДК
1 2 3
В.А. Игнатюк , С.С. Ничипоренко , В.М. Ногаев
РАЗРАБОТКА МОДЕЛИ СЕТИ ДОРОГ С ПАРАМЕТРАМИ ДЛЯ ПРОКЛАДКИ КРАТЧАЙШЕГО
ПУТИ ПО АЛГОРИТМУ ДЕЙКСТРЫ.
В статье приведена реализация кратчайшего пути для алгоритма Дейкстры по модели сети дорог с параметрами. В модели дорог рассматривается такие параметры как дорожные знаки, влияющие на скорость движения и класс дорог. При использовании параметров дорожных знаков и класса дорог выделены проблемы построения и реализации на региональном уровне, также рассмотрены положительные и отрицательные стороны реализации данной модели на российской сети дорог.
На данный момент из-за большой разветвленности и протяженности дорожной сети в России, остро стоят задача нахождения
4
кратчайшего пути , а для навигационных программ - метод реализации автороутинга.
Напряжённость дорожного движения, изменчивость ситуации, непредвиденные события приводят к тому, что кратчайший путь «из точки А в точку Б» не всегда пролегает по прямой и это очевидный факт для всех, кто значительную часть своего времени проводит за рулём.
Навигационный терминал, электронные карты, бортовой компьютер помогут определить своё положение на местности и проложить маршрут. И маршрут этот будет оптимальным - если предположить, что нигде не меняют дорожное покрытие, никто не перекрыл движение на перекрёстке. Поэтому очень важна информация о ситуации на дорогах, точные карты и хорошая географическая информационная система.
В настоящее время автомобильные навигационные системы, позволяющие определять и визуально отображать координаты
1 Виктор Александрович Игнатюк, доктор технических наук, профессор. кафедры электроники ИИИБС ВГУЭС, E-mail: [email protected].
2 Сергей Сергеевич Ничипоренко, аспирант кафедры электроники ИИБС ВГУЭС, специальность 05.13.18, E-mail: [email protected]
3 Владимир Михайлович Нагаев, заведующий лаборатории кафедры электроники ИИИБС ВГУЭС,
4 Владимир, А. ГИС на транспорте. [Электронный ресурс]. / А. Владимир: Центр поддержки DATA 2008. - Режим доступа:
http://www.dataplus.ru/Industries/10TRANS/1_gis.htm.
автомобиля в реальном масштабе времени, становятся неотъемлемой частью современного автомобильного сервиса
Так же если учитывать протяжность дорог и их состояние в России, остро встает вопрос об автороутинге для любой ГИС, которая может осуществлять навигацию объекта. Автороутинг - функция автопрокладки маршрута. При использование автороутинга - очень важна модель данных дорог, на которой будить происходить прокладка кратчайшего маршрута. Так как большинство ГИС имеют различные модели дорог то, применение функции для автопрокладки в одной ГИС может не подойти для другой.
В основном дорога бывает выражена массивом координат вершин и соединяющих их ребер, а дорожная сеть, может представляет собой массив дорог. В этом случае модель будет простой и может подойти для большенства существующих ГИС, а при расчете мажет использоваться алгоритм Дейкстры1. В такой модели нет параметров обозначающих дорожные знаки, состояние дорог, направление движения, класс дороги и пр. (Рисунок 1).
V - массива дорог, где каждая дорога выражена массивом вершин: Лу = {а, Ь, с, ё, е, /, g, Ь\
1 Ничипоренко С. С. Прокладка кратчайшего пути по неориентированному графу дорог с ипользованием алгаритма Дейктстры. / Ничипоренко С.С., В.В. Сивченко, В.А. Игнатюк. - М.: 2009. - 4 с.
Бу = {і, ], с, к, /}
Су = {т, п, /, о, р, q, г}
V = {Ау, Бу, Су}
Е - массив дорог, где каждая дорога выражена массивом ребер:
Ае = {К ъ\(ъ, c), (c, й), (й, 4 (e, /), (/, g), , к)}
Бе = {(^ І), (j, с), (c, к \(к, /)}
Се = {(m, n), (n, /), (/, o), (о р), (p, q ), ^ г)}
Е = {Ае, Бе, Се}
Каждое ребро имеет вес, который представляет расстояние между вершинами в километрах.
Ае = 23+32+61+55+66+36+29=302 - длинна дороги А Ве = 68+57+52+28=205 - длинна дороги В Се = 32+31+21+20+22+25=151 - длинна дороги С Графовая модель сети дорог О состоит из множества вершин V и множество ребер Е:
а = (г, е )
В (V + |Е| )іов| V |Е| 1св| V
Временная сложность порядка или просто ,
если все вершины достижимы из исходной вершины1.
Такая модель может обеспечить автороутинг только в общих чертах и только на дорогах регионального уровня.
Для более точной прокладки кратчайшего пути необходимо учитывать параметры дорожные знаки и класс дорог, тогда сеть дорог будет иметь вид представленном на Рисунке 2.
Ау = {а, Ъ, с, й}
Бу = {е, Ъ, /, g}
Су = {к, і, с}
V = {Ау, Бу, Су}
Ае = {(а, Ъ), (Ъ, с), (с, й)}
Бе = {(е, Ъ),(Ъ,/Ц /, g)}
Се = {(к, і), (і, с)}
Е = {Ае, Бе, Се}
Каждое ребро имеет вес, который представляет время прохождения.
Ае = аЬ+Ьс+сё = 12+32+22=66 - время прохождения по
автомагистрали А
1 Сик, Д.С. Boost ОгарЬ ЬіЬгагу / Д. Сик, Лай-Кван Ли, Э. Ламсэйн - П.: Питер 2006. -183 с.
Ве = еЬ+ЬГ+Г§ = 25+21+19=45 - время прохождения по дороге В Се = Ьі+іс = 17+8=25 - время прохождения по дороге С О = ^, Е)
По правилам дорожного движения (ПДД) максимальная скорость по автомагистрали составляет 110 км/ч, по обычным дорогам 90 км/ч.
Ьссрвр. = (32+10)/2=21 - среднее время проезда по узлу Ьс аЬсрвр. = 12 - среднее время проезда по узлу ас сёсрвр. = 22 - среднее время проезда по узлу сё Аср.вр. = Ьссрвр. + ассрвр. + сёсрвр. = 18,333 - среднее время проезда по автомагистрали.
При данной модели каждое ребро представлено параметром скорости, данный параметр участвует в расчете кратчайшего пути на алгоритме Дейкстра, также каждое ребро выражено параметром класса дороги и количеством и протяженностью знаков ограничивающих скорость (Рисунок 3).
- Класс_дороги - обозначает класс дороги в котором это ребро находится;
- Колличество_знаков_ограничения - включает в себя все знаки ограничивающие скорость которые входят в данное ребро, используется
при пересчете средней скорости прохождения по ребру, если параметр равен нулю, то ребро выпадает их пересчета;
- Массив_отрезков_орг_ск - выражен массивом отрезков с ограниченной скоростью. Представляет из себя расстояние от знака ограничивающего скорость до знака отменяющего ограничения;
- Протяженность - протяженность ребра. Используется при расчете средней скорости прохождения ребра;
- Средняя_скорость_прохождения - основной параметр используемый для расчета прохождения кратчайшего пути от точки А до точки Б.
Ребро ®\
Struct
- Fields
Класс_дороги \
Jjt Колличество_знаков_ораничения
^ Массив_отрезк0в_огр_ск
^ Протяженность_ребра
Средняя_ск0рость_прох0ждения
Рис. 3. Набор параметров для построения ребра Дорога представлена массивом ребер и может быть выражена четырьмя параметрами (Рисунок 4):
Рис. 4. Набор параметров для построения дороги
- Класс_дороги - обозначает класс дороги;
- Колличество_ребер - обозначает количество ребер, на которых построенна дорога;
- Наличие_знаков_ограничивающих_ск - может содержать два значения True или False. Используется при перерасчете средней скорости прохождения по ребру, если значение True, тогда средняя скорость для дороги будет пересчитана;
- Протяженность_дороги - протяженность дороги.
Дорожная сеть может быть выражена четырьмя параметрами:
Доронснаясеть £
Struct
- Fields
$ КОЛИЧЄСТБО_ДОрОГ
d / Наличие_знак0в_ограничивагащих _ск
Номер_слоя
Пр0тяженность_дорог
> ^
Дорога ©
Struct
_ Дорога ©
Struct
Дорога Struct ©
А
Ребро ©
Struct
— Ребро ©
Struct
Ребро ©
Struct
Рис. 5. Набор параметров для построения дорожной сети
- Количество_дорог - содержит количество дорог, которые входят в дорожную сеть;
- Наличие_знаков_ограничивающих_ск - может содержать два значения True или False. Используется при перерасчете средней скорости прохождения по ребру, если значение True, тогда средняя скорость для дороги будет пересчитана;
- Номер слоя - не обязательный параметр, обозначающий номер слоя на котором находится данная дорожная сеть. Если в ГИС нет слоев. То данный параметр можно отбросить;
- Протяженность_дорог - протяженность дорожной сети.
Также можно учесть геометрию автодорожной сети, воспользовавшись следующими методами, основанными на гидродинамической модели транспортного потока. Можно выделить часто используемые пути, состоящие из нескольких связных дорог, по которым машины едут практически одним потоком (к примеру, поток машин на шоссе практически не изменяется в месте съезда в переулок). Такие дороги можно объединять в одну группу и, зная состояние потока на одной дороге, прогнозировать значения скоростей для всех дорог группы. Наряду с данным методом для восполнения информации, возможно выделять «главные» и «зависимые» дороги: главными назовем дороги отвечающие условию, что если на них возникло затруднение, то с большой вероятностью оно возникнет и на зависимых дорогах. Данную закономерность можно выявить, подсчитав по выборке значений условную вероятность возникновения затруднения на дороге при условии затруднения на другой дороге.
Для прокладки маршрута в реальном времени существует возможность использования оперативных данных. Оперативные данные используются как начальные значения скоростей по дорогам в момент отправки машины (при условии ее немедленного выезда) и так же учитываются по мере продвижения машины по пути с постепенным уменьшением вклада.
Алгоритм прокладки маршрута является модификацией алгоритма Дейкстры поиска кратчайших путей на графе, с тем отличием, что значение весов на графах (времени проезда машины по части дороги) является гладкой функцией, зависимой от времени, а не постоянными значениями, поэтому при построении волнового фронта необходимо учитывать время старта машины и время, проведенное ей в пути.
Внеся параметры, скорость и класс дорог, модель усложняется тем, что становится восприимчива к изменению ситуации из-за состоянии на дорогах. Из-за погодных условий, или из-за ремонта дорог, дорожные знаки могут очень часто меняться, тем самым, принуждая модель дорог релаксировать из-за изменения дорожных знаков. Вопрос о частом
изменение дорожных знаком является очень актуальным в России, так как из-за плохого планировании дорожной сети и халатности при строительстве, дороги очень быстро приходит в не рабочее состояние и часто нуждается в ремонтных работах.
Используя алгоритм Дейкстры, была реализована прокладка кратчайшего маршрута по разветвленной сети дорог с параметрами дорожных знаков и класса дорог. Выразив ребро параметром скорости, можно учитывать состояние дорог. В большинстве ГИС ребро выражено параметром расстояния между узлами, при такой модели не может быть построен автороутинг, который бы опирался на реальную ситуацию на дорогах.
если все вершины достижимы из исходной вершины.
При построении кратчайшего пути на ЭВМ с частотой процессора 3 GHz, средняя скорость расчета кратчайшего пути, на грифовой модели дорог, состоящей из 81949 вершин составляет 20 секунд.
В ходе работы 81949 вершинами была выражена основная дорожная сеть Приморского края, то есть сети дорог регионального значения. Предоставленные результаты дают возможность оценить время расчета кратчайшего пути на региональном уровне, а разработанный метод позволяет строить автороутинг для существующих или разрабатываемых ГИС на разветвленной сети дорог.
Библиография
Владимир, А. ГИС на транспорте. [Электронный ресурс]. / А. Владимир: Центр поддержки DATA 2008. - Режим доступа:
http://www.dataplus.ru/Industries/10TRAN S/1 _gi s.htm.
Ничипоренко С.С. Прокладка кратчайшего пути по неориентированному графу дорог с ипользованием алгаритма Дейктстры. / Ничипоренко С.С., В.В. Сивченко, В. А. Игнатюк. - М.: 2009. - 4 с.
Сик, Д.С. Boost Graph Library / Д. Сик, Лай-Кван Ли, Э. Ламсэйн - П.: Питер 2006. - 183 с.
Временная сложность порядка
или просто