Dynamic routing versus static routing Prof. drs. Dr. Leon Rothkrantz
Outline presentation Problem definition Static routing Dijkstra shortest path algorithm Dynamic traffic data (historical data, real time data) Dynamic routing using 3D-Dijkstra algorithm Travel speed prediction using ANN Personal intelligent traveling assistant (PITA) PITA in cars and in trains
Introduction Problem definition Find the shortest/fastest route from A to B using dynamic route information. Research if dynamic routing results in shorter traveling time compared to shortest path Is it possible to route a traveler on his route in dynamically changing environments ?
(Non-) congested road
Traffic
Testbed: graph of highways
MONICA network Many sensors/wires along the road to measure the speed of the cars
Smart Road Many sensors (smart sensors) along a road Sensor devices set up a wireless ad-hoc network Sensor in the car is able to communicate with the road Congestion, icy roads can be detected by the sensors and communicated along the network, to inform drivers remote in place and time GPS, GSM can be included in the sensornetworks Wireless communication by wired lamppost/streetlights
Real speed on a road segment during peak hour
3 dimensional graph Use 3D Dijkstra 3 dimensional graph Use 3D Dijkstra
Why not search in this 3 dim. graph ? This will become a giant graph: - constructing such a 3 dimensional graph (estimating travel times) would take too much time - performance of shortest path algorithm for such a graph will be very poor
Shortest path via dynamic routing
Expert system Based on knowledege/experience of daily cardriver (entrance kleinpolderplein ypenburg) (route ypenburg prins_claus) (file prins_claus badhoevedorp) (route badhoevedorp nieuwe_meer) (exit nieuwe_meer coenplein) Translate routes to trajectories between junctions and assign labels entrance, route, file and exit to each trajectory
Design (1)
Schematic overview of a P+R route.
Design (2)
Static car and public transport routes
Dynamic car route
P+R route
Expert system (entrance kleinpolderplein ypenburg) (route ypenburg prins_claus) (file prins_claus badhoevedorp) (route badhoevedorp nieuwe_meer) (exit nieuwe_meer coenplein) Translate routes to trajectories between junctions and assign labels entrance, route, file and exit to each trajectory
Example alternative routes using expert knowledge
Implementation in CLIPS
Results of dynamic routing Based on historical traffic speed data dynamic routing is able to save approximately 15% of travel time During special incidents (accidents, road work,…) savings in travel time increases During peak hours savings decreases
User preferences Shortest travel time Preference routing via highways, secondary roads minimized Preferred routing (not) via toll routes Fastest route or shortest route Route with minimal of traffic jams
Traffic Current systems developed at TUDelft Prediction of travel time using ANN (trained on historical data) Model of speed as function of time average over road segments/trajectories Static routing using Dijkstra algorithm Dynamic routing using 3D Dijkstra Dynamic routing using Ant Based Control algorithm Personal Traveling Assistant online end of 2008
NN Classifiers Feed-Forward BP Network – single-frame input – two hidden layers – logistic output function in hidden and output layers – full connections between layers – single output neuron
NN Classifiers Time Delayed Neural Network – multiple frames input – coupled weights in first hidden layer for time- dependency learning – logistic output function in hidden and output layers ( continued )
NN Classifiers Jordan Recursive Neural Network – single frame input – one hidden layer – logistic output function in hidden and output layer – context neuron for time-dependency learning ( continued )
Factors which have impact on the speed Factors Time Day of the week Month Weather Special events
Impact on speed Time
Impact on speed Day of the week
Impact on speed Day of the week
Impact on speed Month
Impact on speed Month
Impact on speed Weather
Impact on speed Special events
Model 1 Is it possible to predict average speed on a special location and time?
Model 1
Model 2 Is it possible to predict average time 25 minutes ahead on a special location with an error of less then 10% ?
Model 2
Model 3
Test results Model 1 6 networks tested Tuesday A12 in the direction of Gouda Best results with 5 neurons in hidden layer
Test results Model 1
Test results Model 2 9 networks tested Tuesday A12 in the direction of Gouda Best results with 9 neurons in the hidden layer
Test results Model 2
Test results
Results of the best performing network: 76% of the values with difference of 10% or less Average error is more than 20% Deleting outliers: average error less than 9%
Conclusions Existing research Formula of Fletcher and Goss Impact Results
Current system Model (based on historical data) Accidents and work on the road Travel time (based on Recurrent neural networks) Data collection (average speed per segment, per road)
Ant Based Control Algorithm (ABC) Is inspired from the behavior of the real ants Was designed for routing the data in packet switch networks Can be applied to any routing problem which assumes dynamic data like: Routing in mobile Ad-Hoc networks Dynamic routing of traffic in a city Evacuation from a dangerous area ( the routing is done to multiple destinations )
Natural ants find the shortest route
Choosing randomly
Laying pheromone
Biased choosing
3 reasons for choosing the shortest path Earlier pheromone (trail completed earlier) More pheromone (higher ant density) Younger pheromone (less diffusion)
Application of ant behaviour in network management Mobile agents Probability tables Different pheromone for every destination
Traffic model in one node ijk 1p i1 p j1 p k1 2p i2 p j2 p k2.. Np iN p jN P kN Routing table Local Traffic Statistics Networknode destinations neighbours N μ 1 ;σ 1 ; W 1 μ 2 ; σ 2 ; W 2 … μ N ; σ N ; W N
Routing table To forward the packets, each node has a routing table … All possible destinations Neighbours
Generating virtual ants (agents) 1. ants are launched on regular intervals - it goes from source to a randomly chosen destination
Chosing the next node Ant chooses its next node according to a probabilistic rule: -probabilities in routing table; -traffic level in the node; neighbours destination
2 Sniffing the network Ant moves towards its destination …and it memories its path 2 11t5t5 10t4t4 9t3t3 3t2t2 2t1t1 1t0t
2 8 The backward ant Ant goes back using the same path 11t5t5 10t4t4 9t3t3 3t2t2 2t1t1 1t0t
Updating the probability tables On its way to the source, ant updates routing tables in all nodes table in 1 before update table after update
Simple formulae Calculate reinforcement: Update probabilities:
Complex formulae P’ jd =P jd + r(1-P jd ) P’ nd =P nd - rP nd, n<>j
Map representation for simulation Simulation environment
Results Average trip time for the cars using the routing system Average trip time for the cars that not use the routing system
Simulation environment Architecture GPS-satellite Vehicle Routing system Simulation
GPS-satellite Vehicle Routing system Position determination Routing Dynamic data Communication flow
Routing system Route finding system Memory Timetable updating system Dynamic data Routing
1245… … … … … … …………… Routing system (2) Timetable
Experiment
Personal intelligent travel assistant PITA is multimodal, speech, touch, text, picture,GPS,GPRS PITA is able to find shortest route in time using dynamic traffic data PITA is able to launch robust agents finding information on different sites (imitating HCI) PITA computes shortest route using AI techniques (expertsystems, case based reasoning, ant based routing alg, adaptive Dijkstra alg.)
PDA
Digital Assistant Digital assistant has characteristics of a human operator Ambient Intelligent Context awareness Adaptive to personal characteristics Independent, problem solver Computational, transparent solutions Multimodal input/output
Schematic overview of the PITA components
Overview of communication Wireless network layers: human communication layer virtual communication virtual coordinating agent
Actors, Agents and Services Layers of communication: overlapping clouds of actors ( human sensors, perception devices) corresponding clouds of representative agents clouds of services
Mobile Ad-Hoc Network
PITA system in a train Travelers in train have device able to set up a wireless network in the train or to communicate via , connected to GPS Position of traveler corresponds to position of trains (de-)Centralized systems knows the position of train at every time and is able to reroute and inform travelers in dynamically changing environments
A technical view of the PITA system
The personal agent
The handheld interface model
The handheld application model
A handheld can be connected to the rest of the system by only an ad-hoc wireless connection
Sequence diagram of the addition of a new delay
The distributed agent platform architecture
User profiles THE MAPPING BETWEEN THE USER PROFILES AND THE SEARCH PARAMETERS
The route plan to Groningen Noord Search times