Title: Genetic Algorithm for Multicast in WDM Networks
1Genetic Algorithm for Multicast in WDM Networks
2Outline
- Introduction
- Problem formulation
- Genetic Algorithm
3Introduction
- There are two types of architectures of WDM
optical networks single-hop systems and
multi-hop systems 2. - Single-hop system
- a communication channel should use the same
wavelength throughout the route of the channel - Multi-hop system
- a channel can consist of multiple light-paths and
wavelength conversion is allowed at the joint
nodes of two light-paths in the channel. - In this paper, single-hop systems is considered,
since all-optical wavelength conversion is still
an immature and expensive technology. (no
wavelength conversion)
4Introduction
- Multicast is a point to multipoint communication,
by which a source node sends messages to multiple
destination nodes. - A light-tree, as a point to multipoint extension
of a light-path, is a tree in the physical
topology and occupies the same wavelength in all
fiber links in the tree.
5Introduction
- Each node of the tree is a multicast-Incapable
optical switch (MI node) .
6Introduction
- The problem is formalized as follows
- given an multicast request in a WDM network
system, compute a set of routing trees and assign
wavelengths to them. - The objective is to minimize the (cost a of
wavelength) - number of distinct wavelengths to be used under
the following constraints on each routing tree - the total cost of the tree.
7System Models
- WDM network
- Connected and undirected graph G(V, E, c)
- V vertex-set, Vn
- E edge-set, Em
- Each edge e in E is associated with a weight
function - c(e) communication cost
8System Models
- Cost of path P(u,v)
- A multicast request in the system are given,
denoted by r (s, D) - source s
- destination Dd1, d2, ..., dD
9System Models
- This paper assumes an input optical signal can
only be forward to an output signal at a switch. - Tk (s, Dk) be the routing tree for request r
(s, D) in wavelength k, where kltK, T?
k1,2,...,KTk - D? k1,2,...,K Dk T is the light-forest.
- The light signal is forwarded to the output port
leading to its child, which then transmit the
signal to its child until all nodes in the Dk
receive it.
10Objective
- The cost of the tree
- where yj 1 if wavelength j is used yj0,
otherwise - Special case
- One objective of the multicast routing is to
construct a routing tree (or forest) which has
the minimal cost. The problem is regarded as the
minimum Steiner tree problem, which was proved to
be NP-hard. - Another objective is to minimize the number of
wavelengths used in the system. - In a single-hop WDM system, two channels must use
different wavelengths if their routes share a
common link, which is the wavelength conflict
rule.
11Genetic Algorithm for WDM Multicast Problem
(WDMMP)
- Important components of GA
- Chromosome encoding
- Fitness function
- Penalty function
- Crossover operation
- Mutation operation.
12r(s, 1,2,3,4,5,6
13Example of GA
- since out-degree(s)4, D6, thus may be 2
wavelengths are need to multicast the request.
14Genetic Algorithm
- Basic idea modified the GA of C. P. Ravikumar
and Rajneesh Bajpai (Source-based delay-bounded
multicasting in multimedia networks, Computer
Communication 21 1998 126-132) to WDM network - Tree-based encoding method
15Initial Population
- A randomize depth first search algorithm was
employed for this purpose. The search begins at
the source node s and at each node randomly
select the next node to be visited. The algorithm
terminates when all destination nodes have been
visited.
16Transform Steiner tree into light-forest
- A WDM multicasting forest is constructed from a
tree be Light-Forest Construct Algorithm.
17Light-Forest Construct Algorithm
- Given a tree on a wavelength-graph
- Step 0 Find the shortest paths from source node
s to all destination nodes d in D say (p1,p2,...,
pD). - Step 1 Sort paths in increasing order according
to the cost of each path O(D log D) time.
Assume that p1,p2,...., pD be the new index. - Step 2 p1 is assigned to wavelength 1,w1,
T1p1, T2 ...Tkø. O(n)
18Light-Forest Construct Algorithm
- Step 3 For i 2 to D do
- Begin
- j1
- while j?w do
-
- if pi is not conflict with Tj
- then
- assigned pi to Tj
- TjTj ?pi
- flagTRUE
- else jj1
-
- if flag is not TRUE
- then
- ww1
- TwTw ? pi
- End
Time complexity O(D2n)
19Example
p1s?7 ?1 (10) p2s?7 ?14 ?2 (13) p3s?9 ?13 ?3
(15) p4s?10 ?4 (8) p5s?10 ?4 ?5 (12) p6s?9
?13 ?5 ?6 (26)
cost81041513262a
20p1s?7 ?1 (10) p2s?7 ?14 ?2 (13) p3s?9 ?13 ?3
(15) p4s?10 ?4 (8) p5s?10 ?4 ?5 (12) p6s?9
?13 ?5 ?6 (26)
21Conflict Test Algorithm for path and Tree
- light-tree is represented by a directed tree root
at s. - O(n) time add path into a directed tree, then
test the out-degree of the visited vertex, if the
out-degree gt1 then conflict occurred.
22Penalty Function
- The light-forest construct a feasible solution of
the WDM network, thus, there is no need for the
penalty function.
23Fitness Function
Algorithm
- Minimized
- Transform to maximization form
- where Cmax denotes the maximum value observer so
far of the cost function in the population.
Fitness Cmax-Cost
24Crossover Operator
- Given two trees TM and TF, the crossover
algorithm construct a child Steiner tree as
following - Step 1. Identify the links that are common to
both TM and TF, and retaining them in T0. - The above method of forming a child Steiner tree
is based on the heuristic that since both the
selected parent are likely to have highly values
of fitness measure, the link that are common to
them represent good trail and must be passed on
to the child.
25Crossover Operator
- T0 may be a disconnected graph and edges may have
to be added to transform it into a tree. - This is done by identifying the connected
components in T0 and merging two of the connected
components as a time until T0 takes the form of a
tree. - Note that no cycles can be formed when two
connected components of a graph are joined. - The link l which is added to join two connected
components is selected by following methods
26Edge selected methods
- 1.Random selected from parent
- 2.Random selected from all
- 3.Heuristic construct from parent (cost based)
- 4.Heuristic construct from all (cost based)
27Example
TM
TF
28T0 and the remaining set of edges
T0
291.Random selected from parent
- The edges of child is randomly selected from
edges of parent.
302.Random selected from all
- The edges of child is randomly selected from
edges of graph.
313.Heuristic construct from parent (cost based)
T0
T0
323.Heuristic construct from parent (cost based)
334.Heuristic construct from all (cost based)
11
15 ?
34Mutation Operator
- random single edge removing mutation
- random single edge adding mutation
- heuristic single edge remove mutation
- heuristic single edge adding mutation
- best single edge mutation
35random single edge removing mutation
- Randomly remove a edge from tree
- Find a edge (or a path) in G-T to construct a new
tree (random selected from edge set to construct
a tree)
36random single edge adding mutation
- Randomly add a edge into tree
- If exist an cycle then random remove an edge from
cycle
37heuristic single edge remove mutation
38heuristic single edge adding mutation
- Randomly add a edge into tree
- If exist an cycle then find the edge whose
removing has minimal cost.
39best single edge mutation
- Find the edge whose removing result minimal cost.