You are on page 1of 6

A Dynamic Routing Control Based on a Genetic Algorithm

Norio Shimamoto, Atsushi Hiramatsu, and Kimiyoshi Yamasaki


"IT Communication Switching Laboratories
3-9-11 Midori-cho Musashino-shi, Tokyo 180, JAPAN
TEL:+81422 59 2822
FAx:+81422 59 2473

Abstract
This paper demonstrates that a dynamic
routing control based on a Genetic Algorithm can
provide flexible real-time management of the
dynamic traffic changes in broadband networks. We
propose a string structure, each of whose elements
represents paths between each pair of origin and
destination terminal nodes, and a new technique
using the past solutions as the initial data for new
searches. These techniques dramatically improve
the efficiency and convergence speed of the Genetic
Algorithm. Computer simulations show that the
Genetic Algorithm using the proposed techniques
can generate the exact solution of path arrangement
and can find a routing arrangement that keeps the
traffic loss-rate bellow a target value even after
changes in traffic.

1. Introduction
In the future B-ISDN (Broadband Integrated
Services Digital Network) providing multimedia
communication services, changes in traffic a r e
expected to be more dynamic and less predictable
than in today's networks. The various methods for
dynamic routing have therefore been proposed [11[21
131 are generally categorized into two groups: timedependent a n d network-state-dependent. Timedependent methods change t h e r o u t i n g t a b l e
according to the traffic patterns that are expected at
each scheduled time a n d therefore cannot
accommodate unexpected traffic changes. Statedependent methods, on the other hand, are flexibly
adaptive to dynamic traffic changes because they
generate a new routing table in real-time according
to changes in the monitored trafflc. The problem
with state-dependent method i s t h a t finding
satisfactory solutions requires a huge amount of

0-7803-0999-5/93/$03.0001993 IEEE

1123

calculation power. For each traffic change, we have


t o find the optimal combination of paths between
every pair of nodes, but i t is impossible to get the
optimal solution within a practical control cycle
because there are almost infinitely many possible
paths in an actual network. Practical and effective
methods for finding quasi-optimal solutions have
therefore been investigated.
Neural Networks and Genetic Algorithms,
for example, a r e new approaches t h a t seem
promising ways for solving such complicated large
problems. ATM call admission and link capacity
controls using Neural Networks have already been
reported [41[51, as has the use of Genetic Algorithms
for ATM bandwidth allocation [SI.
A Genetic Algorithm is a method for solving
an optimization problem through the evolution of
"genes": parameters t o be optimized are coded by
s t r i n g s of c h a r a c t e r s o r numbers, a n d genetic
operations (Reproduction, Selection, Crossover, and
Mutation) are iterated [71. The main advantages of
Genetic Algorithms are the following: (1) Because
only primitive procedures like "cut" and "exchange"
of strings are used for generating new genes from
old, it is easy to handle large problems simply by
using long strings; (2) Because only values of the
objective function for optimization are used to select
genes, this algorithm can be robustly applied to
problems with any kinds of objective functions, such
as nonlinear, indifferentiable, or step functions; (3)
Because the genetic operations a r e performed at
random and also include mutation, it is possible to
avoid being trapped by local-optima. Communication
networks present large-scale optimization problems
with various kinds of objective functions, and
Genetic Algorithms should be suitable for such

problems.
This paper proposes a new dynamic routing
method based on a Genetic Algorithm. A new string
structure and genetic operations suitable for network
problems is proposed, and an optimization method
that uses past solutions as the initial data for new
searches is also proposed. These techniques
dramatically improve the efficiency and convergence
speed of t h e Genetic Algorithm. Finally we
demonstrate the capability of the proposed Genetic
Algorithm by presenting the results obtained from
computer simulation of a path arrangement problem
and a dynamic routing problem.
2. Routing problem and Genetic Algorithm
2.1 Routing problem
The network model considered in this paper
is a set of M switching nodes connected by L physical
links. A sample network model with M=8 and L=12
is shown in Fig. 1. Each pair of nodes in the network
is connected by one logical link called a "path," which
is created by sharing the capacities of some of the
Path(1)
(between nodes 1 and 2)

[Route table]

Path(28)
(between nodes 7 and 8)

[Configuration string]
path(1) ~aih(2)~ath(3)
1 2 I 1
4
.... .......,.

Selected route
(1-8-3-2)

t
I

[Network configuration]

Selected route

Physical link
0 -

Fig. 1. 8-node network model and an example


of a configuration string.

physical trunks connecting the pair of nodes. A path


carries traffic (calls) in both directions, so the
capacity required for each path is the sum of the
traffic demand in both directions and the total
number of paths is M(M-1)/2.
T h e r e a r e usually many possible
combinations of physical links that can make up a
path between any two nodes. For example, a path
between nodes 1 and 2 in Fig. 1 could be such
combinations of physical links as 1-2, 1-8-3-2, 1-7-2,
and so on. These combinations of physical links are
called possible "routes" for the path. A routing
algorithm selects one of possible routes for each path,
and a set of the selected routes is called a "network
configuration."
A network configuration determines the
routes for all p a t h s and, therefore, the traffic
demand for each physical link. When the trafftic
demand for a physical link exceeds the capacity of
the link, the fraction of traffic that the link cannot
carry is called the "call loss-rate." Given a network
model and traffic demands between all pair of nodes,
t h e routing problem is t o find t h e network
configuration that minimizes the call loss-rate. The
search space for this kind of optimization problem is
large even for a small network. For the network
shown in Fig. 1, there are about 10 possible routes
for each path, so the number of total combinations is
about loa8.
2.2 Route table and gene coding
In a dynamic routing problem, the network
model is constant and only the traffic demands are
changing. All possible routes for each pair of nodes
can therefore be thoroughly searched in advance and
arranged in a "route table" in order of length. In the
proposed Genetic Algorithm, each route for a path is
identified by a "route No.", which is its row number
in the route table.
A gene is a string of route No's. for all paths.
This gene is called a "configuration string," and its
length i s M(M-1)/2. A simple example of a
configuration string is shown also in Fig. 1. By

changing the combinations of route No's. in a string,


various patterns of network configuration can be
generated easily.
For a large-scale network, the number of
possible routes for each path may become very large.
To make the route tables small in this situation, the
number of candidate route is limited and only K
shortest routes are listed in a route table for each
path.
Another coding method has been proposed by
Pan and Wang [SI.In their method, for each path ,
all possible traffic demand distribution patterns over
possible routes are first listed in a table, and a gene
is a string of traffic distribution pattern No's. for all
paths. This coding method is not practical because
the number of all possible traffic distribution
patterns is huge. Furthermore, this coding method is
not suitable for finding a network configuration
assigning a route for each path.
2.3 Optimization procedure
The outline of our optimization procedure,
schematically illustrated in Fig. 2, is described as
follows:
(1)Initialization of configuration strings
All elements in a configuration string are initially
selected at random from corresponding route tables.
N different strings are created by repeating this
procedure, and these are the first generation. A set of
Initialization
[Initial generation]

ReproductiordSelection
Reproduction

Gene pool
Evaluation
I *
-Genetic operation
Crossover
Mutation
[Next generation]

[T--][--)
Crossover

Mutation

Exchange
Solution : the best gene
(Number of cutting sites =3)
in the last generation
Fig. 2. Optimization procedure in the proposed
Genetic Algorithm.

these strings is called a gene pool, and N is the


population of the gene pool.
(2) Evaluation of strings
A "fitness" is calculated for each string in the gene
pool. The fitness is a value of the objective function
for the network configuration represented by the
string.
(3)Reproduction and Selection of strings
According to their fitness values, some of strings are
reproduced and some are eliminated from the gene
pool in such a way that strings having large fitness
values reproduce more and strings having small
values die off. The number of the strings is always
restricted to N.
(4) Crossover
Two strings are picked a t random from the gene pool,
randomly selected parts of them are exchanged, and
then these new strings are return to the gene pool. A
sophisticated method for determining the number of
cutting sites may be necessary to speed evolution.
The evolutionary process advances slowly when the
number of cutting sites is small, but if too many sites
are cut "superior" strings representing good network
configurations may be broken by crossover. In the
algorithm present here, we randomly vary the
number of cutting sites between 1,2, and 3.
( 5 ) Mutation
This operation is the random change, with a small
probability P of some elements in a string.
After these operations, the string in the gene
pool are the new generation. Procedures (2) through
(51, are repeated until a quasi-optimal string is found
for the objective function. The network configuration
represented by this string is satisfactory for most
actual purposes.

2.4 Re-use ofpast solutions


In the procedure just described, all the firstgeneration strings are initialized a t random in
expectance of obtaining the optimal solution without
being trapped by local optima. This procedure,
however, i t is not effective for rapidly getting a
solution satisfying the control target. We therefore

1125

propose a more effective method that uses the past


results as a part of the initial data for the current
search (Fig. 3). A pool of strings preserves the past
strings (the obtained routing patterns), and capacity
of this pool is set at less than the population. When
this past-solution pool is full, the oldest string is
discarded. (A new string the same as an old one is
neglected.) For each search, all strings in the pastsolution pool are copied as initial strings and the rest
of initial strings are determined randomly. We expect
useful parts of the past strings t o be exchanged in
genetic operations and to survive the advance of
generations. We also expect the table to eventually
become a collection of optimal solutions for various
kinds of traffic patterns. The number of iterations is
therefore reduced, especially for periodic traffic
change with some fluctuations. For a traffic change
very different from those already experienced? the
Genetic Algorithm will of course produce a very new
network configuration by combining randomly
generated strings.

link configuration to minimize the sum of all link.


The node positions for this problem were the same as
those shown in Fig. 1. For the genetic operations, we
used a population N=50 and a mutation rate P=0.05.
The route tables were determined in advance.
The shortest total length in each generation
rapidly decreases during the first 100 generations,
and the optimal solution determined by exhaustively
searching all candidates is obtained at the 700-th
generation (Fig. 4). The optimal network (link)
configuration (with routes) is shown in Fig. 5 and the
corresponding routes a r e listed in Table 1. We

- sol-

Genetic Algorithm

3. Simulation results

800
loo0
Generation
Fig. 4. Performance of the Genetic Aigoriihm
and of random searches.
200

400

600

3.1 Path arrangement


To demonstrate the basic capability of the
Genetic Algorithm? we first solved the following
sample problem:
Without capacity constrains? get the optimal

=19.3

initial generation
Fig. 5. Solution obtained by the Genetic Algorithm.
The strings are copied
as initial strings.

Table 1. Path configuration obtained


bYt le Genetic AIg h h m .
path No
path Na
1
183
2
16
3
17
1 8 3 5 4
3 2 7
4
1835
18 1 3 8
5
1 8 3 5 6
19
4 5
6
1 8 3 2 7
2D
4 5 6
18
7
21
4 5 3 2 7
8 23
P
4 5 3 8
9 2 3 5 4
23
56
10 2 3 5
24
5 3 2 7
11
2 3 5 6
25
5 8
12 2 7
a6
6 5 3 2 7
13 2 3 8
27
6 5 3 8
14 3 5 4
28
7 2 3 8

-F1
5

Past-solution 0001

The obtained solution(string)


TrafficChanges (the obtainedsolutions)

Fig. 3. Re-use of obtained solutions.


1126

compared t h e Genetic Algorithm with random


searches in which each element of a string was
randomly changed at random at each generation. We
used two types of the random searches: a single-point
search (population of 11, and a multi-point search
(population of 50, t h e same a s t h e Genetic
Algorithm). The Genetic Algorithm is clearly much
more effective than either of the random searches.

between 30 er1 and 40 erl.


(iii) Traffic observation and routing control
Traffic was observed every 15 minutes, and the delay
between traffic observation and the control action
was 15 minutes.
(iv) Base path assignment
The shortest path (listed in Table 2) was initially
established between each two nodes.

3.2 Routing control


This section uses the same network model to
demonstrate the good performance of the proposed
routing control method.
(Assumptions)
(i) Network link configuration
The network link configuration and the capacity of
the links are shown in Fig. 6.
(ii) Traffic characteristics
For the central nodes 2, 3,5,and 8,the offered loads
increase in the daytime, whereas for the peripheral
nodes, the offered loads increase in the evening (Fig.
7). Loads for the rest of links change randomly

(Improvement of loss-rate)
The routing controller searched for a
satisfactory routing, taking into account the observed
traffic pattern. Here the control target was defined
as keeping the highest link loss-rates smaller than 0.
01. The objective function is written as
E=max( F[A(i, j>,C(i,j>l1,
where A(i, j) is the total load demanded for a physical
link between node i and j, C(i, j) is the capacity of the
physical link, and F is an "Erlang-B" formula that
estimates the average call loss-rate for the link. The
total load is the sum of all traffic passing through
that link.
The routing control goes into action only
when the maximum loss-rate exceeds the target
value. Fig. 8 shows simulation results for t h e
proposed routing control and for shortest-path
assignment. With the fixed routing, the offered loads
overflow during the busy periods. The proposed
method, however, keeps the loss-rate well under the
target value by changing the path arrangement. For
each path rearrangement, a satisfactory solution was

Fig. 6. Link capacity in the network model.


Table 2. Base path assignment (all paths are
the shortest route).
path No. 'selected route path No1 selected route
1
2
3
4

5
6
7
8
g
10
11
12
13
14

1 2

1
1
1
1
1
1
2
2
2
2
2
2
3

8
8
8
8
7
8
3
7
3
3
7
3
5

3
6 4
6 5
6

15

8 3

16
17
18
19

3
3
3
4
4
4
4
5
5
5
6
6
7

a0
21
4
5
5 6
8
4

22
23
24

25
a6
27

28

5 6
2 7

8
5
6
7
6
6
3
6
5
8
2

12

16

a0 Hour

7
1

12

16

P Hour
7

8
2 7
8
3 2 7
3 8

(a) Traffic between central nodes (b) Traffic between peripheral nodes
Fig. 7. Characteristics of offered traffic.
1127

L
v)

0.07
r
-.

0.06

0.06

0.05

d3

0.05
0.04

0.03

3
5

0.04
0.03

.sE

0.02

Fixed routing
Proposed method

5 0.02

2 0.01
0

0.01
0

Hour

Controller action

Fig. 8. Performance of the proposed routing control.

Fig. 9. Performances of the proposed method and the


shortest-path-assignment method (and the number of
generations needed for the proposed method to find a
satisfactory solution).

obtained within 150 generations.


3.3 Effectsof re-using the obtained solutions
In this simulation, the control target and
assumptions were similar to those in Section 3.2,and
the demanded traffic was changed periodically with
some fluctuations. If the number of strings copied
from the past-solution pool into the first generation
is too large, the elements of each generation are so
similar those of the previous generation t h a t the
evolution does n o t progress effectively. In t h e
simulation, for a population of 50, we set the capacity
of the past solution pool at 20. The simulation result
(Fig. 9) shows that number of generations needed t o
reach a suitable solution decreases dramatically over
time as more of the past strings are preserved. The
proposed technique especially is useful for traffic
changes like these, with periodical fluctuations.
4. Conclusion
We have proposed a routing control based on
a Genetic Algorithm. By using the configuration
string whose element represents a path between
nodes, we can obtain a solution that meets the lossrate requirements after relatively few generations
(that is, within a short calculating time). Moreover,
t h e n u m b e r of searching i t e r a t i o n s h a s been
decreased by using the past routing patterns as a
p a r t of t h e initial d a t a for new searches. The
proposed method is therefore useful for dynamic
routing control during traffic fluctuations, and it can

be extended to such network problems as network


design and virtual-path control in B-ISDN networks.

Acknowledgment
We thank Ken-ichi Yukimatsu and Masayuki
Yanagiya of NTT Communication Switching
Laboratories for their valuable suggestions and
discussions.
References
[l] B. R. Hurley, C. J.R. Seiadl, and W.F. Sewell, "A survey of
dynamic routing methods for circuit-switched traffic," IEEE
Communication Magazine, Vol. 26, No. 9, pp. 13-21, 1987.
[2] R. R. Stacey, "Dynamic alternative routing in the British
Telecom trunk network," ISS'87, session B12.4, pp. 984-988, Mar.
1987.
[3] P. Gauthier and P.Chemouil, "A system for testing adaptive
traffic routing in France," GLOBECOM87, session 23.4, pp. 885890,1987.
[4] A. Hiramatsu, "ATM communications network control by
Neural Networks," IEEE Trans. Neural Networks, Vol. 1, No. 1,
pp. 122-130,1990,
[5] A. Hiramatsu, "Integration of ATM call admission control and
link capacity control by distributed Neural Networks," IEEE
JSAC, Vol. 9, NO.7, pp. 1131-1138, 1991.
[6] H. Pan and I. Y. Wang, "The bandwidth allocation of ATM
through Genetic Algorithm," GLOBECOM91, session 4.4, pp. 125129,1991.
171 D.E. Goldberg, "Genetic Algorithms in search, optimization,
and machine learning," Addison Wesley Publishing Company,
1989.

1128

You might also like