Professional Documents
Culture Documents
articleinfo
abstract
Keywords:
Multi-objective optimization
The shortest path routing problem is a multiobjective nonlinear optimization problem with a set of
Nondominated sorting genetic algorithm constraints. This problem has been addressed by considering delay and cost objectives simultaneously
Routing and as a weighted sum of both objectives for comparison. Multiobjective evolutionary algorithms can
Random based encoding find multiple pareto-optimal solutions in one single run and this ability makes them attractive for
Priority based encoding solving problems with multiple and conflicting objectives. This paper uses an elitist multiobjective
Node based cross-over evolutionary algorithm based on the nondominated sorting genetic algorithm (NSGA), for solving the
Partially mapped cross-over dynamic shortest path routing problem in computer networks. A priority-based encoding scheme is
proposed for population initialization. Elitism ensures that the best solution does not deteriorate in the
succeeding genera- tions. Results for a sample test network have been presented to demonstrate the
capabilities of the proposed approach to generate well-distributed pareto-optimal solutions of dynamic
routing problem in one single run. The results obtained by NSGA are compared with single objective
weighting factor method for which genetic algorithm (GA) is applied.
© 2011 Elsevier Ltd. All rights reserved.
⇑ Corresponding author. Tel.: +91 451 2554032; fax: +91 451 2554249.
(Craveirinha, Girao-Silva, & Climaco, 2008). The second goal is problem (Araujo, Garrozi, Leitao, & Gouvea, 2006; Wook &
to optimize the global network resource utilization. Many Ramakrishna, 2002). In an ideal multi-objective optimiza- tion
applications, such as audio, video conferencing or collaborative procedure, multiple trade-off solutions are found. Higher level
environments and distributed interactive simulations have information is used to choose one of the trade-off solutions. It is
multiple QoS requirements such as bandwidth, packet delay, easy to realize that single objective optimization is a degenerate
packet loss, cost etc. (Sriram, Manimaran, & Siva Ram Murthy, case of multi-objective optimization.
1998). In this paper, NSGA based approach is proposed for solving the
The simple multi-objective method is to form a composite dynamic routing optimization problem. The problem is formulated
objective function as the weighted sum of the objectives, as a nonlinear constrained multiobjective optimization problem
where a weight for an objective is proportional to the where cost and delay are treated as competing objectives. A
preference factor assigned to that particular objective. This diversity-preserving mechanism is developed and superimposed
method of scalarizing an objective vector into a single on the search algorithm to find widely different pareto-optimal
composite objective function con- verts the multi-objective solutions. Several runs are carried out on a sample network and
optimization problem into a single objec- tive optimization the results are compared to the single objective optimization by
weighted sum method.
0957-4174/$ - see front matter © 2011 Elsevier Ltd. All rights reserved.
doi:10.1016/j.eswa.2011.08.044
C. Chitra, P. Subbaraj / Expert Systems with Applications 39 (2012) 1518–1525 1519
X
The paper is organized as follows: Section 2 describes the f2 ¼ dijXij: ð2Þ
multi- objective optimization routing problem formulation, Section ði;jÞ2E
3 describes the evolutionary algorithm, NSGA in detail, Section 4
describes the implementation of NSGA for dynamic routing and Subject to the constraints
Section 5 discusses the results followed by conclusion in Section 6. X X
Xij — Xji ¼ 1; i ¼ S; ð3Þ
ði;jÞ2 ði;jÞ2
2. Problem formulation EX EX
Xij — Xji ¼ —1; i ¼ D; ð4Þ
The routing problem is formulated as a multi-objective mathe- ði;jÞ2E
X X
matical programming problem which attempts to minimize both Xij — Xji ¼ 0; i – S; i – D; ð5Þ
delay and cost simultaneously, while satisfying the constraints. ði;jÞ2 ði;jÞ2
E E
The topology of a multihop network is specified by an undirected Xij ¼ 0 or 1: ð6Þ
graph, where the set of nodes is V, and the set of its link is E. There
Constraints (3)–(5) are flow conservation constraints. Con-
is a cost Cij associated with each link. The costs are specified by the
straint (3) ensures that the total flow emerging from ingress node
cost matrix C = [Cij], where Cij denotes a cost of transmitting a
to egress node should be 1. Constraint (4) ensures that the total
pack- et on link (i, j). The delay is specified by the delay matrix D =
flow coming towards an egress node should 1. Constraint (5) en-
[dij], where dij denotes the propagation delay of transmitting a
sures that for any intermediate node different from the ingress
packet on link (i, j). Source and destination nodes are denoted by S
node and egress node, the sum of their output flows to the egress
and D, respectively. Each link has the link connection indicator
node D minus the input flows with destination egress node D
denoted by Xij, which plays the role of a chromosome map
should be zero. The variable Xij in (6) takes values 0 or 1, to show
providing infor- mation on whether the link from node i to node j
whether or not the link (i, j) is used to carry information to the
is included in a routing path or not. If the link is used then the
egress node D.
binary variable is 1 else it is 0. A path from node Vi to node Vj is a
sequence of nodes from V in which no node appears more than
once. A path can also be equivalently represented as a sequence of 3. Principles of multi-objective optimization
nodes (Vi, V l ,..., Vk, Vj). For the example given in Fig. 1, (1, 2), (2,
3), (3, 8) and (8, 14), (14, 20) is a path from node 1 to node 20. Most real-world problems involve simultaneous optimization
The path representation is (1, 2, 3, 8, 14, 20). The problem is to of several objective functions. Generally, these functions are often
find a path between the source and destination nodes having competing and conflicting objectives. Multi-objective optimization
minimum total cost and min- imum end to end delay (Chen & Sun, having such conflicting objective functions gives rise to a set of
2005; Mukhef, Farhan, & Jas- sim, 2008). optimal solutions, instead of one optimal solution. Here no
Objectives: solution can be considered to be better than any other with
respect to all objectives. These optimal solutions are known as
(a) Cost: The total cost function is the sum of cost of link along pareto-optimal solutions. Classical optimization methods can at
the path from the source to the destination. The cost can be the best find one solution in one simulation run. Therefore these
expressed as methods are incon- venient to solve multi-objective optimization
X problems. Evolution- ary Algorithms, on the other hand, can find
f1 ¼ Ci X i : ð1Þ multiple optimal
ði;jÞ2 j j
E solutions in one single simulation run due to their population
(b) Delay: The total delay function is the sum of delay of the link based approach.
along the path from the source to the destination. There are Generally, multi-objective optimization problem consisting of a
three basic concepts of delay, viz. switching delay, queuing number of objectives and several constraints can be formulated as
delay and propagation delay. follows:
Minimize/maximize
The delay can be expressed as
fiðxÞ i ¼ 1; 2; 3; ... Nobjectives:
Subject to
5 g k ðxÞ ¼ 0; k ¼ 1; 2; 3; . . . K;
11 16 hlðxÞ 6 0; l ¼ 1; 2; 3; .. . L;
410 where fi is the ith objective function, x is a decision vector that rep-
19 resents a solution and Nobjectives is the number of objectives. K and L
1 15 are the number of equality and inequality constraints respectively.
S 3 9 In many real-life problems, objectives under consideration conflict
with each other. Hence, optimizing x with respect to a single objec-
20
tive often results in unacceptable results with respect to the other
14 objectives. Therefore, a perfect multi-objective solution that simul-
2 8
18 taneously optimizes each objective function is almost impossible.
A reasonable solution to a multi-objective problem is to investigate
7 13 a set of solutions, each of which satisfies the objectives at an
17 accept- able level without being dominated by any other solution
6
12 (Abido, 2003).
For a multi-objective optimization problem, any two solutions
Fig. 1. A simple undirected graph with 20 nodes and 48 edges. x1 and x2 can have one of two possibilities: one dominates the
other or none dominates the other. In a minimization problem,
1520 C. Chitra, P. Subbaraj / Expert Systems with Applications 39 (2012) 1518–1525
The parameters xkmax and xmin are the upper and lower bounds of
A description of the NSGA algorithm is given in this section. The variable xk.
difficulties of classical methods can be listed as: To find multiple Step 2: Then the sharing function value is calculated using the fol-
pareto-optimal solutions the algorithm has to be applied many lowing equation
times. Most algorithms demand some knowledge about the prob-
8< 1 —r. =
dij
lem being solved. The spread of pareto-optimal solutions depends Σ2 ; r ;9
if d 6Shar
ShðdijÞ¼ shar
e :
on efficiency of the single objective optimizer. In general, the goal :
of a multiobjective optimization is to find the pareto-optimal front ;
and also maintain population diversity in the set of the nondomi- 0 otherwise
nated solutions. Step 3: Calculate niche count for the ith solution as follows:
NSGA uses ranking selection method to emphasize current non-
dominated solutions and a niching method to maintain diversity in X
nk
the population. Two main steps are followed in the algorithm (i) nCi ¼ ShðdijÞ:
j¼1
fitness assignment which prefers nondominated solutions and (ii)
fitness sharing strategy which preserves diversity among solutions Step 4: Calculate the shared fitness value as
of each nondominated front.
fi0 ¼ fi =nC i :
4.1. Fitness assignment
This procedure is continued for all population members and the
The basic idea of this approach is to find a set of solutions in the corresponding fi0 is found. The smallest valuek f min of all fi0 in that
population that are nondominated by the rest of the population. par- ticular front s found for further processing. The dummy fitness of
C. Chitra, P. Subbaraj / Expert Systems with Applications 39 (2012) 1518–1525 1521
A routing path is encoded by a string of positive integers that Fig. 2. Example of random based encoding scheme.
represent the IDs of nodes through which the path passes. Each lo-
cus of the string represents an order of a node that is indicated by
3 respectively. The node 3 has the highest priority and is put into
the gene of the locus. The gene of the first locus is for the source
the path. The possible nodes from node 3 are nodes 1, 2, 4, 7, 8
node and the one at the last locus is for the destination node.
and 9. The priorities of these nodes are 2, 5, 6, 9, 4 and 10 respec-
The length of a routing path should not exceed the maximum
tively. Since node 9 has a larger value than the other nodes, it is ta-
length n, where n is the number of nodes in the network. Two
ken as the next node while constructing the path. Then the set of
encoding techniques are proposed as following.
nodes that are available for next consideration are chosen and
the one with the highest priority among them is selected. The same
(i) Random based encoding (RBE).
procedure is repeated until a complete path from the source node1
(ii) Priority based encoding (PBE).
to the destination node 20 is obtained (1, 3, 9, 15, 20).
4.3.1. Random based encoding
A chromosome or an individual consists of integer node IDs 4.4. Tournament selection
that form a path from the source node to a destination node. The
chro- mosome is essentially a list of nodes along the constructed Selection plays an important role in improving the average
path, quality of the population by passing the higher quality chromo-
(S ? N1 ? Nk—1 ? Nk ? D) (Sriram et al., 1998). Each somes to the next generation. The individual with the lowest front
chromosome corresponds to a potential solution. The initial number is selected if the two individuals are from different fronts.
population is com- The individual with the highest crowding distance is selected if
posed of a certain number of chromosomes. To explore the genetic they are from the same front. A higher fitness is assigned to indi-
diversity for each chromosome, the corresponding routing path is viduals located on a sparsely populated part of the front (Srinivas
randomly generated. & Deb, 2007). In each iteration, the N existing individual parents
A random path is searched starting from source node S to des- generate N new individual offspring. Both parents and offspring
tination node D by randomly selecting a node N from the list of n compete with each other for inclusion in the next iteration.
nodes that is the neighborhood of S. Then another node Nk is ran-
domly selected from the list of nodes. This process is repeated
4.5. Crossover and mutation
until the destination D is reached. Since the path should be loop-
free, the nodes that are already included in the current path are
The first genetic operation done to the chromosomes in the
excluded, thereby avoiding re-entry of the same node. The initial
mating pool is crossover. The idea behind crossover is to create
population is generated as follows:
an information exchange between two chromosomes. By doing
so, the algorithm will explore new paths and hopefully be able to
Step 1: Start (i = 0).
find better paths in the process (Pangilinan & Janssens, 2007).
Step 2: Generate chromosome Chi: search a random loop-free
Two crossover schemes that are proposed here are node based
path P(S, D);
crossover (NBX) and partially mapped crossover (PMX).
Step 3: i = i + 1. If i < q, go to Step 2, otherwise, stop. Here q = 20.
Thus, the initial population Pt = {Ch0, Ch 1 ,..., Chq—1} is 4.5.1. Node based crossover
obtained. An example of random based chromosome encoding The cross over scheme is an adaptation of the one-point cross-
from S to D is shown in Fig. 2. over. For each pair of paths a locus is randomly selected from one
of the chromosomes and the node ID of the locus is matched with
4.3.2. Priority based encoding the genes in the other chromosome. If there is a match then cross-
Special difficulties arise when a random sequence of edges usu- over is performed otherwise two new paths are selected for cross-
ally does not correspond to a path. To overcome such difficulties, over until the mating pool is empty. Here the loci of both
an indirect approach is adopted by encoding some guiding infor- individuals need not be the same. That is, the crossover does not
mation to construct a path. The path is generated by sequential depend on the position of nodes in routing paths (Yussof & See,
node appending procedure beginning from the specified node 1 2005; Yussof & See, 2007). Figs. 4 and 5 show an example of the
and terminating at the specified node n, where n = 20. At each step, crossover procedure for NBX.
there are usually several nodes available for consideration. Each Figs. 4 and 5 show the chromosomes before and after crossover
node is assigned a priority with a random mechanism and adds respectively. In this, in the first chromosome, the third locus is cho-
the one with the highest priority into path. A gene in a chromo- sen for crossover. The node ID in the third locus is N2. In the
some is characterized by two factors: locus, i.e., the position of second chromosome, a match for N2 is found in the second locus.
gene located within the structure of chromosome, and allele, i.e., Therefore crossover is performed and the new chromosome is
the value the gene takes. In the proposed priority-based encoding shown in Fig. 5.
method, the position of a gene is used to represent node ID and its
value is used to represent the priority of the node for constructing 4.5.2. Partially mapped crossover
a path among candidates. A path can be uniquely determined from PMX is a crossover of permutations which guarantees all posi-
this encoding scheme. tions that will be found exactly once in each offspring, i.e. both off-
An example of chromosome generated using priority based spring receive a full complement of genes, followed by the
encoding scheme is shown in Fig. 3. To find a path from source corresponding filling in of alleles from their parents. PMX proceeds
node 1 to destination node 20, a node which is connected to node as follows:
1 is identified first. As seen from Fig. 1, the nodes 2, 3, 4 and 5 are
such nodes to be considered. The priorities for them are 5, 7, 6 and
1522 C. Chitra, P. Subbaraj / Expert Systems with Applications 39 (2012) 1518–1525
N
1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2
o 0 1 2 3 4 5 6 7 8 9 0
d
e
I
D
Priori 2 5 7 6 3 1 9 4 1 8 1 1 3 2 4 7 5 4 3 9
ty 0 4 6 0 0 4 0 7 6 5 0
S N1 N N N N D
3 5 6 7
N2
S N2 N D
5
N4
Fig. 5. Chromosome after crossover.
Fig. 6 shows the parents that are selected for PMX. In these par-
ents the first, two cut points are selected uniformly at random
along the parent strings. The sub strings between the cut points
are called the mapping sections. Now the mapping section of the
first parent is copied into the second offspring and the mapping
section of the second parent is copied into the first offspring which
is shown in Fig. 7.
Then offspring1 is filled up by copying the first two elements
N1, N2 of the first parent. In case a node is already present in the
off- spring it is replaced according to the mapping. Here the
mapping is defined as N4 M N3, N5 M N6 M N8. For example the
first two ele- ments of parent1 N1, N2 are copied as the first two
elements of the offspring1. The third element would be a N3 like
the first element of the mapped sections in offspring1. So there is
already a N3 pres- ent in offspring1. Hence, because of the mapping
N4 M N3 the third element of the offspring1 is chosen to be N4. The
seventh and ninth elements of offspring1 can be taken from the
first parent. However, the eighth element of the offspring1 would
be an N8, which is al- ready present. Because of the mapping N5 M
N6 M N8, it is chosen as N5. Hence offspring1 and offspring2 are
shown in Fig. 8.
Here, the source node and the destination nodes are fixed. Each
partial route is exchanged and assembled and thus, two new
routes are produced. In NBX, during crossover, there is a
possibility of routes with loops. In order to avoid this, repair
function is used as a countermeasure. If penalty functions are
used it is not easy to come up with an appropriate penalty
function. Therefore repair function finds and eliminates loops in a
routing path without increasing computation cost. Loops in a
chromosome can be re- paired by performing a search along the
eliminated. For example, assume that the chromosome shown IBM PC with Pentium dual core proces- sor and the coding was
in Fig. 9 contains a loop. developed using MATLAB version 7.4, software package.
Here, there are two N2 nodes in the chromosome which The problem is formulated as a multi-objective optimization
signifies that the path contains a loop. This chromosome can be problem, and NSGA is applied to minimize both the objectives
fixed by eliminating one of the N2 nodes and all the other nodes simultaneously. Priority based encoding technique and partially
in between the two N2 nodes. The repaired chromosome would mapped crossover methods are used. The simulation intends to
be like the one given in Fig. 10. show the behavior of a multi-objective evolutionary algorithm in
But in PMX loop formation is avoided. Here there is no terms of optimality of solutions and computational complexity.
repeti- tion of nodes. The repetition of nodes is avoided by a The algorithm was implemented and a series of simulation runs
mapping function. Therefore PMX finds many new paths were conducted to test the effectiveness of the routing algorithm.
without increasing computational complexity. Here no repair For all the runs, the sender is always the first node and the
function is needed. The objective of mutation is to create receiver is the twentieth node since that would give the largest
diversity in the population. The population undergoes number of possible paths in the network. The population size and
mutation by an actual change or flipping of one of the genes maximum number of generations have been selected as 20 and
of the candidate chromosomes, thereby keeping away from 100 respec- tively. The probability for crossover, Pc and mutation,
local optima (Craveirinha et al., 2008). Pm are 0.8 and 0.1 respectively. The pareto-optimal front
discovered by the proposed approach is shown in Fig. 11. The CPU
5. Results and discussion execution time was found to be 5681 s.
For comparison purposes, the problem has been converted to a
In order to test the capability of NSGA algorithm for the scalar optimization problem by linear combination of cost and de-
shortest path routing problem, an undirected network with lay as follows:
randomly gen- erated 20 nodes based on Waxman’s model was Minimize wf1 þ ð1 — wÞf2;
considered. Each of the links in the network is associated with
two additive Quality of Service parameters, cost and delay. The where w is the weighting factor (Chen & Sun, 2005). The problem
range of cost varies from 10 to 250 and the range of delay is minimized using GA. To generate 20 nondominated solutions,
varies from 5 to 200. The simula- tion was carried out on an the
Parent 1: N1 N N3 N N N N7 N N2
2 4 5 6 8 0
Parent 2: N1 N N5 N N N N2 N N2
7 3 6 8 4 0
Offspring 1: N1 N2 N3
N3N6N8 N7 N8 N20
Offspring 2: N1 N7 N4N5N6
N5 N2 N4 N20
Offspring 1: N1 N2 N4
Offspring 2: N1 N7 N3 N6 N8 N7 N5 N20
N8
N4 N5 N6 N2 N3 N20
S N1 N2 N6 N7 D
SN1N2N3N2N6N7D
Fig. 10. Repaired chromosome.
computational efficiency of NSGA. Various combinations of encod- Deb, K., & Tiwari, S. (2008). Omni-optimizer: A generic evolutionary algorithm for
single and multiobjective optimization. European Journal of Operational
ing and cross over methods were used for the demonstration of
Research, 185(3), 1062–1087.
the algorithm and it is found that PBE and PMX are best compared Jadaan, O. A., Rajamani, L., & Rao, C. R. (2008). Non-dominated ranked genetic
to the other combinations. algorithm for solving multiobjective optimization problems: NRGA. Journal of
Theoretical and Applied Information Technology, 60–67.
Mukhef, H. A., Farhan, E. M., & Jassim, M. R. (2008). Generalized shortest path
Acknowledgement problem in uncertain environment based on PSO. Journal of Computer Science,
4(4), 349–352.
Pangilinan, J. M. A., & Janssens, G. K. (2007). Evolutionary algorithms for the
Authors thank the managements of Arulmigu Kalasalingam Col- multiobjective shortest path problem (Vol. 25). World Academy of Science,
lege of Engineering, Krishnankoil, India and Theni Kammavar San- Engineering and Technology, pp. 205–210.
gam College of Technology, Theni, India for the facilities provided Rath, K., & Dehuri, S. N. (2006). Non-dominated sorting genetic algorithms for
heterogeneous embedded system design. Journal of Computer Science, 2(3),
to carry out this work. 288–291.
Rouskas, G. N., & Baldine, I. (1997). Multicast routing with end-to-end delay and
delay variation constraints. IEEE Journal on Selected Areas in Communications,
References 15(3), 346–356.
Srinivas, N., & Deb, K. (1994). Multiobjective optimization using nondominated
Abido, M. A. (2003). A novel multiobjective evolutionary algorithm for sorting in genetic algorithm. Evolutionary Computation, 2(3), 221–248.
environmental/economic power dispatch. Electric Power Systems Research, Srinivas, N., & Deb, K. (2007). Muiltiobjective optimization using nondominated
65(1), 71–81. sorting in genetic algorithms. Evolutionary Computation, 2(3), 221–248.
Araujo, A. F. R., Garrozi, C., Leitao, A. R. G. A., & Gouvea, M.M., Jr. (2006). Multicast Sriram, R., Manimaran, G., & Siva Ram Murthy, C. (1998). Preferred link based delay-
routing using genetic algorithm seen as a permutation problem. In 20th constrained least-cost routing in wide area networks. Computer
International Conference on Advanced Information Networking and Applications Communications, 21, 1655–1669.
(AINA’06), Vienna (Vol. 1, pp. 477–484). Wook, C., & Ramakrishna, R. S. (2002). A genetic algorithm for shortest path routing
Chen, H., & Sun, B. (2005). Multicast routing optimization algorithm with problem and the sizing of populations. IEEE Transactions on Evolutionary
bandwidth and delay constraints based on GA. Journal of Communication and Computation, 6(6), 566–579.
Computer, 2(5), 63–67. Yussof, S., & See, O. H. (2005). QoS routing for multiple additive QoS parameters
Craveirinha, J., Girao-Silva, R., & Climaco, J. (2008). A meta-model for multiobjective using Genetic Algorithm. In Proceedings of international conference on
routing in MPLS networks. Central European Journal of Operation Research (Vol. communication, (Vol. 1, pp. 99–104).
16). Springer. 1. Yussof, S., & See, O. H., (2007). Finding multi-constrained path using genetic
Deb, K. (2001). Multiobjective optimization using evolutionary algorithms. New York: algorithm. In Proceedings of IEEE international conference on
John Wiley & Sons. Chapter 5. telecommunications and malaysia international conference on communications,
Penang (Vol. 1, pp. 1–6).