You are on page 1of 14

International Journal of Knowledge-based and Intelligent Engineering Systems 11 (2007) 6578 65

IOS Press

Dynamic route planning for car navigation


systems using virus genetic algorithms
Hitoshi Kanoh
Department of Computer Science, Graduate School of Systems and Information Engineering, University of
Tsukuba, Tsukuba, Ibaraki, 305-8573, Japan
Tel.: +81 298 53 5344; Fax: +81 298 53 5206; E-mail: kanoh@cs.tsukuba.ac.jp

Abstract. This paper describes a practical dynamic route planning method using real road maps in a wide area. The maps include
traffic signals, road classes, and the number of lanes. The proposed solution is using a genetic algorithm adopting viral infection.
The method is to use viruses as domain specific knowledge. A part of an arterial road is regarded as a virus. A population of
viruses is generated in addition to a population of routes. Crossover and infection determine the near-optimal combination of
viruses. When traffic congestion frequently changes during driving, an alternative route can be selected using viruses and other
routes in the population in a real time. Experiments in dynamic environments using a real road map with 28000 cars show that
the proposed method is superior to the Dijkstra algorithm for use in practical car navigation devices.

Keywords: Intelligent transportation systems, navigation, genetic algorithms, cellular automata

1. Introduction

Car navigation devices are the most widely used form of information terminals for Intelligent Transportation
Systems (ITS) [1]. These devices provide drivers with information on traffic conditions, tourist-site facilities,
restaurant menus, and so on, as well as recommending routes to destinations by utilizing the satellite global
positioning system and nationwide digital road map databases. In Japan, the provision of real-time information
on traffic congestion began in 1996, and these are presently more than 14 million vehicles using the information.
Systems utilizing this information can supply not only the location of congestion but also the extent of congestion
expressed as the time required for passing through it.
Route planning problems in car navigation systems are search problems for finding an optimal route from a starting
point to a destination on a road map. In a practical system, when traffic congestion changes during driving, the
route should be reevaluated before the car reaches the next intersection. Solutions to these search problems, such
as the Dijkstra algorithm (DA) [2,3] and the A* algorithm [4,5] are exact algorithms, so they always determine the
optimal route but cannot guarantee that deadlines will be met. The computational time of the DA has been reduced
by restricting a search to within the area where traffic congestion has changed, but this method cannot settle the
problem. As to A* algorithms, a RTA* and a LRTA* [4] have been proposed for real-time applications. They usually
use the direct distance between the next crossing and the destination as a heuristic function. A major drawback is
that these algorithms do not satisfy the constraints regarding amenities of driving such as the number of turns or
signals, because these amenities cannot be calculated until the entire route to the destination is determined.
In this paper, we propose a method for finding the easiest-to-drive and quasi-shortest route within a given time
using a genetic algorithm (GA) [6]. Because GAs always have routes in a population during a search, they (a) provide
guarantees on meeting deadlines; (b) evaluate the constraints regarding all amenities; and (c) make it is possible
for the route to be reevaluated in a short time using another routes in the population. However, it has often been
pointed out that a typical GA may not be able to solve large-scale problems within a practical amount of time. In the
proposed method, we plan to improve the search rate and quality of solutions by giving direction to the search, using

ISSN 1327-2314/07/$17.00 2007 IOS Press and the authors. All rights reserved
66 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

Table 1
Examples of road classes
Category Road class
1 Express way, National highway,
Principal local road
2 Prefectural road
3 Municipal road

Table 2
Constraints and their penalties
Object of constraint Constraint Penalty
Node To reduce the number of signals PCN
Link To select a major road PCL1
Link To select a wide road PCL2
Route To reduce the number of turns PCR

viruses [79]. We already have proposed a GA-based route planning method [1012]. In this paper, we describe
the algorithms of generating population of viruses and viral infection for real-time route planning and its systematic
evaluation in dynamic environment using real road maps.
Although a great deal of research on dynamic path-planning problems has been carried out with the aim of
application in mobile robots and communication network [13,14], there have been very few reports on practical
methods for navigation in dynamic environments in a wide area. Moreover, research into the evaluation of different
forms of navigation on the basis of real road maps has seldom appeared. The car navigation device, which can be
used to plan detours to escape congestion, has recently come onto the market. Regardless of computational time, a
new route may be recalculated in the device by using a DA to minimize the time required to reach the destination.
Since many devices can display the same route, the detour planned by an exact algorithm may become congested.
However, the proposed method is to find a quasi-optimal route that takes the amenities of driving into consideration
in dynamic environments where heavy congestion frequently occurs over a wide area.
In the following sections, we start by showing constraints on route planning problems and clarify the requirements
for methods of route planning in a dynamic environment. Then we explain an outline of our method. Next, we
describe the fitness function, genetic operators, and the algorithm used for avoiding congested roads. Next, we
introduce a system of traffic flow simulation using maps used in actual car navigation devices. Finally, we give the
results of experiments where we compared the GA with the DA in application with real road maps that have 464 to
1095 nodes.

2. Overview

2.1. Route planning problems

To formulate route planning problems in the real world, we suppose a road network Net = (N , L) with a set of
nodes N and a set of links L. Each node has the property of {with/without signal} and each link has the property of
{length of link, road class, number of lanes}. Table 1 shows examples of the road class.
In this paper, we treat a route planning problem formulated by (Net, O, D, f , C), where O and D are an origin
and a destination, f is an objective function, and C is a set of constraints. These constrains can be classified into
two categories: they are hard constraints corresponding to traffic regulations and soft constraints corresponding to
the amenity of driving. Table 2 shows the soft constraints applied. We regard the route with the lowest number of
the total of penalties as the best one for drivers concerning the amenity.
The DA has been influential in path planning research on road networks. This research includes the complexity
of the DA [15], applications to real road networks [20,21], and route guidance in dynamic environments [22]. The
objective of the research is to find a route minimizing the travel time from an origin to a destination. However,
very few reports have mentioned the amenity of driving and/or real-time route planning in response to changes
information.
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 67

2.2. Route planning in a dynamic environment

The information that is required by drivers in selecting routes may be classified into the following three groups.
1) Road information: Traffic conditions (congestion, accidents, regulations), near view, the road map.
2) Destination information: Its location and facilities, the purpose of travel, weather at the destination.
3) Mobile information: The cars location, remaining fuel, vehicle-related conditions, traveler-related conditions
(fatigue, hunger, and other physical conditions).
The device should provide alternative routes when the information is changed. Car navigation devices thus have
to have a function for real-time route planning in response to changes in the information they are receiving.

2.3. Strategies for GA

Searching in usual GAs, based on neo-Darwinian evolutionary theory, is conducted by means of crossover and
mutation. The proposed method aims to improve the rate of search by giving a direction to evolution by using
crossover and infection. Partial solutions are considered to be viruses, and a population of viruses is created as well
as a population of individuals. Infection substitutes the genes of a virus for an individuals loci decided by the virus.
The present method is aimed at a quick accumulation of partial solutions, that is schema in GAs, by using infection.
We propose the solution to dynamic route planning problems using the virus GA based on the following basic
strategies:
1) A part of an arterial road is regarded as a virus. We generate a population of viruses in addition to a population
of routes (see Section 3.4).
2) Only routes that include viruses are generated as the initial population. If two of the same routes are produced
in the population, one is removed.
3) Crossover and infection are introduced as genetic operations so as to generate the combination of viruses in
successive generations (see Sections 3.5 and 3.6).
We express a virus by a sequence of intersection symbols. Viruses do not include the origin and the destination,
while individuals (routes) must include them. In our method, domain specific knowledge is regarded as a virus. This
is the method that simulates a human beings problem solving process.

3. Route planning algorithm

3.1. Cording on GA

We regard a route from an origin O, i.e. a starting point, to a destination D as an individual and express it by
a variable-length sequence of intersection symbols. Let R k be the k-th individual in the population. Here R k =
(Rk (0), Rk (1), . . . , Rk (nk ), Rk (nk + 1)), nk is the number of nodes, R k (i) is the i-th node, R k (0) = O, and
Rk (nk + 1) = D. We also regard arterial roads as viruses and express them in the same manner. Let V j = (Vj (1),
. . . , Vj (mj )) be the j-th virus in the population of viruses, where m j is the number of nodes on V j . Viruses do not
include the starting point and the destination, while individuals must include them.

3.2. Fitness function

We evaluate routes based on the following basic policy.

Policy 1: The fitness of a route is evaluated by the weighted sum of the route length, the travel time, and the amenities
of driving; no toll is considered. Drivers should input information on the weights and whether toll roads will be used
or not.
68 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

Table 3
Examples of penalties and delay times
Penalty Condition Value Delay (s)
PCN One signal 2 20
PCL1 Express way 0 NA
National highway 2 NA
Principal local road 3 NA
Prefectural road 4 NA
Municipal road 5 NA
PCL2 Six-lane road 0 NA
Four-lane road 1 NA
Two-lane road 2 NA
One-lane road 3 NA
PCR No turn 0 0
Left-hand turn 5 10
Right-hand turn 7 30
U-turn 10 60

The extent of traffic congestion on the route can be expressed by the link travel time, i.e. the time required to
pass though the link. An amenity can be calculated from penalties if the route violates constraints shown in Table 2.
Table 3 shows examples of penalties and delay times. The total penalty of the route R k is defined by the following
expression, where Sum(X) and Ave(X) are the sum and the average of the penalty X along the route, respectively.
Pk = Sum(PCN ) + Ave(PCL1 ) + Ave(PCL2 ) + Sum(PCR )
Thus, the fitness function f (R k ) of the route R k can be expressed as
f (Rk ) = afl (Rk ) + bft (Rk ) + cfP (Rk )
Where
lk lmin
fl (Rk ) = 1
lmax lmin
tk tmin
ft (Rk ) = 1
tmax tmin
Pk Pmin
fP (Rk ) = 1
Pmax Pmin

lk : length of Rk ; tk : sum of the travel time and the delay time on R k ; Pk : total penalty on R k ; lmax , tmax , Pmax :
the maximum values in the population; l min , tmin , Pmin : the minimum values in the population; a, b, c: weights
defined by drivers.

3.3. Procedure of the proposed method

The general procedure of the proposed method is given below. The further details are described in the following
sections.
procedure main( ) {
input map database, an origin, a destination, and weights (a,b,c);
generate a population of viruses;
generate an initial population of routes;
genetic operation( );
repeat until destination is reached
if (traffic condition changes) {
avoidance of congestion;
genetic operation( );}}
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 69

procedure genetic operation( ) {


repeat until deadline is met {
calculate the fitness of the routes;
selection, crossover, and infection;}
select the elite route from the population;
output the elite route as a recommended route;}

3.4. Population of viruses and Initial Population of Routes

We generate initial population of routes using the roads of categories 1 and 2 (see Table 1). Since links on these
roads have road names such as Route 17 and are numbered serially on maps, we can take the links as a separate
road. If all the roads in the target map belong to category 3, the proposed method should not be applied. No real
time information on traffic congestion provides on these roads, no dynamic route planning technique is necessary.
The procedure of generating a population of viruses and an initial population of routes is given below. Steps 1 and
2 correspond to a population of viruses and step 3 corresponds to a population of routes. Here, N p is the population
size, Nc1 and Nc2 are the number of roads of categories 1 and 2 in the target area, respectively.

[Step 1] Select all the roads of categories 1 and 2 within the rectangle on the map with a diagonal that links the
origin and the destination.
[Step 2] Select Np roads in long turn from the roads of category 1. If N c1 < Np then select Np Nc1 roads of
category 2 in the same way additionally. If N c1 + Nc2 < Np then let Np = Nc1 + Nc2 . Let this set of
roads be a population of viruses {V j |j = 1, . . ., Np }. And, for each V j , let the node that the distance is
closer to the origin in the both ends of V j be the first node Vj (1).
[Step 3] for j = 1 to N p { generate both the route from O to V j (1) and the route from V j (mj ) to D by using the
RTA* algorithm [4]; the route that combines these two routes with V j becomes the j-th individual R j . }
Consequently, the size of the population of routes is equal to the size of the population of viruses.

3.5. Selection and Crossover

We use the steady-state model [6] with one-point crossover for alternation of generations in order to reduce the
computational time per generation. In this model, two routes are replaced by crossover with each new generation,
and so two evaluations of fitness are required between generations. Mutation is not used in this method. Here are
the directions for the process.

sort {Rk |k = 1, . . ., Np } at random;


for i = 1 to Np 1
for j = i + 1 to Np
if (Ri and Rj have one or more nodes in common ){
select a crossover site at random from among the node(s);
apply crossover to Ri and Rj and produce offspring Ro1 and Ro2 ;
select the elite route as Ri from among S = {Ri , Rj , Ro1 , Ro2 };
select one further route as Rj from among S {Ri } by roulette;
{Rk |k = 1, . . . , Np } = {Rk |k = 1, . . . , Np } + {Ri , Rj } {Ri , Rj };
return;}
70 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

D
f
Virus V1 d

a b c
O
e Route R1
Before infection R1 = (O a b c d D)
After infection R2 = (O a b d D)

Fig. 1. An example of main infection.

Present point Rk D Vj Rk D

Re Re
O O Present point
Congestion

Fig. 2. Method to avoid traffic congestions.

3.6. Viral infection

Infection substitutes the nodes of the virus for the nodes of the route, if the route has the two same nodes that
the virus has. In Fig. 1, for example, if the route before infection is R 1 = (Oabcd D) and the virus to infect is
V1 = (ebd f ), then the route after infection is R 2 = (Oabd D); where b and d are common nodes. The concrete
procedure is given below.

select the elite route as Re from the population;


n = 0;
for j = 1 to Np {
Select a virus Vj from the population of viruses;
if (Vj has more than one node in common withRe ) {
select two nodes as Re (k1 ) = Vj (i1 ) and Re (k2 ) = Vj (i2 ) at random from among the
nodes in common;
n + +;
Rn = (Re (0), . . . , Re (k1 ) = Vj (i1 ), Vj (i1 + 1), . . . , Vj (i2 ) = Re (k2 ), . . . , Re (ne + 1)); }}
if (n >0){
Select the elite route as Re from among {Ri |i = 1, . . . , n};
{Rk |k = 1, . . . , Np } = {Rk |k = 1, . . . , Np } + {Re } {Re }; }

3.7. Avoidance of Congestion

Figure 2 shows how to avoid traffic congestions using other routes in the present population. In this figure, R e is
the recommended route that is the elite route in the population selected before the car starts out. Let us assume that
the car is at the present point when the area indicated by the dotted line becomes congested with traffic. Followings
are the directions for the process, where node R e (ip ) is the present point and R e is a new recommended route.

n = 0; S = {}; /* Let S be empty set */


for (k = 1 to Np ) {
if (Re and Rk have any node(s) in common before the congested area){
select a node as Re (i1 ) = Rk (i2 ) at random from among the nodes;
n + +;
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 71

Rn = (Re (ip ), . . . , Re (i1 ) = Rk (i2 ), . . . , Rk (nk + 1));


S+ = {Rn };}
for j=1 to Np
if (Re and Vj have one or more nodes in common before the congested area
&& Rk and Vj have any node(s) in common){
select nodes as Re (i3 ) = Vj (i4 ) and Rk (i5 ) = Vj (i6 ) at random from among the
nodes;
n + +;
Rn = (Re (ip ), . . . , Re (i3 ) = Vj (i4 ), . . . , Vj (i6 ) = Rk (i5 ), . . . , Rk (nk + 1));
S+ = {Rn };}}
if (n > 0) Select the elite route as Re from among {Ri |i = 1, . . . , n};
else Re =Re ;

4. Evaluation System for dynamic route planning

4.1. Traffic flow simulation using CA

In order to evaluate the proposed method, we have developed a traffic flow simulator [16] that uses the standard
map, whose format was developed and established by the Navigation System Researchers Association [23], which
is the map used in actual car navigation devices and produced environments where spontaneous traffic congestion
occurs. This system can simulate any road in Japan. We have implemented Nagel and Rasmussens multi-speed
model [17,18] in cellular automata [19]. In this model, a road is regarded as a belt that consists of many connected
cells, and the state of the road at a given cell is represented by whether or not there is a car in the cell. The method is
intended to realize the systematic evaluation of route selection methods by expressing the drivers overall situation,
in terms of environmental factors, the destination, and information to do with the vehicle.
In Nagels multi-speed model, a road is defined on a one-dimensional array of Length L. The length of each cell
is defined as the minimum distance between two cars. Each site of the array may be empty, or it may be occupied
by one car having an integer velocity v. This integer number for the velocity is the number of sites each vehicle
moves during one step. The choice of maximum velocity is somewhat arbitrary, but it can be justified by comparison
between the model and real world measurements. One iteration consists of the following steps, which are performed
simultaneously for all vehicles, where gap is the number of unoccupied sites in front of a vehicle.
Acceleration of free vehicles: Each vehicle of speed v < v max with v < gap accelerates to v + 1: v v+ 1.
Slowing down due to other cars: Each vehicle with gap < v reduces its speed to gap: v gap.
Randomization: Each vehicle reduces its speed by one with probability 1/2: v max[v 1, 0] (take into
consideration individual fluctuations).
Movement: Each vehicle advances v sites.
The standard map has road characteristics such as speed limits, link lengths, road classes, the number of lanes,
traveling direction, and the existence of signals. The traveling direction is expressed by 32 values, that is from 0 to
31. In the following, a road belongs to category 1 or 2 is a main road. A road of category 3 is a basic road.

4.2. Rule for transit of an intersection

The algorithm that determines the behavior of a car at an intersection is shown below, where gap is the distance
between a car approaching the intersection and a signal and v is the speed of the car.

if(has signals) go or stop according to color;


if(has no signal)
if(a preference road && (left-turn || straight drive)) go;
72 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

Table 4
Characteristics of maps used in experiments
Map No. of nodes No. of links No. of cars
Map 1 (local city) 464 1261 12000
Map 2 (large city) 1095 3010 28000

else if(the car is stopped && (0 < gap-v)) go;


else stop;

We need algorithms that can determine the combination of signals because the S standard map only indicates the
existence of signals. Our idea for such an algorithm is shown below.
(1) Three-road intersection
[Step 1] Calculate the difference of the direction of two roads respectively.
[Step 2] Select two roads that the absolute value of the difference is close to 16.
[Step 3] Let the two roads be one group and let the rest be another group.
(2) Four-road intersection
[Step 1] Sort the roads according to the direction in small order.
[Step 2] Let the 1st and the 3rd be one group.
[Step 3] Let the 2nd and the 4th be one group.
When the number of crossing roads is an odd number greater than three, we decide the combination of signals by
accordingly extending (1). Likewise, to decide the signal combinations for an even number of crossing roads greater
than four, we extend (2).

4.3. Lane-change rules

Each car obeys the following rules for lane-change.


1. A car turning left at the next intersection must turn from the leftmost lane.
2. A car turning right at the next intersection must turn from the rightmost lane.
3. A car going straight ahead at the next intersection can be in any lane.
4. A car that is traveling behind a slow-moving vehicle has a 20% probability of changing lanes. However, a car
that is to turn at the next intersection is not able to change lanes before the intersection.
5. When a car wants to change lanes, it checks the distance and speed of other cars on adjacent lanes. If the
speed of a car behind that car is too high, passing it is not possible. Moreover, a car is not allowed to change
lanes when it is traveling behind two cars in adjacent lanes traveling at the same speed.

5. Experiments

5.1. Trial of the Traffic Flow Simulation

A simulation was carried out using the rules shown in Section 4. We implemented a simulation of two road maps
shown in Fig. 3 and Table 4. Figure 3 shows the maps 10 minutes after the start of the simulation. The heavy black
lines indicate stretches of congested road, defined as stretches where the link travel time is more than 5 times the
usual time calculated from the speed limit; the other roads may be congested with traffic to a lesser degree.
We determine the traveling direction of a car at an intersection so as to reflect the fact that more cars are driven on
main roads than on basic roads. We start by counting the number of main roads at an intersection. The car then has
a 30% probability of traveling on main roads. The direction of travel is randomly determined if a car doesnt go on
main roads or there is no main road at the intersection. Each cell represents 5.5 m and a single time step is 2 s. For a
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 73

Origin

Destination
(a) Map 1 (b) Map 2

Fig. 3. Maps 10 minutes after the start of the simulation. Map 1 is an example of a local city (Tsukuba city) and map 2 is an example of a large
city (Northern Tokyo). The heavy black lines indicate stretches of congested road. The origin and destination are referred in Section 5.3.

250 120
200 100
80
150
Traffic

Traffic

60
100
40
50 20
0 0
0 0.25 0.5 0.75 1 0 0.25 0.5 0.75 1
Density Density

(a) Traffic on a main road on map 1 (b) Traffic on a main road on map 2

Fig. 4. Density and traffic on a main road. The density is the number of cells in which a car exists divided by the number of all cell on the target
road. The traffic is the number of cars driven on a particular road at intervals during a 1000-step simulation run.

given road, the speed limit acts as the maximum speed. The density on a basic road is uniformly 0.1 at the beginning
of a simulation run, where the density is the number of cells in which a car exists divided by the number of all cell
on the target road. We vary the density on main roads from 0 to 1. The numbers of cars driven on a particular road
at intervals during a 1000-step simulation run is shown in Fig. 4. Because cars on basic roads can flow into main
roads, in both figures, the traffic does not become 0 when density is 0. The traffic has maximum when density is
around 0.23 and 0 on map 1 and 2, respectively. We see that heavier congestion can frequently occurs over a wider
area on map 2.

5.2. Effectiveness of infection

To evaluate the performance of the infection in the proposed method, we first performed experiments in a static
environment. The size of population N p = 30, the upper bound of generations M = 500, and parameters of the
fitness function (a, b, c) = (0, 1, 1) in the GA. Figure 5 shows the road map used and examples of the route planned
by the proposed GA and the route by the DA of an available car navigation device (Panasonic KX-GA21). The map
has 7664 links and 6076 nodes. The length of the former route is 58 km.
We performed three experiments using the map. Table 5 shows the number of viruses used in generating initial
population or viral infection. Experiment 1 is the case with no infection. Experiment 2 is the case that infection uses
the same set of viruses as initial population. And experiment 3 is the case that infection uses all viruses on the map.
74 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

Table 5
Number of viruses used in each operation
Operation Experiment 1 Experiment 2 Experiment 3
Generating initial population 30 30 30
Viral infection 0 30 123

Origin

DA
GA
GA

GA DA

DA

Destination

Fig. 5. The map used and examples of routes planned by the GA or the DA in a static environment. The map has 7664 links and 6076 nodes.
The length of the route by the GA is 58 km.

92
No infection
90
Infection by 30 viruses
Travel time (min)

88 Infection by all viruses


86
84
82
80
78
10 20 30 40
Computational time (sec)

5.8
5.6
Penalty

5.4
5.2
5
4.8
10 20 30 40
Computational time (sec)

Fig. 6. Effectiveness of infection in a static environment.

Figure 6 shows experimental results which are averages of 5 trials. The left figure shows the travel time between
the origin and the destination, and the right figure shows the average penalty per link for the constraint violations
shown in Table 3. The x-axes of both figures indicate the computational time when using a 550 MHz Pentium III
PC. They include the time required to read a map databases from a CD-ROM and generate a population of viruses.
The case of infection using 30 viruses is superior to the case of no infection over the entire region in both figures,
while the amount of knowledge, that is the number of viruses, used in computation is the same for both cases.
Furthermore, Fig. 6 shows that the performance can be improved, when increasing the amount of knowledge.
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 75

(a) Original route (0 min) (b) Route after 5 min (c) Route after 15 min

Fig. 7. Routes on map 1 planned by the GA in a dynamic environment.

(a) Original route (0 min) (b) Route after 5 min (c) Route after 15 min

Fig. 8. Routes on map 1 planned by the DA in a dynamic environment.

5.3. Route Planning in Dynamic Environments

We simulated a case with variation in the road information in order to compare the proposed GA and the DA. The
size of population N p = 15, the upper bound of generations M = 100, and parameters of the fitness function (a, b,
c) = (0, 1, 1) in the GA. The cost function of the DA is travel time, which does not include the delay time shown
in Table 3 because considering the number of turns is difficult for the DA (this will involve the expansion of search
space). The search area of the DA was limited to the region within the rectangle whose diagonal links the origin and
the destination. The experimental conditions for the DA are based on these of an available car navigation device.
We again used the road maps in Fig. 3 and Table 4. Figures 7 and 8 show the routes on map 1 planned by the GA
and the DA, respectively. The original route is the route with no traffic, planned before a car starts out. The road
information was updated every 5 minuets. The same routes on map 2 are shown in Figs 9 and 10. We see that both
methods can generate different routes in response to change in the road information.
Table 6 shows indexes on the quality of routes on map 1. The travel time in Table 6 includes the delay time. The
main road ratio means the ratio of main road length to route length. The computational time is the time when using
a 550 MHz Pentium III PC. The same results for map 2 are shown in Table 7. Tables 8 and 9 show the travel time
and the computational time of the routes by the DA (see Figs 8 and 10).
The results in Tables 6 to 9 led us to the following conclusions.
The GA and the DA give about the same performance in terms of travel time.
The GA is superior in terms of computational time needed to respond to changes in the road information. It
took 1.4% or 7% of the computational time before starting for map1 and 1.8% for map 2, while the time for the
DA was almost the same as before starting.
This means that the GA is an effective solution to real time route planning problems. As described above, we set
(a, b, c) to the specific values in the experiments. These values obviously give no effect on computational time.
76 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

Table 6
Experimental results for GA in dynamic environment
on map 1
Index 0 min 5 min 15 min
Travel time (min) 23.5 36.4 49.3
Length of route (km) 15.0 15.5 15.0
Number of signals 19 17 19
Number of turns 3 5 3
Main road ratio 1.00 1.00 1.00
Computational time (s) 0.71 0.01 0.05

Table 7
Experimental results for GA in dynamic environment
on map 2
Index 0 min 10 min 15 min
Travel time (min) 18.7 42.6 34.2
Length of route (km) 9.8 10.4 10.4
Number of signals 16 23 20
Number of turns 4 4 4
Main road ratio 1.00 0.92 1.00
Computational time (s) 3.41 0.06 0.06

(a) Original route (0 min) (b) Route after 10 min (c) Route after 15 min

Fig. 9. Routes on map 2 planned by the GA in a dynamic environment.

(a) Original route (0 min) (b) Route after 10 min (c) Route after 15 min

Fig. 10. Routes on map 2 planned by the DA in a dynamic environment.

6. Conclusions

In this paper, we have described our proposal for a practical method for dynamic route planning and the method
of its evaluation. Experiments using actual road maps have shown that the infection approach is effective in solving
the problem and that the method is superior to the DA as a method for practical car navigation devices.
H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms 77

Table 8
Experimental results for DA in dynamic environment
on map 1
Index 0 min 5 min 15 min
Travel time (min) 24.4 36.4 41.6
Computational time (s) 4.84 4.83 3.19

Table 9
Experimental results for DA in dynamic environment
on map 2
Index 0 min 10 min 15 min
Travel time (min) 22.1 37.7 31.4
Computational time (s) 8.07 5.60 6.26

Because GAs always have routes in a population during a search, it is possible for the route to be reevaluated
in a short time using another routes in the population and the constraints regarding all amenities in driving can be
reflected in search. It is different in these features from the DA.
It is the first study of virus GA applications to real world problems. In our method, domain specific knowledge,
that is schema, is regarded as a virus, and genetic operations determine the quasi-optimal combination of viruses.
Our strategy is general, and can be effectively used in other optimization problems. We will apply the strategy to
timetabling problems, the learning of neural networks, and the evolution of cellular automata.
In the future work, we will introduce multiobjective optimization techniques into the GA so that three fitness
functions: route length, travel time, and amenity of driving can be evaluated separately. The travel time prediction
is the important challenge in route planning. We will extend the proposed method so that predicted values can be
taken into consideration.

Acknowledgments

The author wishes to thank Dr. Hideomi Nakahara of Yamanashi Medical College for their considerable advice
with the virus theory of evolution. The author is also deeply indebted to the Navigation System Researchers
Association for providing the digital road-map database. The experiments were performed using computer programs
developed by Mr. Nobuaki Nakamura, Mr. Tomohiro Nakamura, and Mr. Hideki Kozuka. This research was
partly supported by Grant-in-Aid for Scientific Research by the Ministry of Education, Culture, Sports, Science and
Technology (13680430).

References

[1] K. Chen and J.C. Miles, ITS Handbook 2000 Recommendations from the World Road Association (PIARC), Artech House, 1999.
[2] E.W. Dijkstra, A note on two problems in connection with graphs, Numerische Mathematik 1 (1959), 269271.
[3] B. Golden, Shortest-path algorithms a comparison , Operations Research 24(9) (1976), 11641168.
[4] R.E. Korf, Real-time heuristic search, Artif Intell 42(23) (1990), 189211.
[5] I. Chabini and S. Lan, Adaptations of the A* algorithm for the computation of fast paths in deterministic discrete-time dynamic network,
IEEE Transactions on Intelligent Transportation Systems 3(1) (2002).
[6] D.A. Coley, An Introduction to genetic algorithms for scientists and engineers, World Scientific, 1999.
[7] H. Nakahara, T. Sagawa and T. Fuke, Virus theory of evolution, Bulletin of Yamanashi Medical College 3 (1986), 1418.
[8] H. Kanoh et al., Solving constraint satisfaction problems by a genetic algorithm adopting viral infection, International Journal on
Engineering Applications of Artificial Intelligence 10(6) (1997), 531537.
[9] N. Kubota, K. Shimojima and T. Fukuda, The roule of virus infection in a virus-evolutionary genetic algorithm, Journal of Applied
Mathematics and Computer Science 6(3) (1996), 415429.
[10] H. Kanoh, B. Lien, A. Kashiwazaki et al., Real-time route selection using genetic algorithms for car navigation systems, IEEE International
Conference on Intelligent Vehicles (IV98) (1998), 207212.
[11] H. Kanoh and T. Nakamura, Knowledge based genetic algorithm for dynamic route selection, International Conference on Knowledge
Based Intelligent Engineering Systems and Allied Technologies (KES2000), 2000, 616619.
78 H. Kanoh et al. / Dynamic route planning for car navigation systems using virus genetic algorithms

[12] H. Kanoh and H. Kozuka, Evaluation of GA-based dynamic route guidance for car navigation using cellular automata, IEEE Intelligent
Vehicle Symposium (IV2002) (2002), 178184.
[13] C. Hocaoglu and A.C. Sanderson, Planning multiple paths with evolutionary speciation, IEEE Transaction on Evolutionary Computation
5(3) (2001), 169191.
[14] C.W. Ahn and R.S. Ramakrishna, A genetic algorithm for shortest path routing problem and sizing of population, IEEE Transaction on
Evolutionary Computation 6(6) (2002), 566579.
[15] M. Barbehenn, A note on the complexity of Dijkstras algorithm for graphs with weighted vertices, IEEE Transaction on Computers 47(2)
(1998), 263.
[16] H. Kozuka, Y. Matsui and H. Kanoh, Traffic flow simulation using cell automata under non-equilibrium environment, IEEE International
Conference on Systems, Man, and Cybernetics (2001), 13411345.
[17] K. Nagal and M. Schreckenberg, A cellular automata model for freeway traffic, Journal of Phys I2 (1992), 22212229.
[18] K. Nagel and M. Rickert, Parallel implementation of the TRANSIM micro-simulation, Parallel Computing 27 (2001), 16111639.
[19] J. Wahle, L. Neubert, J. Esser and M. Schreckenberg, A cellular automaton traffic flow model for online simulation of traffic, Parallel
Computing 27 (2001), 719735.
[20] E.P.F. Chan and N. Zhang, Finding shortest paths in large network systems, Proceedings of the 9th ACM international symposium on
Advances in geographic information systems, 2001, 160166.
[21] M. Fu, J. Li and Z. Deng, A practical route planning algorithm for vehicle navigation system, Fifth World Congress on Intelligent Control
and Automation (WCICA 2004), Vol. 6, 2004, 53265329.
[22] P. Pattanamekar, D. Park, L.R. Rilett et al., Dynamic and stochastic shortest path in transportation networks with two components of travel
time uncertainty, Transportation Research Part C 11 (2003), 331354.
[23] Navigation System Researchers Association, http://www.naviken.jp/.

You might also like