^{1}

^{1}

In wavelength routing, data signals are carried on a
unique wavelength from a source node to a destination node passing through
nodes where the signals are optically routed and switched without regeneration
in the electrical domain. When a physical network is given and connections
among the nodes in the network are required, an optical path (

In order to solve various applications on WDM
networks, mechanisms must be developed to handle not only point-to-point
communications but also

Recently, several researchers studied the multicast
problem over WDM networks [

Architecture of a TaC node.

In [

(a) Example of trial, (b) light trees.

In [

In this paper, the multicast routing problem on WDM
networks, whose nodes are TaCs, is studied. Given the WDM network and a
multicast request, the goal is to find a

For a NP-hard problem, designing an algorithm to find
an optimal solution is impractical, due to the exponential growth in execution
time.

GAs search by exploiting information sampled from different regions of the solution space. The combination of crossover and mutation helps GA escape from local optima. These properties of GA provide a good global search methodology for the multicast problem. In this paper, two GAs are proposed to find the light forest for the multicast request on WDM networks so as to minimize the objective cost. The performance of the proposed algorithms is evaluated in terms of the costs associated with the light forest and the number of wavelengths they construct.

The major contributions of this research are briefly
described here. First, a new cost model of the WDM multicast problem is
introduced and a new problem is defined. Second, a smart coding method of GAs
for the multicast problem on WDM networks is constructed. Two GAs are proposed
to solve the WDM multicast problem. Then, a

The rest of this paper is organized as follows. In Section

In this paper, all nodes in a WDM network are

For the given WDM network, the unique source node is able to send multiple “copies” to the same output using different wavelengths along different paths. That is, the source node of the multicast request has multiple transmitters, and therefore packets can be transmitted to as many children as needed when constructing a multicast tree, rooted at itself. Similarly, a source can transmit to its children on different wavelengths using different transmitters.

A WDM network is represented by an undirected and
connected graph

In this paper, a multicast request

Let

Similarly, the cost of the light forest

In this paper, the input optical signal of a TaC node
can only be forwarded to an output port leading to its child. A node in the WDM
network can perform a “drop and continue” function to transmit the signal to
its child until all nodes in

Another important goal of the model is to minimize the number of wavelengths to serve the multicast request without causing wavelength conflicts. Since wavelength is one of the most important resources in the WDM network, if the number of used wavelengths can be reduced, the consequent multicast requests can find the light tree or light forest easily in the WDM network. Thus, the blocking probability of the multicast request can be reduced. Otherwise, the multicast request will be blocked or rejected. In the equation described above, if the number of wavelengths used to route the multicast request is not restricted, the routing path may tend to consume more wavelengths.

In MCMRP, given a multicast request

A key
observation is that, due to the

Example of MCMRP
and the shortest path tree

For the multicast problem on general networks, there
were several multicast routing algorithms [

Recently, GAs were used to find the multicast routing
so as to reduce the total cost from the multicast delivery tree. Examples are
the multimedia multicast routing [

In this
section, a simple genetic algorithm (SGA) is proposed to solve MCMRP. The
development of the SGA requires: (1) a chromosomal coding scheme, (2) crossover
operators, (3) mutation operators, (4) a fitness definition, (5) a replacement
strategy, and (6) termination rules. The outline of the SGA is shown in Algorithm

^{*} Selection ^{*}/

A pair of
source-destination nodes can be connected by a

Let

Example of the path-oriented encoding.

Obviously, a chromosome represents a candidate
solution for the multicast routing problem, because it guarantees a path
between the source node and any of the destination nodes. However, a chromosome
does not necessarily represent a light tree, because a chromosome may violate
the light-splitting constraint. Thus, a decoding method called

Sort paths which are represented by the chromosomes in the descending order according to the cost

let

select and remove a path

Perform

Assume the
paths extracted from path tables of all destinations of the chromosome are
shown in Figure

(a) The path represented by the chromosome, (b) the routing paths and wavelength assignment of example 1 after performing LFCA.

The crossover
operator used in the development of SGA is two point crossover (

It is worth noting that after performing the TPC crossover, LFCA should be used to construct the new light forest and the cost of the new light forest should be recomputed.

Two types of mutations are used to develop this
algorithm; they are

Generally, GAs use fitness functions to map objectives
to costs and to achieve the goal of a minimal cost light forest. An objective
function value is associated with each chromosome and can be represented by the
equation as follows:

Initially,
assume that

In this
section, another genetic algorithm, named

Because the problem involves representing routing
paths of multicast and assigning wavelengths, a coding scheme that uses
positive integral number is employed. A chromosome of one-dimensional array
with size

The structure of the chromosome is divided into two
parts, as shown in Figure

(a) Encoding method, (b) SPC, (c) SPWC, and (d) SPRPC.

Let

The

The

Given a light
tree

Because the routing paths and the assigned wavelengths
in the TLGA are generated randomly, this may generate an infeasible solution.
Thus, the chromosome should be adjusted to a constraint-satisfied solution by
performing the CAA. The details of CAA are described in Algorithm

^{*} Selection ^{*}/

Four types of crossover operators are used to develop
this TLGA. They are (1) the

Three types of mutations are used to develop the TLGA.
They are (1) the

Because finding the optimal solution for the MCMRP
with a large problem size is impractical, GAs can be used to find the near
optimal solution. But, only using random initialization the GA may take a lot
of time to converge. Therefore, heuristic algorithms are used to find the
better initial solution, instead of random initialization, to speed up the
convergence of GAs. In this section, a

Assume that

Before introducing the proposed algorithm, some
notations are introduced and stated here. Let

Consider the network shown in Figure

According to the above discussions, the rerouting path
can be determined to be more complex. Let

If

If

If path from

After finding and computing the paths and costs of the
possible paths, the path with the minimal cost is selected to be the rerouting
path. If

The details of the farthest-first greedy (FG)
algorithm are described as in Algorithm

Assume

Final result by applying the farthest-first greedy algorithm.

Then, to find the minimal cost routing path for
destination 1, those paths on

In order to evaluate the performance of the proposed GAs, they were implemented and applied to solve problems that were randomly generated. The results of these experiments are reported below. In all the experiments, the algorithms were conducted in C++, and all the experiments were run on a personal computer (PC) with a Pentium III 1 GHZ CPU and 512 MB RAM.

In this subsection, the effects of the various
parameters of GAs are discussed. A WDM network with

For the proposed SGA with heuristic initialization, the parameters of SGA are determined by performing the following experiments.

(1) Effect of the mutation probability: in Figure

The effect of the mutation probability on the performance of SGA.

(2) Effect of the population size: in Figure

The effect of the populations size on the performance of SGA.

(3) Effect of the path table size: in Figure

The effect of the path table size on the performance of SGA.

For the proposed TLGA with heuristic initialization, the parameters of TLGA are determined by performing the following experiments.

(1) Effect of the mutation probability: in Figure

The effect of the mutation probability on the performance of TLGA.

(2) Effect of the population size: in Figure

The effect of the population size on the performance of TLGA.

(3) Effect of the path table size: in Figure

For the
mutation, the purpose is to allow GAs to avoid local minima by preventing the
population of chromosomes from becoming too similar to each other, thus slowing
or even stopping evolution. If the mutation probability is high, the population
of chromosomes may change intensely and be difficult to converge and find the
optimal solution. Moreover, increasing the mutation probability will increase
the running time of GAs. The experiments show that the mutation probability of
both the SGA and the TLGA is set to 0.2. For the population size, in general,
the larger the population size, the better the result that can be found by GAs.
On the other hand, increasing the size of the population may also increase the
time spent for each generation and the storage requirement. To examine the
effect of the population size in details, for each experiment with

The effect of the population size on the performance of TLGA and SGA.

The effect of the path table size of TLGA.

In this subsection, the performance of the proposed
GAs is examined and compared. For the MCMRP, the proposed algorithms were run
on several randomly generated connected networks with different nodes (

The average results of SGA and TLGA and the results of
FG, MT, and SPT algorithms for different values of ratio

Comparison
of algorithms on the MCMRP with

Comparison
of algorithms on the MCMRP with

Comparison
of algorithms on the MCMRP with

Table

Experimental results of algorithms SGA, TLGA, and FG.

FG | SGA | TLGA | SPT | MT | ||||||||

FG | average | min. | max. | std. | average | min | max | std. | SPT | MT | ||

100 | 10 | 87 | 83 | 77 | 89 | 3.79 | 81 | 77 | 85 | 2.53 | 138 | 95 |

100 | 20 | 145 | 144 | 138 | 146 | 2.83 | 139 | 134 | 147 | 4.22 | 194 | 156 |

100 | 30 | 301 | 298 | 291 | 301 | 3.41 | 295 | 286 | 300 | 4.60 | 398 | 342 |

100 | 40 | 364 | 361 | 360 | 364 | 1.41 | 360 | 355 | 366 | 3.49 | 411 | 398 |

100 | 50 | 390 | 381 | 381 | 386 | 2.24 | 371 | 371 | 376 | 2.24 | 453 | 445 |

200 | 10 | 29 | 25 | 19 | 29 | 3.22 | 23 | 18 | 25 | 2.41 | 75 | 36 |

200 | 20 | 67 | 67 | 67 | 73 | 2.68 | 66 | 60 | 75 | 4.84 | 117 | 74 |

200 | 30 | 101 | 101 | 93 | 103 | 3.69 | 100 | 92 | 100 | 3.58 | 154 | 134 |

200 | 40 | 248 | 244 | 242 | 244 | 0.89 | 240 | 233 | 244 | 3.61 | 295 | 287 |

200 | 50 | 297 | 290 | 286 | 290 | 1.79 | 287 | 286 | 287 | 0.45 | 390 | 373 |

300 | 10 | 65 | 60 | 53 | 60 | 3.13 | 59 | 54 | 63 | 2.86 | 110 | 75 |

300 | 20 | 105 | 105 | 97 | 106 | 3.61 | 102 | 94 | 110 | 5.06 | 154 | 121 |

300 | 30 | 127 | 126 | 120 | 134 | 4.47 | 123 | 121 | 131 | 3.69 | 175 | 143 |

300 | 40 | 212 | 212 | 210 | 216 | 2.00 | 209 | 203 | 215 | 3.79 | 261 | 254 |

300 | 50 | 309 | 305 | 299 | 312 | 4.12 | 300 | 296 | 300 | 1.79 | 354 | 365 |

FG | SGA | TLGA | SPT | MT | ||||||||

FG | average | min. | max. | std. | average | min | max | std. | SPT | MT | ||

100 | 10 | 90 | 87 | 87 | 91 | 1.79 | 85 | 79 | 94 | 4.84 | 121 | 101 |

100 | 20 | 147 | 147 | 145 | 151 | 2.00 | 146 | 143 | 154 | 3.82 | 176 | 167 |

100 | 30 | 324 | 312 | 312 | 315 | 1.34 | 310 | 306 | 316 | 3.22 | 412 | 358 |

100 | 40 | 374 | 374 | 372 | 381 | 3.26 | 374 | 372 | 381 | 3.26 | 435 | 423 |

100 | 50 | 394 | 384 | 377 | 387 | 3.41 | 383 | 381 | 387 | 2.00 | 498 | 427 |

200 | 10 | 28 | 28 | 24 | 32 | 2.53 | 26 | 17 | 30 | 4.40 | 75 | 36 |

200 | 20 | 74 | 70 | 66 | 70 | 1.79 | 70 | 69 | 72 | 1.00 | 123 | 87 |

200 | 30 | 123 | 110 | 103 | 114 | 3.61 | 110 | 107 | 116 | 3.00 | 178 | 132 |

200 | 40 | 256 | 246 | 246 | 255 | 4.02 | 244 | 241 | 247 | 1.90 | 376 | 290 |

200 | 50 | 301 | 295 | 289 | 300 | 3.49 | 293 | 291 | 295 | 1.26 | 402 | 349 |

300 | 10 | 67 | 61 | 58 | 61 | 1.34 | 60 | 56 | 63 | 2.24 | 112 | 92 |

300 | 20 | 111 | 110 | 109 | 114 | 1.84 | 109 | 109 | 110 | 0.45 | 176 | 143 |

300 | 30 | 139 | 130 | 122 | 139 | 5.39 | 131 | 124 | 134 | 3.41 | 254 | 190 |

300 | 40 | 225 | 216 | 208 | 224 | 5.06 | 215 | 213 | 221 | 2.83 | 321 | 287 |

300 | 50 | 331 | 318 | 309 | 324 | 4.84 | 316 | 312 | 324 | 4.00 | 463 | 390 |

FG | SGA | TLGA | SPT | MT | ||||||||

FG | average | min. | max. | std. | average | min | max | std. | SPT | MT | ||

100 | 10 | 96 | 92 | 92 | 95 | 1.34 | 91 | 82 | 93 | 4.12 | 144 | 139 |

100 | 20 | 157 | 152 | 151 | 153 | 0.63 | 148 | 143 | 150 | 2.41 | 298 | 295 |

100 | 30 | 326 | 312 | 307 | 320 | 4.22 | 308 | 307 | 308 | 0.45 | 361 | 360 |

100 | 40 | 398 | 375 | 375 | 379 | 1.79 | 371 | 367 | 379 | 4.00 | 381 | 371 |

100 | 50 | 401 | 398 | 397 | 404 | 2.72 | 392 | 388 | 397 | 2.86 | 25 | 23 |

200 | 10 | 30 | 28 | 23 | 29 | 2.28 | 25 | 23 | 32 | 3.26 | 67 | 66 |

200 | 20 | 76 | 73 | 72 | 78 | 2.28 | 70 | 61 | 70 | 4.02 | 101 | 100 |

200 | 30 | 123 | 110 | 101 | 114 | 4.40 | 102 | 102 | 108 | 2.68 | 244 | 240 |

200 | 40 | 256 | 250 | 241 | 251 | 4.05 | 241 | 241 | 248 | 3.13 | 290 | 287 |

200 | 50 | 302 | 300 | 296 | 304 | 2.53 | 297 | 292 | 304 | 3.85 | 60 | 59 |

300 | 10 | 67 | 65 | 62 | 73 | 3.82 | 60 | 57 | 68 | 3.82 | 105 | 102 |

300 | 20 | 117 | 114 | 112 | 114 | 0.89 | 110 | 108 | 116 | 2.83 | 126 | 123 |

300 | 30 | 149 | 138 | 131 | 138 | 3.13 | 130 | 125 | 131 | 2.28 | 212 | 209 |

300 | 40 | 225 | 218 | 212 | 223 | 3.49 | 213 | 208 | 216 | 2.61 | 305 | 300 |

300 | 50 | 334 | 319 | 318 | 320 | 0.63 | 310 | 307 | 310 | 1.34 | 401 | 376 |

As mentioned above, in the TLGA, the encoding method of SGA is extended by adding an AG which represents the assigned wavelengths of the paths. Moreover, the content is modified by performing the CAA to form a feasible solution. In the CAA, three heuristic algorithms: (1) the wavelength mapping algorithm, (2) the wavelength packing algorithm, and (3) the path rerouting algorithm are called to find better wavelength assignments of the multicast tree. More crossover and mutation operators are used in the TLGA and the heuristic algorithm FG is used to generate one chromosome of the TLGA. All these improvements can help the TLGA to find better results quickly. Thus, the TLGA gets better results than the SGA and FG.

Table

Experimental results of algorithms SGA, TLGA, and FG.

100 | 10 | 1.388 | accept H0 | accept H0 | 14.364 | reject H0 | reject H0 |

100 | 20 | 3.112 | reject H0 | reject H0 | 8.009 | reject H0 | reject H0 |

100 | 30 | 1.657 | accept H0 | accept H0 | 11.628 | reject H0 | reject H0 |

100 | 40 | 0.840 | accept H0 | accept H0 | 1.988 | accept H0 | accept H0 |

100 | 50 | 9.982 | reject H0 | reject H0 | 5.018 | reject H0 | accept H0 |

200 | 10 | 1.572 | accept H0 | accept H0 | 10.368 | reject H0 | reject H0 |

200 | 20 | 0.572 | accept H0 | accept H0 | 7.182 | reject H0 | reject H0 |

200 | 30 | 0.615 | accept H0 | accept H0 | 13.616 | reject H0 | reject H0 |

200 | 40 | 3.402 | reject H0 | reject H0 | 0.792 | accept H0 | accept H0 |

200 | 50 | 5.140 | reject H0 | reject H0 | 3.204 | accept H0 | accept H0 |

300 | 10 | 0.746 | accept H0 | accept H0 | 9.797 | reject H0 | reject H0 |

300 | 20 | 1.526 | accept H0 | accept H0 | 13.032 | reject H0 | reject H0 |

300 | 30 | 1.637 | accept H0 | accept H0 | 19.981 | reject H0 | reject H0 |

300 | 40 | 2.214 | reject H0 | accept H0 | 4.000 | accept H0 | accept H0 |

300 | 50 | 3.520 | reject H0 | reject H0 | 16.974 | reject H0 | reject H0 |

100 | 10 | 1.226 | accept H0 | accept H0 | 3.204 | accept H0 | accept H0 |

100 | 20 | 0.733 | accept H0 | accept H0 | 4.000 | accept H0 | accept H0 |

100 | 30 | 1.813 | accept H0 | accept H0 | 1.796 | accept H0 | accept H0 |

100 | 40 | 0.000 | accept H0 | accept H0 | 10.628 | reject H0 | reject H0 |

100 | 50 | 0.800 | accept H0 | accept H0 | 11.628 | reject H0 | reject H0 |

200 | 10 | 1.246 | accept H0 | accept H0 | 6.401 | reject H0 | accept H0 |

200 | 20 | 0.000 | accept H0 | accept H0 | 3.204 | accept H0 | accept H0 |

200 | 30 | 0.000 | accept H0 | accept H0 | 13.032 | reject H0 | reject H0 |

200 | 40 | 1.422 | accept H0 | accept H0 | 16.160 | reject H0 | reject H0 |

200 | 50 | 1.705 | reject H0 | accept H0 | 12.180 | reject H0 | reject H0 |

200 | 10 | 1.212 | accept H0 | accept H0 | 1.796 | accept H0 | accept H0 |

300 | 20 | 1.669 | reject H0 | accept H0 | 3.386 | accept H0 | accept H0 |

300 | 30 | accept H0 | accept H0 | 29.052 | reject H0 | reject H0 | |

300 | 40 | 0.545 | accept H0 | accept H0 | 25.604 | reject H0 | reject H0 |

300 | 50 | 1.007 | accept H0 | accept H0 | 23.426 | reject H0 | reject H0 |

100 | 10 | reject H0 | accept H0 | 1.796 | accept H0 | accept H0 | |

100 | 20 | 5.078 | reject H0 | reject H0 | 0.397 | accept H0 | accept H0 |

100 | 30 | 2.981 | reject H0 | reject H0 | 17.808 | reject H0 | reject H0 |

100 | 40 | 2.886 | reject H0 | reject H0 | 3.204 | accept H0 | accept H0 |

100 | 50 | 4.807 | reject H0 | reject H0 | 7.398 | reject H0 | reject H0 |

200 | 10 | 2.385 | reject H0 | accept H0 | 5.198 | reject H0 | accept H0 |

200 | 20 | 2.053 | reject H0 | accept H0 | 5.198 | reject H0 | reject H0 |

200 | 30 | 4.910 | reject H0 | reject H0 | 19.360 | accept H0 | accept H0 |

200 | 40 | 5.560 | reject H0 | reject H0 | 16.403 | reject H0 | reject H0 |

200 | 50 | 2.059 | reject H0 | accept H0 | 6.401 | accept H0 | accept H0 |

300 | 10 | 2.927 | reject H0 | reject H0 | 14.592 | reject H0 | reject H0 |

300 | 20 | 4.264 | reject H0 | reject H0 | 0.792 | accept H0 | accept H0 |

300 | 30 | 6.533 | reject H0 | reject H0 | 9.797 | reject H0 | reject H0 |

300 | 40 | 3.628 | reject H0 | reject H0 | 12.180 | reject H0 | reject H0 |

300 | 50 | 19.221 | reject H0 | reject H0 | 0.397 | accept H0 | accept H0 |

Mean test | |||||||

Var. test |

Second, in the difference of variances, the results
obtained by performing the SGA and TLGA are examined.

In this paper, the

In the proposed SGA, a

In the proposed TLGA, the encoding method of SGA is extended by adding an AG which represents the assigned wavelengths of the paths. Moreover, the content is modified by performing the CAA to form a feasible solution. In the CAA, three heuristic algorithms, (1) the wavelength mapping algorithm, (2) the wavelength packing algorithm, and (3) the path rerouting Algorithm, are called to find better wavelength assignments of the multicast tree. More crossover and mutation operators are used in the TLGA and the heuristic algorithm FG is used to generate one chromosome of the TLGA. All these improvements can help the TLGA to find better results quickly. Thus, the TLGA gets better results than the SGA and FG.

The author is very grateful to Associate Editor Dr. Shengxiang Yang and anonymous reviewers for their helpful suggestions and constructive comments.