In this paper we present an application of AI search techniques to a class of problems that arise in transportation systems analysis. Rather than adapting the time-space network formulation typically used in Operations Research, we propose a discrete dynamic network to represent a scheduled service network. In a discrete dynamic network, there are finite, discrete, predetermined possibilities for moving from one vertex to another. Visiting a vertex has a cost (possibly zero), which may depend both on how the vertex was reached and how it will be left.
We describe the DYNET search algorithm for finding optimal paths in discrete dynamic networks. DYNET has been implemented in a working system (TRAINS) which searches the entire Dutch railway services network. An optimal path in a discrete dynamic network makes us arrive at our destination as early as possible (given our planned earliest departure time), and given this earliest arrival time (eat), will allow us to leave as late as possible, thereby guaranteeing a shortest path relative to the eat. DYNET first conducts a forward search to find the earliest possible arrival time, then a backward search which uses results of the forward search, to find the latest departure to arrive at that eat. Various AI techniques (symmetries, abstraction spaces, distance estimates, etc.) improve the performance of DYNET.