_{1}

^{*}

In this paper, we present a new algorithm of the time-dependent shortest path problem with time windows. Give a directed graph
, where
*V* is a set of nodes,
*E* is a set of edges with a non-negative transit-time function
. For each node
, a time window
within which the node may be visited and
,
is non-negative of the service and leaving time of the node. A source node
*s*, a destination node
*d* and a departure time
*t*
_{0}, the time-dependent shortest path problem with time windows asks to find an s, d-path that leaves a source node s at a departure time
*t _{0}*; and minimizes the total arrival time at a destination node

*d*. This formulation generalizes the classical shortest path problem in which

*c*are constants. Our algorithm of the time windows gave the generalization of the ALT algorithm and

_{e}*A** algorithm for the classical problem according to Goldberg and Harrelson [1], Dreyfus [2] and Hart et al. [3].

The shortest path problem on graphs is a problem with many real-life applications such as: route planning in an internet, car navigation system, traffic simulation or logistic optimization. The shortest path problem is a classical combinatorial optimization problem. It has countless applications and so far numerous algorithms have been proposed (see Ahuja et al. [

Give a directed graph

In Cook and Halsey [

On the other hand, the general problem without the FIFO constraint is NP-hard if the waiting at nodes is not allowed (see Sherali et al. [

Even with the FIFO constraint, unlike the static case, studies are not rich. Dreyfus’s proposal of the generalized Dijkstra’s algorithm, despite of many studies (see Dean [

In this paper, we give a new algorithm of the time-dependent shortest path problem with time windows that generalizes the ALT algorithm (see Goldberg and Harralson [^{*} algorithm for the static problem, unlike the generalized Dijkstra’s algorithm, which uses a function h to estimate the distances between nodes in the graph in Section 2. In Section 3, we give an application instance of our algorithm and a generalization of the ALT algorithm (see Goldberg and Harralson [^{*} algorithm and is faster than the Dijkstra’s algorithm using preprocessing. Thus, we have found the first algorithm for the time-dependent shortest path problem with time windows that speeds up the calculation using preprocessing and we have observed that it is several time faster than the generalized Dijkstra’s algorithm. Finally, the conclusion is given in Section 4.

We start from the classical and well-known Dijkstra’s algorithm. For each edge

The our algorithm of the A^{*} algorithm given in (^{*} algorithm (a good lower-bound on the

Remark: The Dijkstra’s algorithm is a special case of

Now we are ready to describe our generalized A^{*} algorithm. It generalizes

Definition 2.1. Given a directed graph

then for all edges

In a directed graph^{*} algorithm in

· For all vertices

· For all edges

· For all vertices

1) status |
---|

1) Status |
---|

The triangle condition (2.2) (see ^{*} algorithm whereas the FIFO condition is only available in the time-dependent and time windows case. The generalized Dijkstra’s algorithm is nothing but the simplest case with

Roughly speaking, it says the supposed transit-time

Theorem 2.1. Let

the service and leaving time at node

Proof. By the above conditions (2.1), (2.2) and (2.3). We show by the induction that, every active node ν must get the optimal distance label (the induction variable is the number of nodes in the shortest path), i.e., the earliest arrival time at node ν for leaving

Let ν be an active node satisfies the time windows

Let

That is equivalent to

Then, since ν is the active node with the time windows

On the other hand, by the FIFO condition and

Therefore we get the next fact by combining (2.6) and (2.7), we get

This means the equalities hold, hence

Remark: The analogously to the static version, an h with ^{*} algorithm is no longer than that the generalized Dijkstra’s algorithm. Using this observation, we will give our algorithm in the next section that is practically faster than the generalized Dijkstra’s algorithm.

The time complexity of the generalized Dijkstra’s algorithm is ^{*} algorithm and generalizes the static landmark-based ALT algorithm (Goldberg and Harrelsin [

The ALT algorithm is such as an algorithm that is supposed to answer the shortest-path queries for a known graph. This means we can preprocess the graph beforehand and use it to answer a query faster than a normal calculation by the Dijkstra’s algorithm. Of course there is a trivial method of saving solutions for all possible queries and answers a query in

Now let us describe the detail of our generalized ALT algorithm. Let

In other words,

It is clear that

We still have to show how to calculate

Again, we can show the function ^{th} DIMACS implementation challenge http://www.dis.uniromal.it/~challenge9/, where

A comparison example of the search space between the generalized Dijkstra’s algorithm and the generalized ALT algorithm for the time dependent shortest path problem time windows and our ALT algorithm for an instance with the number of nodes are 321,270 and the number of edges are 800,172. The number of landmarks is 16 and the number of time samplings is 2. The search space of the ALT algorithm is 0.055 smaller and the running time is 7.4 times faster.

In this paper, we present a new algorithm framework of A^{*} algorithm for the time-dependent shortest path problem with time windows. By constructing some appropriate estimator h, it is possible to get an algorithm that is faster than a normal generalized Dijkstra’s algorithm. As an example, we have generalized the landmark based ALT algorithm, which we believe is the first algorithm that uses preprocessing to speed up the calculation of time-dependent shortest paths problem with time windows. Our experimental result shows that it is several times faster than a normal generalized Dijkstra’s algorithm for large road networks.

The author would like to thank an anonymous referee for some useful comments.