Abstract: The consideration of energy consumption in wireless

ad hoc networks prevents the problem of the network exhausting

batteries, thus partitioning the entire network. Power-aware

multicasting is proposed to reduce the power consumption. This

letter presents an energy-efficient genetic algorithm mechanism

to resolve quality of service (QoS) multicast routing problem,

which is NP-complete. The proposed genetic algorithm depends

on bounded end-to-end delay and minimum energy cost of

the multicast tree. Simulation results show that the proposed

algorithm is effective and efficient.

Index Terms’Multicast routing, quality of service (QoS),

mobile ad hoc network (MANET), energy.

I. INTRODUCTION

Amobile ad hoc network (MANET) is a self-configuring

network of mobile nodes, which can form a dynamic

topology. All the nodes cooperatively maintain network connectivity

without the aid of any fixed infrastructure units such

as base stations or access points in advance. Each node has

a routing function whereby it communicates by forwarding

packets via intermediate nodes. If two nodes are within the

transmission range of each other, they communicate directly.

Otherwise, other nodes are needed to forward their packets.

MANET is characterized by non-restricted mobility and easy

deployment, which makes them very promising.

Power awareness is crucial in a mobile wireless network,

particularly in a MANET. Nodes need to reduce their power

consumption to prolong their battery lifetime. Therefore, the

transmission power should be carefully chosen since the large

transmission power level leads to the waste of battery energy.

Several heuristic algorithms for constructing source-based

energy-efficient multicast trees have been developed [1]. Since

most multimedia applications are delay-sensitive, end-to-end

delay should be considered in multicast routing to provide

better QoS. However, energy-efficient multicast routing has

not always considered the delay metric. Furthermore, the

design of quality of service (QoS) multicast routing with

multi-constrained metrics, i.e., multi-constrained minimum

cost multicast problem [2], and degree-constrained least-cost

multicast routing [3], has not always considered the energy

consumption. Therefore, these QoS multicast routing schemes

cannot be directly used in MANETs.

It has been demonstrated that the problem of QoS multicast

routing with multiple QoS constraints is NP-complete [4]. In

the field of artificial intelligence, genetic algorithm is a powerful

tool to solve the NP-complete problem. Although genetic

Manuscript received July 6, 2012. The associate editor coordinating the

review of this letter and approving it for publication was S. De.

The authors are with the Department of Electronic Engineering,

Shanghai Jiao Tong University, Shanghai, 200240, China (e-mail:

[email protected]).

Digital Object Identifier 10.1109/LCOMM.2012.112012.121467

algorithms can be seen as not adequate for supporting delaysensitive

applications in MANETs because they may involve

a large number of iterations, new hardware implementations

of genetic algorithms [5] have shown their ability of fast

computation. In this regard, the proposed genetic algorithm

is quite promising for multicast routing in MANETs.

In this letter, we study the source-based multicast routing

problem using a genetic algorithm. We propose an energyefficient

genetic algorithm to find the delay-constrained multicast

tree and reduce the total energy consumption of the tree.

Experiments have proved that our algorithm is effective and

efficient. The remainder of this letter is organized as follows.

Section II states the network model and problem description.

Section III presents the proposed genetic algorithm and

analyzes its convergence. The performance of the proposed

algorithm is evaluated in Section IV. Section V concludes this

letter.

II. PROBLEM DESCRIPTION

A. Energy Consumption Model

The models of energy consumption for a link between two

nodes are studied in [6]. For a transmission of a unit message,

the model of the minimum energy needed for a link between

nodes vi and vj is Pi,j = k1 (ri,j )??+k2, where ri,j Euclidean

distance between vi and vj , k1 is a constant dependent on the

properties of the antenna, ?? is the path loss exponent that

depends on the propagation losses in the medium, and k2 is

a constant that accounts for the overheads of electronics and

digital processing. Note that we assume that each multicast

session only multicasts a unit length message.

B. Network Model and Problem Description

We assume that each node in a MANET determines the

distance between itself and its neighbor nodes using some

distance estimation method [7]. The connectivity of the network

depends on the transmission power of each node. Each

node can dynamically change its transmission power level. A

node can use a different power level for each multicast tree in

which it participates. All nodes use omni-directional antennas.

Every node vi in the network has two coverage areas: (1)

control coverage area (CRi); (2) data coverage area (DRi),

where DRi ‘ CRi. These coverage areas depend on the

transmission power selected by node vi to transmit its control

and data packets, respectively.

According to the control coverage area of each node,

a MANET can be modeled as a graph G(V,E), where

V = {v1, v2, …, vn} is a set of nodes (mobile hosts) and

E = {(i, j)|vi, vj ‘ V } is a set of links. (i, j) ‘ E

indicates that vi and vj are within the control coverage area

1089-7798/13$31.00 c 2013 IEEE

32 IEEE COMMUNICATIONS LETTERS, VOL. 17, NO. 1, JANUARY 2013

of each other. Each link (i, j) is associated with a delay

di,j and a distance li,j . di,j describes the data transmission

delay between vi and vj , which includes queuing delay and

propagation delay. li,j denotes the Euclidean distance between

vi and vj. Both di,j and li,j are positive real numbers.

Let s ‘ V be a multicast source and D ‘ V ‘ {s} be

a set of destinations. A multicast tree T (s,D) ‘ G is a tree

rooted at s and reaching all of the destinations in D. The delay

of a path on T from s to a destination vt ‘ D, denoted as

delay(pT (s, vt)), is delay (pT (s, vt)) =

(i,j)’pT (s,vt) dij .

Then, the delay-constrained minimum Steiner tree problem is

to find a minimum cost multicast tree T ‘ (s,D) such that

delay (pT’ (s, vt)) ‘ ??, ‘vt ‘ D, where ?? is the overall

allowable delay from s to a destination vt ‘ D. Once

T ‘ (s,D) is found, each node on T ‘ adjusts its transmission

power properly to transmit data packets along the tree.

III. PROPOSED ALGORITHM

A. Coding

The representation of candidate solutions is critical for

designing a well-performed genetic algorithm. A number of

representations for a tree, such as one-dimensional binary code

[8], Pr??ufer numbers [9] and sequence and topology encoding

(ST encoding) [10], have been developed. However, these

representations are likely to generate illegal trees (e.g., ST

encoding), or have poor locality (e.g., Pr??ufer numbers), or

have low efficiency that the required search space increases

remarkably with the increase of the network size (e.g., onedimensional

binary code). Recent studies on network optimization

[11] avoid these problems by directly manipulating

trees, i.e., using a data structure of a tree to describe the

chromosome. With this method, a tree directly represents a

chromosome. Therefore, the coding/decoding operations are

omitted. In our study, we use the tree structure coding method,

in which a chromosome represents a multicast tree directly.

B. Initial Population

Two issues should be considered in the process of population

initialization: (1) population size Np; (2) the method

of population formation. Np is set by the system. In the proposed

algorithm, the formation of initial population (random

multicast Steiner trees) is based on the random depth-first

search algorithm [12]. The searching process begins at s and

randomly selects an unvisited node for next visit. This process

terminates when all destinations have been visited.

C. Fitness Function

The fitness function should reflect the individual performance:

the ‘good individual’ has bigger fitness than the ‘bad

one’. The definition of the fitness function is as follows:

f (T) =

a

cost (T )

vt’D

??(delay (pT (s, vt)) ‘ ??) (1)

where

cost (T) =

vi’T

cTi

=

vi’T

b[k1(r

i)?? + k2] (2)

and

??(Z) =

1, if Z ‘ 0,

??, if Z > 0.

(3)

a is the positive real weighting coefficient. ?? is the maximum

allowable delay from s to vt, where vt ‘ D. cos(T ) is

the energy cost of tree T . ??(??) is a penalty function. The

value ??(0 < ?? < 1) determines the degree of penalty: the

smaller the value of ??, the higher the degree of penalty. In our

experiments, we set ?? = 0.5. This letter reduces the energy

consumption of a multicast tree to maximize the network

service time. In Eq. (2), cTi

is the energy cost of vi, b is

a positive real coefficient, and r

i is the maximum distance

between vi and vj, where vj ‘ B(vi). B(vi) is the set of

immediate succeeding nodes of vi on T . Note that the energy

cost of leaf nodes is zero. Particularly, we set k1 = 1, k2 = 0,

b = 1 and ?? = 2 in our experiments.

D. Selection of Parents

In the proposed genetic algorithm, an elitist model is

adopted as the selection operator. First, we select the best

individuals and directly copy them to the next generation.

Then, we select the rest by the roulette wheel selection model.

The probability for selecting a parent Ti, denoted as p(Ti), is

given by:

p(Ti) =

f(Ti)

Np

j=1 f(Tj)

(4)

E. Crossover Scheme

Based on the roulette wheel selection, a pair of chromosomes

is selected as the parents to produce a single offspring.

Let Ta and Tb be the selected parents. The crossover operator

generates a child Tc by identifying the same links between Ta

and Tb, and retaining these common links in Tc. According

to the definition of fitness function, the ‘better’ individual

has higher probability of being selected as a parent. Thus,

the common links between two parents are more likely to

represent the ‘good’ traits. However, retaining these common

links in Tc may generate some separate sub-trees. Therefore,

links are needed to be selected to connect these sub-trees into

a multicast tree.

The process of connecting separate sub-trees is as follows.

First, two separate sub-trees are randomly selected among

these sub-trees. Then, the selected sub-trees are connected by

the least-delay path to form a new sub-tree. The connecting

process repeats until a multicast tree is constructed. In order

to find the least-delay path between two sub-trees, we add two

nodes. One node is connected to all of the nodes of one subtree

with links which have zero delay associated with them.

Similarly, the other node is connected to all the nodes of the

other sub-tree with zero-delay links. Hence, the least-delay

path between two sub-trees is the least-delay path between

the two added nodes. Clearly, there are no routing loops in

the multicast tree with this connecting method. An example

of crossover procedure is shown in Fig. 1. The same links of

Ta and Tb are retained in Tc. Then, all sub-trees are connected

with least-delay paths which are denoted as dot lines in Tc.

LU and ZHU: GENETIC ALGORITHM FOR ENERGY-EFFICIENT QOS MULTICAST ROUTING 33

1

3

8

2

4

9

11

5

12

7

6

13

15

14

10

3,21

3,21

6,7

6,14

7,10

3,20

1,13

4,11

3,24

4,4

5,2

3,5

11,7

1,38

3,21

5,3

4,15

3,22

3,2 3,5

4,6

4,35

1

3

8

2

4

9

11

5

12

7

6

13

15

14

10

3,21

6,14

7,10

3,20

1,13

4,11

3,24

4,4

5,2

3,5

11,7

1,38

3,21

5,3

4,15

3,22

3,2 3,5

4,6

4,35

1

3

8

2

4

9

11

5

12

7

6

13

15

14

10

3,21

6,14

7,10

3,20

1,13

4,11

3,24

4,4

5,2

3,5

11,7

1,38

3,21

5,3

4,15

3,22

3,2 3,5

4,6

4,35

3,21

3,21

6,7

6,7

source node

destination node

(delay, distance)

Ta Tb

Tc

Fig. 1. Example of crossover operation.

Proposed_GA (G, s, D)

{

1. for (i=1; i<= Np; i++) {

2. Chromosome(i) = RandomDFS(G, s, D);

}

3′ for (j=1; j<=Ng; j++) {

4. select the best individuals and copy them into the next

generation;

5. for (k=1; k<=Np-Noptimal; k++) {

6. Ta=MSTSelect (Chromosome)

7. Tb= MSTSelect (Chromosome)

8. Tc=Crossover(Ta, Tb);

9. if (rand() < pm)

10. Mutation(Tc);

}

}

11. Select the best individual and output it;

}

Fig. 2. The pseudo code of the proposed genetic algorithm.

F. Mutation

When a new offspring is produced, the mutation operation

is performed according to the mutation probability pm. First,

mutation procedure randomly selects a subset of nodes and

breaks the multicast tree into some separate sub-trees by

removing all the links that connect these selected nodes and

their farthest child node on T . Then, it re-connects these

separate sub-trees into a new multicast tree with least-delay

paths. Fig. 2 shows the pseuso code of the proposed genetic

algorithm. As shown in Fig. 2, RandomDFS() denotes

random depth-first search algorithm, Ng is the number of

generations, Noptimal is the number of the best individuals.

G. Analysis of convergence

According to the Theorem 2.7 in [13], the proposed algorithm

could finally converge to the global optimal solution.

For a large-scale network, it is time-consuming to obtain

the optimal solution to this NP-complete problem. This can

be overcome by setting an appropriate iteration time for the

genetic algorithm. In this way, we can obtain a near-optimal

solution within a reasonable time limit.

IV. EXPERIMENT

We have implemented the proposed genetic algorithm in

MS VC++ 6.0 using the genetic algorithmlib [14] which is

0 2 4 6 8 10 12 14 16 18 20

15

18

20

25

30

35

generations

d

e

la

y

proposed algorithm

delay bound 18

0 2 4 6 8 10 12 14 16 18 20

1000

2000

3000

4000

generations

c

o

s

t

proposed algorithm

LDT

Fig. 3. Convergence process of the proposed genetic algorithm with ?? = 18.

a C++ Library of Genetic Algorithm. The experiments were

performed on a PC with Pentium Dual-core 2.5GHz CPU

(2 GB memory). Preliminary tests suggest that the mutation

probability pm = 0.05, the crossover probability pc = 1, and

the population size Np = 15 performed well. The proposed

algorithm is compared with the least delay multicast tree

algorithm (LDT). Among all the delay-constrained multicast

routing algorithms, LDT has the highest successful ratio

because it connects the source and each destination with the

least delay path. The successful ratio (SR) of an algorithm is

defined as the number of requests successfully routed divided

by the total number of routing requests. When the multicast

tree constructed by the algorithm satisfies the delay constraint,

the routing request is considered as successfully routed one.

A. Results for Fixed Network

These experiments mainly test the convergence ability and

involve the deterministic, weighted network topology (15

nodes) depicted in Fig. 1. Node 1 is the source and nodes 3,

6, 7, 9, 15 are the destinations. Fig. 3 shows the convergence

processes of the proposed algorithm under ?? = 18. As shown

in Fig. 3, the proposed algorithm can converge to the solution

satisfying the delay bound and having low cost quickly (i.e.,

after eight generations). It is seen that the cost of the proposed

algorithm is small than that of LDT.

B. Results for Random Networks

In this section, we verify that the previous result holds for

all kinds of networks (networks scales). The simulation studies

involve random networks with 20-100 nodes. The distance of

each link is uniformly distributed in [10,200] and the delay

of each link in [0,50]. The maximum allowable delay is

uniformly distributed in [30,160]. For each request, the source

and destinations are randomly generated. MANETs can be

used in applications including military battlefield (e.g., moving

platoon or company), rescue missions, conference room and

so on. These applications involve networks with sizes that

range from small to medium, e.g., tens of nodes. Simulations

reflect this practical reality. For larger networks, some cluster

based schemes can be used. These experiments mainly test

34 IEEE COMMUNICATIONS LETTERS, VOL. 17, NO. 1, JANUARY 2013

20 40 60 80 100

0.2

0.4

0.6

0.8

1

number of nodes

S

R

proposed algorithm

LDT

Fig. 4. Comparison of SR between the proposed algorithm and LDT.

20 30 40 50 60 70 80 90 100

10,000

20,000

30,000

40,000

50,000

60,000

70,000

number of nodes

c

o

s

t

LDT

proposed algorithm

Fig. 5. Comparison of average cost between the proposed algorithm and

LDT.

20 30 40 50 60 70 80 90 100

1

2

3

4

5

6

7

8

9

10

number of nodes

ru n

n

i

n g t i

m

e

(s

)

proposed__GA

LDT

Fig. 6. Comparison of running time between the proposed algorithm and

LDT.

the SR, the average cost, and the running time. The results

are based on 10000 randomly generated routing requests in

each network. The source and destinations of each request are

generated randomly.

Fig. 4 shows the comparison of SR between the proposed

algorithm and LDT. As shown in Fig. 4, it is obvious that

the two algorithms have the same SR. This proves that the

proposed algorithm can find the feasible multicast trees that

satisfy the delay bound if one exists.

Fig. 5 shows the comparison of average cost between the

proposed algorithm and LDT. From the figure, we can see that

the average cost of the proposed algorithm is much smaller

than that of LDT. This proves that the proposed algorithm can

find the multicast trees having low cost.

Fig. 6 shows the running time obtained by the proposed

algorithm and LDT. From Fig. 6 we can see that the running

time of the proposed algorithm is smaller than that of LDT

and grows slowly with the size of the network. Even for the

network with 100 nodes, the running time of the proposed

algorithm is fairly desirable.

V. CONCLUSION

Power awareness is crucial in mobile wireless networks,

particularly in MANETs. Nodes need to reduce their power

consumption to prolong their battery lifetime. In this letter,

we proposed the energy-efficient delay-constrained multicast

routing algorithm. The proposed algorithm is a source-based

algorithm which takes into account energy consumption as

well as end-to-end delay in route selection. The proposed

algorithm applies crossover and mutation operations directly

on trees, which simplifies the coding operation and omits

the coding/decoding process. Heuristic mutation technique can

improve the total energy consumption of a multicast tree. A

series of experiments was performed to verify the convergence

performance, SR and running time of the proposed algorithm.

The results demonstrate that the proposed algorithm is effective

and efficient. This study only focuses on source-based

routing trees. Future works could apply the proposed algorithm

to shared multicasting trees.

REFERENCES

[1] Z. Nutov and M. Segal, ‘Improved approximation algorithms for maximum

lifetime problems in wireless networks,’ Theoretical Computer

Science, vol. 453, no. 28, pp. 88’97, 2012.

[2] M. Molnr, A. Bellabas, and S. Lahoud, ‘The cost optimal solution of the

multi-constrained multicast routing problem,’ Computer Networks, vol.

13, no. 13, pp. 3163’3149, 2012.

[3] S. Y. Tseng, Y. M. Huang, and C. C. Lin, ‘Genetic algorithm for delayand

degree-constrained multimedia broadcasting on overlay networks,’

Computer Commun., vol. 29, no. 17, pp. 3625’3632, Nov. 2006.

[4] Z. Wang and J. Crowcroft, ‘Quality of service for supporting multimedia

applications,’ IEEE J. Sel. Areas Commun., vol. 14, no. 7, pp. 1228’1234,

1996.

[5] F. Ahmadi, R. Tati, S. Ahmadi, and V. Hossaini, ‘New hardware engine

for genetic algorithms,’ in Proc. 2011 ICGEC, pp. 122’126.

[6] L. M. Feeney and M. Nilsson, ‘Investigating the energy consumption of

a wireless network interface in an ad hoc networking environment,’ in

Proc. 2001 INFOCOM, pp. 1548’1557.

[7] W. C. Y. Lee, Mobile Communication Engineering. McGraw-Hall, 1993.

[8] F. Xiang, L. Junzhou, W. Jieyi, and G. Guanqun, ‘QoS routing based on

genetic algorithm,’ Computer Commun., vol. 22, no. 15-16, pp. 1392′

1399, Sep. 1999.

[9] A. T. Haghighat, K. Faez, M. Dehghan, A. Mowlaei, and Y. Ghahremani,

‘A genetic algorithm for Steiner tree optimization with multiple

constraints using Prfer number,’ Proc. 2002 EurAsia-ICT, pp. 272’280.

[10] Y. S. Yen, H. C. Chao, R. S. Chang, and A. Vasilakos, ‘Floodinglimited

and multi-constrained QoS multicast routing based on the genetic

algorithm for MANETs,’ Mathematical and Computer Modelling, vol.

53, no. 11, pp. 2238’2250, 2011.

[11] S. Y. Tseng, Y. M. Huang, and C. C. Lin, ‘Genetic algorithm for delayand

degree-constrained multimedia broadcasting on overlay networks,’

Computer Commun., vol. 29, no. 17, pp. 3625’3632, 2006.

[12] C. P. Ravikunmar and R. Bajpai, ‘Source-based delay-bounded multicasting

in multimedia networks,’ Computer Commun., vol. 21, no. 2, pp.

126’132, Mar. 1998.

[13] C. Guoliang, W. Xufa, Z. Zhenquan, and W. Dongsheng, Genetic

Algorithm and its Application. People’s Posts and Telecommunications

Press, 1996.

[14] M. Wall, GAlib: A C++ Library of Genetic Algorithm Components.

http://lancet.mit.edu/ga.

**...(download the rest of the essay above)**