Title: 6. Basic Network Design
16. Basic Network Design
26. Basic Network Design
- Genetic Algorithms (GAs) are one of the most
powerful and broadly applicable stochastic search
and optimization techniques based on principles
from evolution theory (Holland, 1976) - Michalewicz, Z. Genetic Algorithm Data
Structure Evolution Programs, 2nd ed.,
Springer-Verlag, New York, 1994 - Gen, M. R. Cheng Genetic Algorithms
Engineering Design, John Wiley Sons, New York,
1997. - Recent advances in evolutionary computation have
made it possible to solve such practical network
optimization problems - Ali, M. F. Kamoun Neural Networks for
Shortest Path Computation and Routing in Computer
Networks, IEEE Trans. on Neural Networks, vol.4,
pp.941-954, 1993. - Perfetti, R. Optimization Neural Network for
Solving Flow Problems, IEEE Trans. on Neural
Network, Vol.6, No.5, pp.1287-1291, 1995. - Gen, M. K. Ida Neural Networks and
Optimization with Mathematica, Kyoritsu Shuppan,
1998 in Japanese. - Ahn, C. W., R. Ramakrishna, C. Kang I. Choi
Shortest Path Routing Algorithm using Hopfield
Neural Network, Electronic Letter, Vol.37,
No.19, pp.1176-1178, 2001.
36. Basic Network Design
- In the past few years, the genetic algorithms
community has turned much of its attention toward
the optimization of network design problems - Munakata, T. D. J. Hashier A genetic
algorithm applied to the maximum flow problem,
Proc. of the 5th Inter. Conf. on Genetic
Algorithms, San Francisco, pp.488-493, 1993. - Gen, M. R. Cheng Genetic Algorithms and
Engineering Design, John Wiley Sons, New York,
1997. - Munetomo, M., Y. Takai Y. Sato A migration
Scheme for the Genetic Adaptive routing
Algorithm, Proc. of IEEE Int. Conf. Systems,
Man, and Cybernetics, pp.2774-2779, 1998. - Inagaki, J., M. Haseyama H. Kitajima A
Genetic Algorithm for Determining Multiple Routes
and Its Applications, Proc. of IEEE Int. Symp.
Circuits and Systems, pp.137-140, 1999. - Gen, M. R. Cheng Genetic Algorithms and
Engineering Optimization, John Wiley Sons, New
York, 2000. - Gen, M., R. Cheng S.S. Oren "Network design
techniques using adapted genetic algorithms",
Advances in Engineering Software, Vol.32,
pp.731-744, 2001. - Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002. - Zhou, G. M. Gen A Genetic Algorithm Approach
on Tree-like Telecommunication Network Design
Problem, J. of Operational Research Society,
Vol. 54, No. 3, pp.248-254, 2003.
4vBNS Backbone Network Maphttp//www.mci.com/index
.jsp
vBNS very high speed Backbone Network Services
5vBNS Logical Network Maphttp//www.mci.com/index.
jsp
66. Basic Network Design
- Shortest Path Problem (SPP)
- Maximum Flow (MXF) Problem
- Minimum Cost Flow (MCF) Problem
- Bicriteria Network Design Problem (BNP)
- Multi-criteria Network Design Problem
76. Basic Network Design
- Shortest Path Problem (SPP)
- 1.1 Basic Concept of Shortest Path Problem
- 1.2 Application of Shortest Path Problem
- 1.3 Methods for solving SPP
- 1.4 Genetic Approach for solving SPP
- 1.4.1 Reviewing Encoding Methods
- 1.4.2 Priority-based Genetic Algorithm
- 1.4.3 Genetic Operators
- 1.5 Numerical Examples
- 2. Maximum Flow (MXF) Problem
- 3. Minimum Cost Flow (MCF) Problem
- 4. Bicriteria Network Design Problem (BNP)
- 5. Multi-criteria Network Design Problem
81. Shortest Path Problem (SPP)
1.1 Basic Concept of Shortest Path Problem
- SPP is perhaps the simplest of all network design
problems. - For this problem, the object is to find a path of
minimum cost (or length) from a specified source
node s to another specified sink node t, assuming
that each arc (i, j)?A has an associated cost (or
length) cij.
Data table of example network
i j cij
1 2 36
1 3 27
2 4 18
3 2 13
3 5 12
3 6 23
4 7 11
4 8 32
5 4 16
6 7 12
6 9 38
7 8 20
8 9 15
8 10 24
9 10 13
cij
i
j
91. Shortest Path Problem (SPP)
- 1.1 Basic Concept of Shortest Path Problem
- Directed graph G(V, A)
- where V is a set of nodes, A is a set of links.
- cij is a cost associated with each arc(i, j)
- Source node node 1
- Destination node node n
- Indicator variable
Data table of example network
i j cij
1 2 36
1 3 27
2 4 18
3 2 13
3 5 12
3 6 23
4 7 11
4 8 32
5 4 16
6 7 12
6 9 38
7 8 20
8 9 15
8 10 24
9 10 13
cij
i
j
101. Shortest Path Problem (SPP)
- 1.1 Basic Concept of Shortest Path Problem
- SPP can be formulated as follows
111. Shortest Path Problem (SPP)
- 1.2 Application of Shortest Path Problem
- This basic model can be applied in many
applications such as - Evans, J. R. and E. Minieka Optimization
Algorithms for Networks and Graphs. - New York Marcel-Dkker, 1992.
- Transportation Planning
- How to determine the route road that have
prohibitive weight restriction so that the driver
can reach the destination within the shortest
possible time. - Salesperson Routing
- Suppose that a sales person want to go to Los
Angeles from Boston and stop over in several city
to get some commission. How can she determine
the route? - Investment Planning
- How to determine the invest strategy to get an
optimal investment plan. - Message routing in communication systems
- The Routing algorithm computes the shortest
(least cost) path between the router and all the
networks of the internetwork. - It is one of the most important issues that has a
significant impact on the networks performance.
121. Shortest Path Problem (SPP)
- 1.2 Application of Shortest Path Problem
- With the growth of the Internet, Internet Service
Providers (ISPs) try to meet the increasing
traffic demand with new technology and improved
utilization of existing resources. - Routing of data packets can affect network
utilization. - Packets are sent along network paths from source
to destination following a protocol. - Open Shortest Path First (OSPF) is the most
commonly used protocol. - Ericsson, M., M.G.C. Resende P.M. Pardalos A
Genetic Algorithm for the Weight Setting Problem
in OSPF Routing, J. of Combinatorial
Optimization, No.6, pp.299333, 2002. - OSPF is designed for exchanging routing
information within a large or very large
internetwork. - The biggest advantage of OSPF is that it is
efficient. - OSPF requires very little network overhead even
in very large internetworks. - The biggest disadvantage of OSPF is its
complexity. - OSPF requires proper planning and is more
difficult to configure and administer.
131. Shortest Path Problem (SPP)
- 1.2 Application of Shortest Path Problem
- OSPF uses a Shortest Path Routing (SPR) algorithm
to compute routes in the routing table. - The SPR algorithm computes the shortest (least
cost) path between the router and all the
networks of the internetwork. - As the size of the link state database increases
- Memory requirements and route computation times
increase. - Genetic Algorithm (GA) approaches to the SPR
problem in OSPF. - Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002. - Lin, L., M. Gen R. Cheng Priority-based
Genetic Algorithm for Shortest Path Routing
Problem in OSPF, Proc. of 3rd Inter. Conf. on
Information and Management Sciences, Dunhuang,
China, June 5-10, 2004. - The objective of this research considers the
quality of solution (path optimality) within the
shortest route computation times.
141. Shortest Path Problem (SPP)
- 1.3 Methods for Solving SPP
- Dijkstra Shortest Path Algorithm
- Dijkstra, E. W. "A Note on Two Problems in
Connection with Graphs", Numerische Math., No.1,
pp.269-271, 1959. - Dijkstra's algorithm can be implemented
efficiently by storing the graph in the form of
adjacency lists and using a heap as priority
queue to implement the Extract-Min function. - Computes shortest paths in a graph with
non-negative edge weights. - Bellman-Ford Algorithm
- Bellman-Ford algorithm computes single-source
shortest paths in a weighted graph (where some of
the edge weights may be negative). - Bellman-Ford is usually used only when there are
negative edge weights. - Floyd-Warshall Algorithm
- Floyd-Warshall algorithm is an algorithm to solve
the all pairs shortest path problem in a
weighted, directed graph by multiplying an
adjacency-matrix representation of the graph
multiple times.
151. Shortest Path Problem (SPP)
- 1.4 Genetic Approach for Solving SPP
- How to encode a path in a network is critical for
designing a GA. - Special difficulties
- a path contains variable number of nodes.
- a random sequence of edges usually does not
correspond to a path.
- Path 1 1?2?4?8?10
- Objective function value z110
- Path 2 1?2?4?7?8?10
- Objective function value z109
- Path 3 1?3?5?4?7?8?10
- Objective function value z110
161. Shortest Path Problem (SPP)
- 1.4.1 Reviewing Encoding Methods
- How to encode a solution of the problem into a
chromosome is a key issue for GAs. - For the nonstring coding approach, three critical
issues emerged concerning with the encoding and
decoding between chromosomes and solutions - The feasibility of a chromosome
- Feasibility refers to the phenomenon of whether a
solution decoded from a chromosome lies in the
feasible region of a given problem. - The legality of a chromosome
- Legality refers to the phenomenon of whether a
chromosome represents a solution to a given
problem. - The illegality of chromosomes originates from the
nature of encoding techniques. - Repairing techniques are usually adopted to
convert an illegal chromosome to a legal one. - The uniqueness of mapping
- The mapping from chromosomes to solutions
(decoding) may belong to one of the following
three cases (a) 1-to-1 mapping (b) n-to-1
mapping (c) 1-to-n mapping. - The 1-to-1 mapping is the best one among three
cases - And 1-to-n mapping is the most undesired one.
171.4.1 Reviewing Encoding Methods
- a. Priority-based Chromosome (Cheng Gen, 1997)
- Cheng Gen proposed a priority-based encoding
method for solving resource-constrained project
scheduling problem (rcPSP) first. And also
adopted this method for solving SPP in 1997. - Cheng, R. M. Gen Resource Constrained Project
Scheduling Problem using Genetic Algorithm,
Inter. J. of Intelligent Auto. and Soft Comput.,
Vol.3, pp.273-286, 1997. - Gen, M., R. Cheng D. Wang Genetic Algorithms
for Solving Shortest Path Problems, Proc. of
IEEE Int. Conf. on Evol. Comput., Indianapolis,
Indiana, pp.401-406, 1997. - They adopted an indirect approach
- The path is generated by sequential node
appending procedure with beginning from the
specified node 1 and terminating at the specified
node n. - At each step, there are usually several nodes
available for consideration. - They gave each node a priority with a random
mechanism and add the one with the highest
priority into path. - As we know, a gene in a chromosome is
characterized by two factors - locus, i.e., the position of gene located within
the structure of chromosome, - allele, i.e., the value which the gene takes.
- In the priority-based encoding 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 a path among
candidates. A path can be uniquely determined
from this encoding.
181.4.1 Reviewing Encoding Methods
- a. Priority-based Chromosome (Cheng Gen, 1997)
- Example An example of generated chromosome and
its decoded path as follows - Advantage
- Any permutation of the encoding corresponds to a
path (legality). - Most existing genetic operators can be easily
applied to the encoding. - Any path has a corresponding encoding
(completeness) any point in solution space is
accessible for genetic search. - Disadvantage
- At some case, n-to-1 mapping may occur for the
encoding.
node ID 1 2 3 4 5 6 7
priority 2 1 6 4 5 3 7
2
5
s
t
1
1
1
4
7
path
3
6
1
4
3
7
191.4.1 Reviewing Encoding Methods
- b. Variable-length Chromosome (Munemoto et al.,
1998) - Munemoto et. al. (1998) proposed a
variable-length encoding method for network
routing problems in a wired or wireless
environment. Ahn et. al. (2002) also used the
encoding method for solving the shortest path
routing (SPR) problem. - Munetomo, M., Y. Takai Y. Sato A migration
Scheme for the Genetic Adaptive routing
Algorithm, Proc. of IEEE Int. Conf. Systems,
Man, and Cybernetics, pp.2774-2779, 1998. - Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002. - The proposed encoding method consists of
sequences of positive integers that represent the
IDs of nodes through which a path passes. - Each locus of the chromosome represents an order
of a node (indicated by the gene of the locus) in
a path. - The length of the chromosome is variable, but is
should not exceed the maximum length n, where n
is the total number of nodes in the network,
since it never needs more than n number of nodes
to form a path. - The gene of the first locus encodes the source
node, and the gene of second locus is randomly or
heuristically selected from the nodes connected
with the source node.
201.4.1 Reviewing Encoding Methods
- b. Variable-length Chromosome (Munemoto et al.,
1998) - Example An example of generated chromosome and
its decoded path as follows - Advantage
- The mapping from any chromosome to solution
(decoding) belongs to 1-to-1 mapping
(uniqueness). - Theoretically, convergence performance is better
than the priority-based encoding method. - Disadvantage
- In general, the genetic operators may generate
infeasible chromosomes (illegality) that violate
the constraints, generating loops in the paths. - Repairing techniques are usually adopted to
convert an illegal chromosome to a legal one.
locus 1 2 3 4
node ID 1 3 4 7
2
5
s
t
1
1
1
4
7
3
6
path
1
4
3
7
211.4.1 Reviewing Encoding Methods
- c. Fixed-length Chromosome (Inagaki et al., 1999)
- Inagaki et al. (1999) proposed a fixed-length
encoding method determining multiple routes in
routing applications. - Inagaki, J., M. Haseyama H. Kitajima A
Genetic Algorithm for Determining Multiple Routes
and Its Applications, Proc. of IEEE Int. Symp.
Circuits and Systems, pp.137-140, 1999. - The proposed method are sequences of integers and
each gene represents the node ID through which it
passes. - To encode a route from node 1 to node n, put i in
the jth locus of the chromosome. - This process is reiterated from the specified
node 1 and terminating at the specified node n. - If the route does not pass through a node x,
select one node randomly from the set of nodes
which are connected with node x, and put it in
the xth locus.
221.4.1 Reviewing Encoding Methods
- c. Fixed-length Chromosome (Inagaki et al., 1999)
- Example An example of generated chromosome and
its decoded path as follows - Advantage
- Any path has a corresponding encoding
(completeness). - Any point in solution space is accessible for
genetic search. - Any permutation of the encoding corresponds to a
path (legality) using the special genetic
operators. - Disadvantage
- At some case, n-to-1 mapping may occur for the
encoding. - Furthermore the probability of occurrence of
n-to-1 mapping is higher than the priority-based
encoding method. - In the special genetic operator phase, some
offspring may generate new chromosomes that
resemble the initial chromosomes in fitness,
thereby retarding the process of evolution.
locus 1 2 3 4 5 6 7
node ID 3 1 4 7 2 4 6
2
5
s
t
1
1
1
4
7
3
6
path
3
1
4
7
231.4.1 Reviewing Encoding Methods
- Compared with the Performance of Different
Encoding Methods - Variable-length encoding method
- Convergence performance is best than others.
- However, the genetic operators may generate
infeasible chromosomes (illegality). - Repairing techniques have to be adopted to
convert an illegal chromosome to a legal one. For
the computation times, variable-length encoding
method may be slow in several large network
design problems. - Fixed-length encoding method
- n-to-1 mapping may occur for the encoding.
- The special genetic operators have to been
adopted thereby some offspring may generate new
chromosomes that resemble the initial chromosomes
in fitness.
241.4.2 Priority-based Genetic Algorithm
- Priority-based Encoding Method
procedure 1 Priority-based Encoding input
number of nodes n output chromosome vk begin
for j1 to n // step 0 vk(j)? j for i1
to // step 1 repeat j?random1,
n l?random1, n until l?j
swap (vk(j), vk(l)) output the chromosome
vk // step 2 end
251.4.2 Priority-based Genetic Algorithm
procedure 2 One Path Growth input number of
nodes n, chromosome vk , the set of
nodes Si with all nodes adjacent to node
i. output path Pk begin initial source node
i?1, Pk ?? // step 0 while Si ?? do //
step 1 select l from Si with the
highest priority if vk(l)?0 then
vk(l)0 Pk ? Pk?xil i?l
else Si ? Si \l end output the
complete path Pk // step 2 end
261.4.2 Priority-based Genetic Algorithm
- Illustration of Priority-based GA
Data table of example network
i j cij
1 2 36
1 3 27
2 4 18
3 2 13
3 5 12
3 6 23
4 7 11
4 8 32
5 4 16
6 7 12
6 9 38
7 8 20
8 9 15
8 10 24
9 10 13
1
1
Chromosome
Path 1?3?6?7?8?10 Objective function value
z106
271.4.3 Genetic Operators --- Crossover
- It operates on two parents (chromosomes) at a
time and generates offspring by combining both
chromosomes features. - In network design problem, crossover plays the
role of exchanging each partial route of two
chosen parents in such a manner that the
offspring produced by the crossover represents. - In this study, the nature of the priority-based
encoding is a kind of permutation representation.
- Generally, this representation will yield illegal
offspring by one-point crossover or other simple
crossover operators. - During the past decade, several crossover
operators have been proposed for permutation
representation, such as - Partial-mapped crossover (PMX)
- Goldberg, D. R. Lingle, Alleles loci and the
traveling salesman problem, Proc. of the 1st
Inter. Conf. on GA, pp.154-159, 1985. - Order crossover (OX)
- Davis, L. Applying adaptive algorithms to
domains, Proc. of the Inter. Joint Conf. on
Artificial Intelligence, pp.1162-164, 1985. - Position-based crossover (PX)
- Davis, L. Applying adaptive algorithms to
domains, Proc. of the Inter. Joint Conf. on
Artificial Intelligence, pp.1162-164, 1985. - Cycle crossover (CX)
- Oliver, I. J. Holland A study of permutation
crossover operators on the traveling salesman
problem, Euro. J. of OR, vol.26, pp.187-210,
1986. - Heuristic crossover, and so on.
281.4.3 Genetic Operators --- Crossover
- Partial-Mapped Crossover (PMX)
- PMX was proposed by Goldberg and Lingle.
- Goldberg, D. R. Lingle, Alleles loci and the
traveling salesman problem, Proc. of the 1st
Inter. Conf. on GA, pp.154-159, 1985. - PMX can be viewed as an extension of two-point
crossover for binary string to permutation
representation. - It uses a special repairing procedure to resolve
the illegitimacy caused by the simple two-point
crossover.
step 3 determine mapping relationship
step 1 select the substring at random
substring selected
2 3 4
parent 1 1 7 2 3 4 6 5 8
3 5 7
parent 2 4 6 3 5 7 1 8 2
step 2 exchange substrings between
step 4 legalize offspring with mapping
relationship
parent 1 1 7 3 5 7 6 5 8
offspring 1 1 4 3 5 7 6 2 8
parent 2 4 6 2 3 4 1 8 2
offspring 2 7 6 2 3 4 1 8 5
291.4.3 Genetic Operators --- Crossover
- Order Crossover (OX)
- OX was proposed by Davis.
- Davis, L. Applying adaptive algorithms to
domains, Proc. of the Inter. Joint Conf. on
Artificial Intelligence, pp.1162-164, 1985. - It can be viewed as a kind of variation of PMX
with a different repairing procedure.
parent 1 1 7 2 3 4 6 5 8
substring selected
offspring 6 5 2 3 4 7 1 8
parent 2 4 6 3 5 7 1 8 2
Fig. 6.1 Illustration of the OX operator.
301.4.3 Genetic Operators --- Crossover
- Position-based Crossover (PX)
- PX was proposed by Syswerda.
- Davis, L. Applying adaptive algorithms to
domains, Proc. of the Inter. Joint Conf. on
Artificial Intelligence, pp.1162-164, 1985. - It is essentially a kind of uniform crossover for
permutation representation together with a
repairing procedure. - It also can be viewed as a kind of variation of
OX in which the nodes are selected
inconsecutively.
parent 1 1 7 2 3 4 6 5 8
offspring 3 7 5 1 4 6 2 8
parent 2 4 6 3 5 7 1 8 2
Fig. 6.2 Illustration of the PX operator.
311.4.3 Genetic Operators --- Crossover
- However, in all of above approaches
- the mechanism of the crossover is not the same as
that of the conventional one-point crossover. - Some offspring may generate new chromosomes that
are not possible to succeed the character of the
parents. - thereby retarding the process of evolution.
- We proposed a new crossover operator, Weight
Mapping Crossover (WMX). - WMX can be viewed as an extension of one-point
crossover for permutation representation. - As one-point crossover
- Two chromosomes (parents) would be to choose a
random cut-point. - Generate the offspring by using segment of own
parent to the left of the one-cut point - Then remapping the right segment that base on the
weight of other parent of right segment .
321.4.3 Genetic Operators --- Crossover
- Weight Mapping Crossover (WMX)
331.4.3 Genetic Operators --- Crossover
- Weight Mapping Crossover (WMX)
- As shown Fig., first we choose a random cut-point
p. - calculate l that is the length of right segments
of chromosomes, where n is number of nodes in the
network. - Then get mapping relationship by sorting the
weight of the right segments s1 and s2. - As one-point crossover, generate the offspring
v1, v2 by exchange substrings between parents
v1, v2 legalize offspring with mapping
relationship.
step 1 select a cut-point
parent 1
cut-point
1
4
3
7
6
3
5
4
7
1
2
parent 1
parent 2
1
4
2
7
5
4
1
5
6
2
7
3
parent 2
step 2 mapping the weight of the right segment
6
5
3
offspring 1
1
4
3
7
5
6
3
5
4
1
5
offspring 2
5
4
1
1
4
2
7
step 3 generate offspring with mapping
relationship
5
3
6
4
7
1
2
offspring 1
5
1
4
6
2
7
3
offspring 2
341.4.3 Genetic Operators --- Mutation
- It is relatively easy to produce some mutation
operators for permutation representation. - During the past decade, several mutation
operators have been proposed for permutation
representation, such as - Inversion
- Insertion
- Displacement
- Swap mutation.
- Insertion Mutation
- Selects a gene at random and inserts it in a
random position as follows
351.4.3 Genetic Operators --- Immigration
- The trade-off between exploration and
exploitation in serial GAs for function
optimization is a fundamental issue. - If a GA is biased towards exploitation
- highly fit members are repeatedly selected for
recombination. - Although this quickly promotes better members,
the population can prematurely converge to a
local optimum of the function. - If a GA is biased towards exploration
- Large numbers of schemata are sampled which tends
to inhibit premature convergence. - Unfortunately, excessive exploration results in a
large number of function evaluations, and
defaults to random search in the worst case.
361.4.3 Genetic Operators --- Immigration
- To search effectively and efficiently, a GA must
maintain a balance between these two opposing
forces. - Michael, C.M., C.V. Stewart R.B. Kelly
Reducing the Search Time of A Steady State
Genetic Algorithm using the Immigration
Operator, Proc. of IEEE Int. Conf. on Tools for
AI San Jose, CA, pp.500-501, 1991. - Michael et. al. (1991) proposed an immigration
operator which, for certain types of functions,
allows increased exploration while maintaining
nearly the same level of exploitation for the
given population size. - Immigration operator
- step 1 The algorithm is modified to include
immigration, with each generation generated. - step 2 Evaluate µ random members (µ, called the
immigration rate). - step 3 Replace the µ worst members of the
population with the µ random members. - This study experimentally examines the
immigration operator, and present the
effectiveness of this approach for solving
network design problems in next section.
371.4.3 Genetic Operators --- Selection
- Selection operators two basic types of selection
scheme used commonly in current practice. - Proportionate selection picks out chromosomes
based on their fitness values relative to the
fitness of the other chromosomes in the
population. - Roulette wheel selection
- Stochastic remainder selection
- Stochastic universal selection
- Ordinal-based selection upon their rank within
the population. The chromosomes are ranked
according to their fitness values. - Tournament selection
- selection
- Truncation selection
- Linear ranking selection
- In this study, the roulette wheel selection, a
type of Proportionate selection, is adopted.
381.4.4 Overall Procedure
- GA Procedure for Shortest Path Problem
procedure Priority-based GA for Shortest Path
Problem input network data (V, A, C), GA
parameters output best shortest path begin t ?
0 initialize P(t) by priority-based
encoding fitness eval(P) while (not
termination condition) do crossover P(t) to
yield C(t) by weight mapping crossover mutation
P(t) to yield C(t) by insertion mutation
immigration operation to yield C(t)
fitness eval(C) select P(t1) from P(t)
and C(t) by roulette wheel selection t ? t
1 end output best shortest path end
391.5 Numerical Examples
- Test Problems
- For examining the effect of different encoding
methods, we applied Ahn et als method and
priority-based encoding method to the 6 test
problems - Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations. IEEE Trans. Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002. - OR-Notes. Online. Available http//mscmga.ms.ic
.ac.uk/jeb/or/orweb.html - Using the following parameter specifications.
- Population size popSize 20
- Crossover probability pC 0.70
- Mutation probability pM 0.50
- Immigration rate µ3
- Maximum generation maxGen 1000
- Terminating condition 100 generations with same
fitness. - Each solution is compared with Dijkstras
algorithm that provides a reference point
(optimal solution). - Each algorithm was applied to each test problem
20 times (i.e., 20 runs) using different initial
populations. - All the simulations were performed with Java on
Pentium 4 processor (1.5-GHz clock).
401.5 Numerical Examples
- The first numerical example, presented by Ahn et
als was adopted. The problem comprises 20 nodes
and 49 arcs. It is given as follows - (Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002.)
Fig.6.3 Example of the first numerical example
411.5 Numerical Examples
- Convergence property of each algorithm for a
Fixed Network With 20 Nodes - (Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002.)
2.5
Dijkstras Algorithm Munemotos
Algorithm Inagakis Algorithm Ahns Algorithm
2.0
1.5
Objective Function Values
1.0
0.5
0
2
4
6
8
10
Generations
421.5 Numerical Examples
- Convergence property of Ahn et al.s algorithm
and proposed algorithm for a Fixed Network With
20 Nodes
et al.
Fig. 6.4 Convergence property of Ahn et al.s
algorithm and proposed algorithm.
431.5 Numerical Examples
- Comparison with results
- (Ahn, C.W. R. Ramakrishna A Genetic Algorithm
for Shortest Path Routing Problem and the Sizing
of Populations, IEEE Trans. on Evol. Comput.,
Vol.6, No.6, pp.566-579, 2002.)
Inagakis Algorithm Munemotos Algorithm Ahns
Algorithm
1200
1000
800
Objective Function Value
600
400
200
0
15
20
25
30
35
40
45
50
The Number of Nodes
441.5 Numerical Examples
- Discussion of the Results
- The quality of solution with different genetic
operators is investigated in Table 1. - The path optimality is defined in all test
problems, by Alg.6 (WMXInsertion Immigration)
that the GA finds the global optimum (i.e., the
shortest path). - The path optimality is defined in 1, 2 test
problems, by Alg.5 (WMXSwap Immigration), The
near optimal result is defined in other test
problems. - By Alg.1 Alg.4, the path optimality is not
defined. Since the number of possible
alternatives become to very large in test
problems, the population be prematurely converged
to a local optimum of the function.
Table 6.1 Performance comparisons with different
genetic operators
Test Problems ( of nodes/ of arcs) Optimal Solutions Best Solutions Best Solutions Best Solutions Best Solutions Best Solutions Best Solutions
Test Problems ( of nodes/ of arcs) Optimal Solutions Alg. 1 Alg. 2 Alg. 3 Alg. 4 Alg. 5 Alg. 6
20/49 142.00 148.35 148.53 147.70 143.93 142.00 142.00
80/120 389.00 423.53 425.33 418.82 396.52 389.00 389.00
80/632 291.00 320.06 311.04 320.15 297.21 291.62 291.00
160/2544 284.00 429.55 454.98 480.19 382.48 284.69 284.00
320/1845 394.00 754.94 786.08 906.18 629.81 395.01 394.00
320/10208 288.00 794.26 732.72 819.85 552.71 331.09 288.00
Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3). Alg. 1 FMXSwap Alg. 2 OXSwap Alg. 3 PXSwap Alg. 4 WMXSwap Alg. 5 WMXSwapImmigration(3) Alg. 6 WMXInsertionImmigration(3).
451.5 Numerical Examples
- Comparison results of Ahns algorithm and
Proposed algorithm
Table 6.2 Performance comparisons with Ahns
algorithm and Proposed algorithm.
Test Problems ( of nodes/ of arcs) Optimal Solutions Best Solutions Best Solutions CPU Times (ms) CPU Times (ms) Generation Num. of Obtained best result Generation Num. of Obtained best result
Test Problems ( of nodes/ of arcs) Optimal Solutions Ahns Alg. Prop. Alg. Ahns Alg. Prop. Alg. Ahns Alg. Prop. Alg.
20/49 142.00 142.00 142.00 40.60 23.37 2 9
80/120 389.00 389.00 389.00 118.50 96.80 4 4
80/632 291.00 291.00 291.00 109.50 118.50 19 10
160/2544 284.00 286.20 284.00 336.20 490.50 31 26
320/1845 394.00 403.40 394.00 779.80 1062.50 44 11
320/10208 288.00 288.90 288.00 1028.30 1498.50 38 26
461.5 Numerical Examples
- Different Parameter Settings
Table 6.3 Performance comparisons with different
parameter settings
Parameter Settings ( popSize / pC pM ) Test Problems ( of nodes/ of arcs) Optimal Solutions Best Solutions Best Solutions CPU Times ( ms ) CPU Times ( ms ) Generation Num. of Obtained best result Generation Num. of Obtained best result
Parameter Settings ( popSize / pC pM ) Test Problems ( of nodes/ of arcs) Optimal Solutions Ahns Alg. Prop. Alg. Ahns Alg. Prop. Alg. Ahns Alg. Prop. Alg.
10 / 0.3 0.1 20/49 142.00 156.20 142.00 10.42 8.37 38 27
10 / 0.3 0.1 80/120 389.00 389.00 389.00 32.80 31.10 5 1
10 / 0.3 0.1 80/632 291.00 313.20 291.00 29.40 34.40 43 16
10 / 0.3 0.1 160/2544 284.00 320.90 284.20 67.10 106.30 48 37
10 / 0.3 0.1 320/1845 394.00 478.70 394.00 120.30 250.20 68 18
10 / 0.3 0.1 320/10208 288.00 444.00 288.30 126.40 400.20 25 59
20 / 0.3 0.1 20/49 142.00 145.23 142.00 22.36 13.34 27 24
20 / 0.3 0.1 80/120 389.00 389.00 389.00 56.30 51.50 4 1
20 / 0.3 0.1 80/632 291.00 303.10 291.00 50.10 56.30 18 10
20 / 0.3 0.1 160/2544 284.00 298.70 284.20 122.10 181.20 44 35
20 / 0.3 0.1 320/1845 394.00 465.70 394.00 213.90 496.70 32 17
20 / 0.3 0.1 320/10208 288.00 373.10 288.60 311.00 631.10 61 35
20 / 0.7 0.5 20/49 142.00 142.00 142.00 40.60 23.37 6 9
20 / 0.7 0.5 80/120 389.00 389.00 389.00 118.50 96.80 1 1
20 / 0.7 0.5 80/632 291.00 291.00 291.00 109.50 118.50 19 10
20 / 0.7 0.5 160/2544 284.00 286.20 284.00 336.20 490.50 31 26
20 / 0.7 0.5 320/1845 394.00 403.40 394.00 779.80 1062.50 44 11
20 / 0.7 0.5 320/10208 288.00 288.90 288.00 1028.30 1498.50 38 26
471.5 Numerical Examples
- Different Parameter Settings with Ahns algorithm
and Proposed algorithm
Parameter Settings ( popSize / pC pM ) Probability of obtaining the optimal solutions Probability of obtaining the optimal solutions
Parameter Settings ( popSize / pC pM ) Ahns Alg. Proposed Alg.
10 / 0.3 0.1 16.67 66.67
20 / 0.3 0.1 16.67 66.67
30 / 0.3 0.1 33.33 83.33
50 / 0.3 0.1 50.00 100.00
100 / 0.3 0.1 33.33 100.00
10 / 0.7 0.5 33.33 83.33
20 / 0.7 0.5 50.00 100.00
30 / 0.7 0.5 50.00 100.00
50 / 0.7 0.5 83.33 100.00
100 / 0.7 0.5 83.33 100.00
481.5 Numerical Examples
- Simulation ( of nodes 100, of arcs 859)
496. Basic Network Design
- Shortest Path Problem (SPP)
- Maximum Flow (MXF) Problem
- 2.1 Basic Concept of Maximum Flow Problem
- 2.2 Application of Maximum Flow Problem
- 2.3 Methods for solving MXF Problem
- 2.4 Genetic Approach for solving MXF Problem
- 2.4.1 Genetic Representation
- 2.4.2 Genetic Operators
- 2.5 Numerical Examples
- Minimum Cost Flow (MCF) Problem
- Bicriteria Network Design Problem (BNP)
- Multi-criteria Network Design Problem
502. Maximum Flow (MXF) Problem
Data table of example network
- Online. Available http//www-b2.is.tokushima-u.
ac.jp/ - ikeda/suuri/maxflow/Maxfl
ow.shtml.en - MXF is in a sense a complementary model to SPP.
- MXF seeks a feasible solution that sends the
maximum amount of flow from a specified source
node s to another specified sink node t. - If we interpret uij as the maximum flow rate of
arc (i, j), MXF identifies the maximum
steady-state flow that the network can send from
node s to node t per unit time.
2.1 Basic Concept of Maximum Flow Problem
i j uij
1 2 60
1 3 60
1 4 60
2 3 30
2 5 40
2 6 30
3 4 30
3 6 50
3 7 30
4 7 40
5 8 60
6 5 20
6 8 30
6 9 40
6 10 30
7 6 20
7 10 40
8 9 30
8 11 60
9 10 30
9 11 50
10 11 50
512. Maximum Flow (MXF) Problem
Data table of example network
- 2.1 Basic Concept of Maximum Flow Problem
- Directed graph G(V, A)
- where V is a set of nodes, A is a set of links.
- uij is a capacity associated with each link(i, j)
- Source node node 1
- Destination node node n
i j uij
1 2 60
1 3 60
1 4 60
2 3 30
2 5 40
2 6 30
3 4 30
3 6 50
3 7 30
4 7 40
5 8 60
6 5 20
6 8 30
6 9 40
6 10 30
7 6 20
7 10 40
8 9 30
8 11 60
9 10 30
9 11 50
10 11 50
uij
i
j
522. Maximum Flow (MXF) Problem
- 2.1 Basic Concept of Maximum Flow Problem
- MXF problem can be formulated as follows
532. Maximum Flow (MXF) Problem
- 2.2 Application of Maximum Flow Problem
- This basic MXF model can be applied in many
applications such as - Ahuj, R. K., T. L. Magnanti J. B. Orlin
Network Flows. Prentice-Hall, Upper Saddle River,
NJ, 1993. - Scheduling on Uniform Parallel Machines
- The feasible scheduling problem, described in the
preceding paragraph, is a fundamental problem in
this situation and can be used as a subroutine
for more general scheduling problems, such as the
maximum lateness problem, the (weighted) minimum
completion time problem, and the (weighted)
maximum utilization problem. - Distributed Computing on a Two-Processor Computer
- Distributed computing on a two-processor computer
concerns assigning different modules
(subroutines) of a program to two processors in a
way that minimizes the collective costs of
interprocessor communication and computation.. - Tanker Scheduling Problem
- A steamship company has contracted to deliver
perishable goods between several different
origin-destination pairs. Since the cargo is
perishable, the customers have specified precise
dates (i.e., delivery dates) when the shipments
must reach their destinations..
542. Maximum Flow (MXF) Problem
- 2.3 Methods for solving MXF Problem
- Ford-Fulkerson Algorithm
- It works by finding a flow augmenting path in the
graph. By adding the flow augmenting path to the
flow already established in the graph, the
maximum flow will be reached when no more flow
augmenting paths can be found in the graph. - Maximum Flow Algorithm
- An incremental algorithm for max-flow problem
that tries to find the max-flow in the network as
an edge is deleted or inserted in the network, is
presented. - It has also been shown that other cases of a unit
change can be considered as a special case of
insertion and deletion of an edge in the network.
552. Maximum Flow (MXF) Problem
- 2.4 Genetic Approach for solving MXF Problem
- Munakata, T. and D. J. Hashier A genetic
algorithm applied to the maximum flow problem,
Proc. of 5th Int. Conf. on Genetic Algorithms,
pp. 488-493, 1993. - The maximum flow problem appears to be more
challenging in applying GAs than many other
common graph problems (e.g., shortest path,
minimum spanning tree) - Its unique characteristic
- A flow at each edge can be anywhere between zero
and its flow capacity, i.e., it has more
"freedom" to choose. - In many other problems, selecting an edge may
mean to simply add a fixed distance. - In the maximum flow problem, two conditions must
be satisfied - The flow at each edge must be between zero and
its flow capacity. - At each vertex, the incoming flow and outgoing
flow must balance.
562.4 Genetic Approach for solving MXF Problem
2.4.1 Genetic Representation
procedure 1 Priority-based Encoding input
number of nodes n output chromosome vk begin
for j1 to n // step 0 vk(j)? j for i1
to // step 1 repeat j?random1,
n l?random1, n until l?j
swap (vk(j), vk(l)) output the chromosome
vk // step 2 end
572.4 Genetic Approach for solving MXF Problem
- The decoding procedure is a two-stage process.
- First stage the path is generated by one-path
growth procedure - It is given in procedure 2
- With beginning from the specified node 1 and
terminating at the specified node n. At each
step, add the one with the highest priority into
path. -
582.4 Genetic Approach for solving MXF Problem
- The decoding procedure is a two-stage process.
- Second stage overall paths are generated by
overall paths growth procedure - For a given path, we can calculate its flow fk
- By removing the used capacity from uij of each
arc, we have a new network with the new flow
capacity uij. - With the one-path growth procedure (procedure 2),
we can obtain the second path. - By repeating this procedure we can obtain the
maximum flow for the given chromosome till no new
network can be defined in this way. - It is given in procedure 3.
592.4 Genetic Approach for solving MXF Problem
procedure 3 Overall-path Growth input network
data (V, A, U), chromosome vk , the set of nodes
Si with all nodes adjacent to node i output
number of paths Lk , the flow fik of each path,
i?Lk step 0 number of paths l?0 step 1 if
S1?, go to step 7 otherwise, l? l 1,
continue. step 2 the implementation of path Plk
growth is based on procedure 2. Select the sink
node a of path plk. step 3 if the sink node an,
continue otherwise, perform the set of nodes Si
update as follows, return to step 1. step 4
calculate the flow flk of the path Plk. step 5
perform the flow capacity uij of each arc update.
Make a new flow capacity uij as follows step
6 if the flow capacity uij0, perform the set of
nodes Si update which the node j adjacent to node
i. step 7 output number of paths Lk ? l -1, the
flow fik of each path, i?Lk .
602.4 Genetic Approach for solving MXF Problem
Data table of example network
- Illustration of Priority-based GA
i j uij
1 2 60
1 3 60
1 4 60
2 3 30
2 5 40
2 6 30
3 4 30
3 6 50
3 7 30
4 7 40
5 8 60
6 5 20
6 8 30
6 9 40
6 10 30
7 6 20
7 10 40
8 9 30
8 11 60
9 10 30
9 11 50
10 11 50
f
f
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
612.4 Genetic Approach for solving MXF Problem
- Illustration of Priority-based GA
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
k i Si l Pk S1 fk
1 0 1
1 2, 3, 4 3 1, 3
2 4, 6, 7 6 1, 3, 6
3 5, 8, 9, 10 5 1, 3, 6, 5
4 8 8 1, 3, 6, 5, 8
5 9, 11 11 1, 3, 6, 5, 8, 11 2, 3, 4 20
2 0 1
1 2, 3, 4 3 1, 3
2 4, 6, 7 6 1, 3, 6
3 8, 9, 10 8 1, 3, 6, 8
4 9, 11 11 1, 3, 6, 8, 11 2, 3, 4 50
k number of paths i start node Si the
set of nodes l sink node Pk the kth
path S1 the set of nodes with all nodes
adjacent to node 1 fk maximum possible flow
622.4 Genetic Approach for solving MXF Problem
- Illustration of Priority-based GA
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
k i Si l Pk S1 fk
3 0 1
1 2, 3, 4 3 1, 3
2 4, 7 7 1, 3, 7
3 6, 10 6 1, 3, 7, 6
4 9, 10 9 1, 3, 7, 6, 9
5 10, 11 11 1, 3, 7, 6, 9, 11 2, 4 60
4 0 1
1 2, 4 4 1, 4
2 7 7 1, 4, 7
3 6, 10 6 1, 4, 7, 6
4 9, 10 9 1, 4, 7, 6, 9
5 10, 11 11 1, 4, 7, 6, 9, 11 2,4 70
k number of paths i start node Si the
set of nodes l sink node Pk the kth
path S1 the set of nodes with all nodes
adjacent to node 1 fk maximum possible flow
632.4 Genetic Approach for solving MXF Problem
- Illustration of Priority-based GA
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
k i Si l Pk S1 fk
5 0 1
1 2, 4 4 1, 4
2 7 7 1, 4, 7
3 10 10 1, 4, 7, 10
4 11 11 1, 4, 7, 10, 11 2 100
6 0 1
1 2 2 1, 2
2 3, 5, 6 5 1, 2, 5
3 8 8 1, 2, 5, 8
4 9, 11 11 1, 2, 5, 8, 11 2 110
k number of paths i start node Si the
set of nodes l sink node Pk the kth
path S1 the set of nodes with all nodes
adjacent to node 1 fk maximum possible flow
642.4 Genetic Approach for solving MXF Problem
- Illustration of Priority-based GA
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
k i Si l Pk S1 fk
7 0 1
1 2 2 1, 2
2 3, 5, 6 5 1, 2, 5
3 8 8 1, 2, 5, 8
4 9 9 1, 2, 5, 8, 9
5 10, 11 11 1, 2, 5, 8, 9, 11 2 140
8 0 1
1 2 2 1, 2
2 3, 6 6 1, 2, 6
3 9, 10 9 1, 2, 6, 9
4 10 10 1, 2, 6, 9, 10
5 11 11 1, 2, 6, 9, 10, 11 160
k number of paths i start node Si the
set of nodes l sink node Pk the kth
path S1 the set of nodes with all nodes
adjacent to node 1 fk maximum possible flow
652.4 Genetic Approach for solving MXF Problem
Data table of example network
- Illustration of Priority-based GA
i j uij
1 2 60
1 3 60
1 4 60
2 3 30
2 5 40
2 6 30
3 4 30
3 6 50
3 7 30
4 7 40
5 8 60
6 5 20
6 8 30
6 9 40
6 10 30
7 6 20
7 10 40
8 9 30
8 11 60
9 10 30
9 11 50
10 11 50
40/40
60/60
5
8
2
60/60
60/60
30/30
20/20
30/30
20/30
s
t
160
160
60/60
50/50
6
9
1
3
11
50/50
40/40
20/30
10/30
20/20
50/50
40/60
40/40
30/40
7
10
4
Chromosome
node ID 1 2 3 4 5 6 7 8 9 10 11
priority 2 1 6 4 11 9 8 10 5 3 7
Objective function value z160
662.4 Genetic Approach for solving MXF Problem
- Here the position-based crossover operator
proposed by PMX (Partial Mapped Crossover)
(Gen-Cheng97, pp.119-125) was adopted. - It uses a special repairing procedure to resolve
the illegitimacy caused by the simple two-point
crossover as follows
step 3 determine mapping relationship
step 1 select the substring at random
substring selected
2 3 4
parent 1 1 7 2 3 4 6 5 8
3 5 7
parent 2 4 6 3 5 7 1 8 2
step 4 legalize offspring with mapping
relationship
step 2 exchange substrings between
parent 1 1 7 3 5 7 6 5 8
offspring 1 1 4 3 5 7 6 2 8
parent 2 4 6 2 3 4 1 8 2
offspring 2 7 6 2 3 4 1 8 5
672.4 Genetic Approach for solving MXF Problem
- Mutation The swap mutation operator was used
here, in which two positions are selected at
random and their contents are swapped as follows - Selection The roulette wheel approach, a type of
fitness-proportional selection, was adopted.
682.4 Genetic Approach for solving MXF Problem
- GA Procedure for Maximum Flow Problem
procedure Priority-based GA for Maximum Flow
Problem input network data (V, A, U), GA
parameters output best maximum flow begin t ?
0 initialize P(t) by priority-based
encoding fitness eval(P) while (not
termination condition) do crossover P(t) to
yield C(t) by partial mapped crossover mutation
P(t) to yield C(t) by swap mutation fitness
eval(C) select P(t1) from P(t) and C(t) by
roulette wheel selection t ? t
1 end output best maximum flow end
692.5 Numerical Examples
- Test Problems
- The numerical examples, presented by T. Munak