2017 Вычислительные методы в дискретной математике №37
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 519.7
ОПТИМАЛЬНАЯ МАРШРУТИЗАЦИЯ ПО ОРИЕНТИРАМ В НЕСТАЦИОНАРНЫХ СЕТЯХ
В. В. Быкова, А. А. Солдатенко Сибирский федеральный университет, г. Красноярск, Россия
Рассмотрена задача Time-Dependent Shortest-Path (TDSP), которая является расширением задачи о кратчайшем пути в графе. Сеть представляется ориентированным графом G = (V, E), в котором для каждой дуги (x, y) £ E определены две функции: wxy (t) — время, необходимое для передвижения по дуге (x, y), и Fxy (t) — время прибытия в вершину y при условии, что старт из вершины x осуществлён в момент времени t. Такую сеть называют нестационарной, а наименьшее время передвижения из стартовой вершины в целевую интерпретируют как оптимальный маршрут или кратчайший путь между этими вершинами. В работе задача TDSP исследована для полиномиально разрешимого случая, когда функции прибытия являются монотонными. Двухфазный алгоритм ALT (A* with Landmarks & Triangle) —один из современных алгоритмов, способных быстро решать задачу TDSP на графах большой размерности. В работе определено и доказано достаточное условие корректности алгоритма ALT для задачи TDSP: сеть должна отвечать неравенству треугольника, заданного для промежутков времени передвижения по узлам сети. Особенность предложенного неравенства треугольника — его определение через «оптимистичные» веса дуг, когда возможно беспрепятственное движение по дугам. Показано, что это неравенство треугольника верно всегда, если веса дуг заданы отношениями длин дуг к скорости передвижения по ним и справедливо неравенство треугольника для расстояний между узлами сети.
Ключевые слова: нестационарные сети, оптимальная маршрутизация, корректность алгоритма ALT.
DOI 10.17223/20710410/37/10
OPTIMAL ROUTING BY LANDMARKS IN THE TIME-DEPENDENT
NETWORKS
V. V. Bykova, A. A. Soldatenko Siberian Federal University, Krasnoyarsk, Russia E-mail: bykvalen@mail.ru, glinckon@gmail.com
The Time-Dependent Shortest-Path problem (TDSP) is considered. This is an extension of the shortest path problem in a graph. TDSP problem arises in designing and operating telecommunication and transport networks. In such a network, we need to consider the time and the possibility of appearance of predictable situations, for example, traffic jams or traffic reduction. In this case, the network is represented with
a digraph G = (V, E) in which, for each arc (x, y) e E, two functions are defined. The first one, wxy(t), is the time required for move along an arc (x,y). The second function, Fxy (t), is the time of arrival at the vertex y if the movement starts from the vertex x at the time t. Such a graph is called a time-dependent network and the minimum time for movement from vertex x to vertex y is interpreted as the optimal route or the shortest path between these vertices. In this paper, TDSP problem is studied for polynomial case when the arrival function is monotonous. The two-phased ALT (A* with Landmarks & Triangle) algorithm is one of the modern algorithms which are able to fast solve the TDSP problem for the large dimension graphs. There exist many experimental works done to improve ALT algorithm. However, the theoretical foundation of the ALT algorithm applicability to different classes of graphs is desperately needed. In this paper, we establish and prove sufficient conditions for correctness of ALT algorithm with respect to TDSP problem. These conditions define requirements for a time-dependent network such that if the requirements are fulfilled, then the ALT algorithm finds the exact solution of TDSP problem — a time-dependent shortest path in the network. According to the conditions, the network must satisfy triangle inequality for the time intervals of moving between the network nodes. A distinguishing feature of this concept of the triangle inequality is its definition through so called optimistic arc weights providing an unimpeded movement along the arcs. We show that in the network, where a weight of an arc is defined as ratio of its length to velocity of moving on it, this triangle inequality is always true if the triangle inequality for the distance between the network nodes is true.
Keywords: time-dependent network, optimal routing, correctness of ALT algorithm.
Введение
Задача поиска кратчайшего пути в графе (Shortest-Paths, SP) —хорошо известная задача комбинаторной оптимизации, имеющая многие реальные приложения. Задача SP состоит в нахождении кратчайшего пути между вершинами s и d (стартовой и целевой соответственно) в заданном графе G = (V,E) [1, 2]. При проектировании и эксплуатации современных телекоммуникационных и транспортных сетей часто приходится иметь дело с расширением задачи SP, когда требуется учитывать временной фактор и возможность возникновения в отдельные промежутки времени таких предсказуемых ситуаций, как снижение объёма трафика и наличие пробок в сети. В этом случае сеть представляется ориентированным графом G = (V, E), в котором для каждой дуги (x,y) e E определены две функции: wxy(t) —время, необходимое для передвижения по дуге (x,y), и Fxy (t) время прибытия в вершину y при условии, что старт из вершины x осуществлён в момент времени t. Такую сеть называют нестационарной, а наименьшее время передвижения из стартовой вершины в целевую интерпретируют как оптимальный маршрут или кратчайший путь между этими вершинами, причём время передвижения по этому пути всегда зависит от момента выхода из стартовой вершины. В литературе задача поиска кратчайшего пути в нестационарной сети носит название Time-Dependent Shortest-Path problem (TDSP) [3, 4]. Известно, что TDSP для нестационарной сети общего вида без каких-либо ограничений на топологию сети и функции прибытия является NP-трудной задачей [3]. В случае, когда функции прибытия являются монотонными, задача TDSP полиномиально разрешима [4, 5]. В данной работе рассматривается именно этот полиномиально разрешимый случай.
К настоящему времени уже предложено много алгоритмов решения задачи TDSP. Самый известный из них — алгоритм Дейкстры, который при условии неотрицательно-
сти значений весов дуг находит точное решение задач SP и TDSP в графе G = (V, E) за время O(| V|2) [2, 5]. Современные телекоммуникационные и транспортные сети могут быть огромными — содержать миллионы узлов, и требуется найти оптимальный маршрут из стартовой вершины в целевую за доли секунды. Экспериментально установлено, что в подобных условиях алгоритм Дейкстры работает неприемлемо долго [6, 7]. Чтобы справиться с этой проблемой, предложены различные методы ускорения алгоритма Дейкстры, позволяющие вычислять оптимальный маршрут за несколько микросекунд даже в огромных сетях [6-10].
Большинство этих методов основано на двухфазном подходе. Первая фаза — предобработка графа, моделирующего исходную сеть. На второй фазе с помощью алгоритма Дейкстры (или какой-либо его версии) осуществляется поиск оптимального маршрута в графе, полученном после предобработки. Предобработка сводится к просмотру исходного графа и анализу его структуры с целью извлечения информации, позволяющей ускорить вторую фазу алгоритма. Двухфазные алгоритмы принято разделять на следующие классы:
— иерархические алгоритмы, которые основаны на многоуровневом представлении исходного графа с выполнением алгоритма Дейкстры для каждого выделенного уровня [8];
— алгоритмы маркировки, в которых исходный граф разбивается на несколько примерно равных частей и маршрутизация осуществляется по меткам дуг, находящихся на стыке этих частей [9];
— алгоритмы маршрутизации по ориентирам, в которых некоторое множество вершин исходного графа рассматривается в роли ориентиров и используется для целенаправленного поиска оптимального маршрута [7, 10].
Большинство двухфазных алгоритмов первоначально разрабатывались для задачи SP и поэтому лишь немногие из них пригодны для решения задачи TDSP и учёта динамических сценариев, возникающих в реальных сетях и изменяющих их структуру. По мнению многих авторов, алгоритм ALT (A* with Landmarks & Triangle), являющийся современным представителем класса алгоритмов маршрутизации по ориентирам, хорошо подходит для TDSP и оптимальной маршрутизации в динамических графах [10-12]. В пользу алгоритма ALT приводятся следующие аргументы. Алгоритм ALT на этапе предобработки расставляет определенное число ориентиров в вершинах графа, не трансформируя его, т. е. не изменяя состава вершин и дуг графа, весов дуг и функций прибытия. Это позволяет при изменении графа не повторять полностью фазу предобработки, а лишь вносить локальные изменения в данные, используемые для ускорения второй фазы алгоритма ALT. На второй фазе ALT для поиска оптимального маршрута используется алгоритм A* — версия алгоритма Дейкстры, работающая с потенциальными функциями, вычисленными на основе ориентиров [13]. Использование в A* потенциальных функций позволяет на практике находить оптимальный маршрут значительно быстрее алгоритма Дейкстры. Например, для европейской дорожной сети, состоящей из более чем 1,5 миллионов вершин, алгоритм ALT в среднем работает в 20 раз быстрее алгоритма Дейкстры [10, 14]. Алгоритм ALT был предложен в 2005 г. А. Гольдбергом и К. Харрельсоном [7]. Сочетание алгоритма ALT с другими методами ускорения, а также совершенствование процедуры расстановки ориентиров — современные направления развития данного алгоритма [6, 10, 11]. Однако алгоритм ALT применим не ко всем графам, поскольку для корректной работы алгоритма A* необходимо, чтобы потенциальные функции, вычисленные на основе заданных весов дуг
исходного графа, обладали свойствами допустимости и преемственности [13]. В данном случае под корректностью алгоритма понимается его способность находить точное решение поставленной оптимизационной задачи [2].
Существует достаточно много экспериментальных работ, посвящённых совершенствованию алгоритма ALT. Однако актуальны теоретические основы применимости данного алгоритма к различным классам графов, в частности к нестационарным сетям. Практически отсутствуют работы, направленные на доказательство корректности алгоритма ALT при различных способах задания весов дуг и функций прибытия в задаче TDSP. Основным результатом данной работы является определение достаточных условий корректности алгоритма ALT для задачи TDSP и их доказательство.
1. Формулировка задачи TDSP
Введём обозначения, необходимые для формулировки задачи TDSP. Понятия и обозначения теории графов, которые не вводятся ниже, общеприняты и взяты из [1].
Пусть задан ориентированный граф G = (V, E) без кратных дуг и петель (далее просто граф), в котором для всякой дуги (x,y) e E определена весовая функция
Wxy(t) = ^ 0. (1)
vxy (t)
В формуле (1) величину lxy интерпретируем как длину дуги (x,y), vxy(t) — скорость движения по дуге (x,y), а wxy(t) —время передвижения из вершины x в вершину y при условии, что старт из вершины x осуществлён в момент времени t. Считаем, что vxy (t) > 0, lxy ^ 0, а также что расстояния между вершинами графа G являются постоянными величинами и подчиняются неравенству треугольника. Кроме того, полагаем, что величина t ^ 0 измеряется в условных единицах времени и принимает значения из некоторого конечного множества T. Таким образом, wxy(t) и vxy(t) —дискретные функции с конечным множеством значений. В данном случае расстояние между вершинами графа — кратчайший путь между этими вершинами в обычном для теории графов понимании [1].
Сопоставим дуге (x, y) e E функцию прибытия
Fxy (t) = t + Wxy (t),
где t — время отправления из вершины x; Fxy(t) —время прибытия в вершину y при движении по дуге (x,y). Поскольку t ^ 0, wxy(t) ^ 0, то всегда
Fxy(t) ^ t ^ 0. (2)
Неравенство (2) отражает непосредственный ход времени: «отправляясь из вершины x в момент времени t, невозможно прибыть в вершину y раньше времени t».
Если для любых моментов времени 0 ^ ti ^ t2 верно
Fxy(t1) ^ Fxy(t2) ,
то говорят, что функция прибытия дуги (x, y) монотонная. Граф G = (V, E), отвечающий всем указанным выше предположениям, включая монотонность функций прибытия всех его дуг, принято называть нестационарной сетью, удовлетворяющей условию First-In First-Out (FIFO) [3, 4].
Последовательность вершин P = (x0, x1,..., xk) графа G = (V, E), в которой s = x0, d = xfc, (xi, xi+i) e E, i = 0,1,... , k — 1, задаёт путь из вершины s в вершину d. Если
при этом начало движения осуществлено в момент времени ts, то данный путь будем обозначать (s,d, ts) или (P, ts). Существование в графе (s, d, ¿5)-пути указывает, что вершина d достижима из вершины s. В этом случаем будем записывать s ^ d. Вес
(P, ¿5)-пути равен, по определению,
k-i
w(P, is) = is + ^ Wxixi+1 (ti) , (3)
i=0
где t0 = ts; ti+i = FXiXi+1 (¿¿), i = 0,... , k — 2, а вес кратчайшего (s, d, ts)-пути
dist(s, d, ts) = min{w(P, ts): s ^ d}. (4)
Заметим, что значения величин w(P, ts) и dist(s, d, ts) всегда могут быть вычислены по формулам (3) и (4), если вершина d достижима из вершины s. Величину w(P, ts) будем трактовать как время прибытия в вершину d при прохождении (s, d, ¿8)-пути, а величину dist(s, d, ts) — как самое раннее время прибытия в d при условии, что отправление из вершины s осуществлено в момент времени ts. Тройку величин (s, d,ts), где s и d — стартовая и целевая вершины соответственно, ts — стартовое время, будем называть запросом на поиск в нестационарной сети G = (V, E) кратчайшего (s, d, ¿8)-пути, или кратко (s, d, ¿8)-запросом.
С использованием введённых понятий и обозначений задача TDSP формулируется следующим образом.
Time-Dependent Shortest-Path problem
Заданы: нестационарная сеть G = (V, E) с условием FIFO, (s, d, ¿8)-запрос.
Требуется: найти значение dist(s, d, ts) и последовательность вершин, образующих кратчайший (s, d, ¿8)-путь.
Очевидно, что в указанной постановке задача TDSP всегда имеет решение, если вершина d достижима из вершины s. Точное решение может быть найдено за время O(|V|2) с помощью алгоритма Дейкстры. Корректность алгоритма Дейкстры гарантируется условием FIFO для сети G и неотрицательностью значений весов всех её дуг. При применении других алгоритмов для нахождения точного решения задачи TDSP могут возникать дополнительные требования к G, например, для алгоритма ALT необходимо, чтобы сеть G удовлетворяла неравенству треугольника.
2. Определение неравенства треугольника и потенциальных функций
для нестационарной сети
Алгоритм ALT осуществляет целенаправленный поиск оптимального маршрута по ориентирам. Под ориентиром понимается некоторая выделенная вершина исходного графа. Алгоритм ALT состоит из двух фаз: на первой фазе выполняется расстановка ориентиров и вычисление на их основе потенциальных функций, а на второй фазе — поиск оптимального маршрута с помощью алгоритма A*. Потенциальные функции предназначены для оценки снизу значения кратчайшего пути от текущей до целевой вершины.
Как отмечено выше, алгоритм A* находит точное решение задачи SP для исходного графа G = (V, E) за время O(| V|2), если потенциальные функции обладают свойствами допустимости и преемственности. Для задачи SP данные свойства всегда выполнимы, если расстояния между вершинами графа G подчиняются неравенству треугольника [13].
Определим неравенство треугольника и потенциальные функции для нестационарной сети. Для этого введём величину максимальной скорости, с которой можно двигаться по всякой дуге исходного графа:
Vmax = max {max [vxy(t)]} > 0.
(x,y)eE i€T yv
Заметим, что величина vmax постоянна для G = (V, E) на рассматриваемом промежутке времени T. Вместо формулы (1) для каждой дуги (x,y) € E графа G определим её «оптимистичный» вес следующим образом:
' lxy
W = ——.
xy v
vmax
Значение wxy не зависит от t и равно времени передвижения от вершины x к вершине y при условии отсутствия каких-либо препятствий, приводящих к снижению скорости по этой дуге. Другими словами, это минимальное время передвижения по дуге (x,y). Отсюда для всякой дуги (x, y) € E и любого t € T верна оценка
WXy ^ wxy (t).
Сопоставим пути P = (x0, xi,... , xk), где s = x0, d = xk, (xj, xj+1) € E, i = 0,1,... , k — 1, графа G = (V, E) следующую величину:
k-i
w (P )=E wx ixi+i. (5)
i=0
Данная величина не зависит от ts и равна минимальному времени передвижения по пути P из вершины s в вершину d. Очевидна оценка w (P) ^ w(P, ts). Аналогично для кратчайшего (s, d, ^)-пути имеем
dist (s, d) = mm{w (P): s ^ d}; (6)
dist(s,d) ^ dist(s,d, ts). (7)
Для заданных s, d значение dist (s, d) —наименьшее время, необходимое для передвижения в графе G из вершины s в вершину d с использованием всех возможных путей.
Определим неравенство треугольника для нестационарной сети G = (V, E) через величины, вычисляемые формулой (6):
dist (x, y) + dist (y, z) ^ dist (x, z), (8)
где x,y,z € V. Данное неравенство означает, что наименьшее время передвижения от вершины x в вершину z по кратчайшему пути (в смысле формулы (6)) всегда не больше времени движения в обход этого пути через некоторую вершину y. Если для любых вершин x,y,z € V нестационарной сети G = (V, E) верно неравенство (8), то такую сеть назовём нестационарной метрической сетью.
Пусть L С V — множество вершин нестационарной метрической сети G = (V, E), в которых установлены ориентиры. Для каждой вершины x € V и всякого ориентира l € L определим следующие функции:
n1+(x) = dist (l,d) — dist (l,x); (9)
n1-(x) = dist(x,l) — dist (d, l); (10)
n^(x) = max{0, n1+(x), n1-(x)}. (11)
Неотрицательную величину
nL(x) = max п;(я) (12)
leL
назовём потенциальной функцией вершины x относительно множества ориентиров L. Переход в (9)—(11) от длин кратчайших путей, вычисляемых по формуле (4), к их нижним оценкам (6) — особенность предлагаемого в данной работе определения потенциальных функций для нестационарной сети. В остальном это определение соответствует определению потенциальных функций, введённому в [7].
3. Достаточное условие корректности алгоритма ALT для нестационарной
метрической сети
Опираясь на работы [7, 13], определим свойства допустимости и преемственности для потенциальных функций применительно к нестационарным сетям. Потенциальная функция, удовлетворяющая условию
0 ^ (x) ^ dist(x, d, tx), (13)
называется допустимой. Потенциальная функция называется преемственной, если
nL(s) ^ dist(s,x,ts) + nL(x). (14)
Для корректной работы алгоритма A* требуется выполнимость неравенств (13) и (14) для любых s,x,d £ V, ts £ T и произвольного непустого множества ориентиров L С V.
Теорема 1. Для нестационарной метрической сети G = (V, E) и непустого множества ориентиров L С V неравенство треугольника (8) задаёт достаточное условие для допустимости и преемственности потенциальных функций, определённых формулами (9)-(12).
Доказательство. Докажем допустимость потенциальных функций. Исходя из (7) и (8), для произвольных x, d £ V, l £ L и tx £ T имеем
nl +(x) = dist (l,d) — dist (l,x) ^ dist (x,d) ^ dist(x, d, tx), nl-(x) = dist (x, l) — dist (d, l) ^ dist (x, d) ^ dist(x, d, tx).
Поскольку всегда 0 ^ dist(x, d, tx), то также
nl(x) = max{0, nl+(x), nl-(x)} ^ dist(x, d, tx),
nL(x) = maxnl(x) ^ dist(x, d, tx), leL
т. е. условие (13) справедливо для любых x, d £ V, tx £ T и непустого множества ориентиров L С V.
Докажем преемственность потенциальных функций. Согласно (7) и (8), для всякого ориентира l £ L и произвольных s, x £ V, ts £ T верны соотношения
dist (s,x) ^ dist(s,x,ts), dist (l, x) — dist (l, s) ^ dist (s, x).
Отсюда получаем
dist (l, x) — dist (l, s) ^ dist(s, x, ts). (15)
Добавим в обе части неравенства (15) положительную величину dist (l,d):
dist (l, d) + dist (l, x) — dist (l, s) ^ dist(s, x, ts) + dist (l, d).
Перенесём dist (l,x) в правую часть неравенства:
dist (l, d) — dist (l, s) ^ dist(s, x, ts) + dist (l, d) — dist (l, x).
С учётом (9) данное неравенство принимает вид
ni+(s) ^ dist(s,x, ts) + ni+(x).
Аналогичным образом для ориентира l € L и формулы (10) получаем
ni—(s) ^ dist(s,x,ts) + ni—(x).
Тогда, согласно (11), для ориентира l € L при любых s,x,d € V и ts € T верно неравенство
П(s) ^ dist(s,x, ts) + n(x).
Значит, условие (14) всегда справедливо для любых s,x,d € V, ts € T и непустого множества ориентиров L С V. ■
Следствие 1. Если веса дуг нестационарной сети G = (V, E) определены формулой (1) и верно предположение о выполнимости неравенства треугольника для расстояний между вершинами графа G, то неравенство (8) всегда справедливо.
В самом деле, доказательство теоремы 1 базируется на неравенствах (7) и (8). Когда веса дуг нестационарной сети G заданы формулой (1), равенство (5) принимает следующий вид:
1 k—1 w' (P) = - Е lxixi+i.
vmax i=0
Тогда в (6) величина dist (s,d) является расстоянием между вершинами s и d, вычисленным на основе длин дуг графа G, неравенство (7) остаётся верным, а неравенство (8) вырождается в неравенство треугольника для расстояний между вершинами этого графа.
Заметим, что предположение о выполнимости неравенства треугольника для расстояний является естественным свойством графов, моделирующих широкий класс телекоммуникационных и транспортных сетей. Согласно следствию 1, для таких сетей достаточное условие теоремы 1 не требует специальной проверки, поскольку всегда справедливо. Этот факт чрезвычайно важен для сетей большой размерности, так как подобная проверка может быть трудоёмкой и сопоставимой по времени работы с алгоритмом Дейкстры. Требование выполнимости неравенства треугольника для корректной работы алгоритма ALT при решении задачи SP было ранее определено и доказано в [7, 13]. Теорема 1 определяет подобное требование для задачи TDSP.
Предложенные в п. 2 формулы (9)-(12) описывают процесс нахождения потенциальных функций для нестационарной сети. По трудоёмкости этот процесс сопоставим с вычислением потенциальных функций для задачи SP. Однако потенциальные функции, определённые формулами (9)-(12), не всегда являются наилучшими в смысле нижних оценок (13), что влечёт снижение быстродействия алгоритма A*. Возможные направления улучшения нижних оценок — совершенствование стратегии расстановки ориентиров и нахождение новых способов определения допустимых и преемственных потенциальных функций для нестационарной сети.
ЛИТЕРАТУРА
1. Емеличев В. А, Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. М.: Книжный дом «Либроком», 2012. 390с.
2. Кормен Т. Х., Лейзерсон Ч. И., Ривест Р. Л., Штайн К. Алгоритмы. Построение и анализ. М.: Вильямс, 2016. 1328с.
3. Sherali H. D., Ozbay K., and Subramanian S. The time-dependent shortest pair of disjoint paths problem: Complexity, models, and algorithms //J. Networks. 1998. V. 31. No. 4. P. 259-272.
4. Kaufman D. E. and Smith R. L. Fastest paths in time-dependent networks for intelligent vehicle-highway systems application //J. Intelligent Transportation Systems. 1993. V. 1. No. 1. P. 1-11.
5. Гимади Э. Х., Глебов Н. И. Математические модели и методы принятия решений. Новосибирск: Изд-во Новосиб. ун-та, 2008. 162 с.
6. Wagner D. and Willhalm T. Speed-up techniques for shortest-path computations // LNCS. 2007. V. 4393. P. 23-36.
7. Goldberg A. and Harrelson C. Computing the shortest path: A* search meets graph theory // Proc. 16th Ann. ACM-SIAM Symp. Discrete Algorithms (SODA). 2005. P. 156-165.
8. Nejad M. M., Mashayekhy L., Chinnam R. B., and Phillips A. Hierarchical time-dependent shortest path algorithms for vehicle routing under ITS //J. IIE Trans. 2016. V. 48. No. 2. P. 158-169.
9. Delling D. Time-dependent SHARC-routing //J. Algorithmica. 2011. V. 60. No. 1. P. 60-94.
10. Delling D. and Wagner D. Landmark-based routing in dynamic graphs // LNCS. 2007. V. 4525. P. 52-65.
11. Goldberg A., Kaplan H., and Werneck R. Better landmarks within reach // LNCS. 2007. V.4525. P. 38-51.
12. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.396.6069&rep= rep1&type=pdf —A Landmark Algorithm for the Time-Dependent Shortest Path Problem. Tatsuya OHSHIMA. 2008.
13. Рассел С., Норвиг П. Искусственный интеллект. Современный подход. М.: Вильямс, 2007. 1410с.
14. http://www.dis.uniroma1.it/challenge9/ — DIMACS Implementation Challenge. Shortest Paths. 2006.
REFERENCES
1. Emelichev V. A., Mel'nikov O. I., Sarvanov V. I., and Tyshkevich R. I. Lektsii po teorii grafov [Lectures in Graph Theory]. Moscow, Librokom Publ., 2012. 390p. (in Russian)
2. Kormen T. Kh., Leyzerson Ch. I., Rivest R. L., and Shtayn K. Algoritmy. Postroenie i analiz. Algoritmy. Postroyeniye i analiz. [Introduction to Algorithms]. (in Russian) Moscow, Vil'yams Publ., 2016. 1328 p.
3. Sherali H. D., Ozbay K., and Subramanian S. The time-dependent shortest pair of disjoint paths problem: Complexity, models, and algorithms. J. Networks, 1998, vol.31, no. 4, pp.259-272.
4. Kaufman D. E. and Smith R. L. Fastest paths in time-dependent networks for intelligent vehicle-highway systems application. J. Intelligent Transportation Systems, 1993, vol. 1, no. 1, pp.1-11.
5. Gimadi E. Kh. and Glebov N. I. Matematicheskiye modeli i metody prinyatiya resheniy. [Mathematical Models and Methods of decision-making]. Novosibirsk, NSU Publ., 2008. 162 p. (in Russian)
6. Wagner D. and Willhalm T. Speed-up techniques for shortest-path computations. LNCS, 2007, vol. 4393, pp. 23-36.
7. Goldberg A. and Harrelson C. Computing the Shortest Path: A* Search Meets Graph Theory. Proc. 16th Ann. ACM-SIAM Symp. Discrete Algorithms (SODA), 2005, pp. 156-165.
8. Nejad M. M., Mashayekhy L., Chinnam R. B., and Phillips A. Hierarchical time-dependent shortest path algorithms for vehicle routing under ITS. J. IIE Trans., 2016, vol.48, no.2, pp. 158-169.
9. Delling D. Time-dependent SHARC-routing. J. Algorithmica, 2011, vol.60, no. 1, pp. 60-94.
10. Delling D. and Wagner D. Landmark-based routing in dynamic graphs. LNCS, 2007, vol. 4525, pp. 52-65.
11. Goldberg A., Kaplan H., and Werneck R. Better landmarks within reach. LNCS, 2007, vol.4525, pp. 38-51.
12. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.396.6069&rep= rep1&type=pdf —A Landmark Algorithm for the Time-Dependent Shortest Path Problem. Tatsuya OHSHIMA, 2008.
13. Rassel S. and Norvig P. Iskusstvennyy intellekt. Sovremennyy podkhod [Artificial Intelligence: A Modern Approach]. Moscow, Vil'yams Publ., 2007. 1410p. (in Russian)
14. http://www.dis.uniroma1.it/challenge9/ — DIMACS Implementation Challenge. Shortest Paths. 2006.