You are on page 1of 5

2014 9th International Conference on Communications and Networking in China (CHINACOM)

A Bat-inspired Algorithm for Router Node Placement with Weighted


Clients in Wireless Mesh Networks
Chun-Cheng Lin, Yan-Sing Li, and Der-Jiunn Deng
served with a higher priority. Mesh routers provide network
services to the mesh clients covered by their wireless
coverage, and communicate with the other mesh routers via
multi-hop communication. Our concerned problem is to
maximize the weighted number of the covered mesh clients,
as well as the weighted network connectivity.
A lot of previous works on WMNs have existed; especially,
with advances in wireless communications technology, the
research on mobile devices has received more and more
attention. In WMNs, each mobile devise is viewed as a mesh
client, and hence, the dynamic WMNs have also be much
investigated. In a dynamic network scenario, mesh clients can
arbitrarily change their positions and switch on or off their
network access at different times, so that the network
topologies at different times have to adapt to the network
change.
Our pervious work [5] investigated the problem of
dynamic router node placement in WMNs (WMN-dynRNP),
i.e., to place mesh routers on a deployment region to serve
mesh clients with mobility, and readjust the positions of mesh
routers to adapt to the change of mesh clients at different
times, so that the network connectivity and the client
coverage are maximized, which are represented by the
weighted size of the greatest subgraph component of the
WMN topology and the weighed number of the covered mesh
clients. However, it is impossible to find the optimal
placement of mesh routers, because dynamic positions of
mesh clients are unpredictable. The problem is still
unsolvable even if the network scenario is static. Therefore,
our previous work [5] proposed a particle swarm optimization
(PSO) approach to the WMN-dynRNP problem.
In the WMN-dynRNP, each mesh client is treated equally,
i.e., no matter which client is important, all of them get the
same network service quality. Therefore, this paper assumes
that each mesh client is associated with a weighted value,
which reflects its importance in the WMN, and the mesh
clients with a larger weighted value should be served with a
higher priority. Note that it is common to extend the
conventional problem to a weighted version of the problem to
reflect the relative importance of the concerned entity, e.g.,
the work in [10] proposed a weighted scheme to raise the
delivery quality of audios and videos.
To solve the WMN-dynRNP with weighted mesh clients
and improve our previous PSO solution, this paper proposes
the so-called bat-inspired algorithm (BA) [9] (which was
proposed previously for nonlinear optimization problems,
e.g., [3]), and also integrates it with three local search
schemes (i.e., Random, Standard, and Iterated local search
schemes) for improving the BA performance. In addition, a

AbstractThis paper considers the problem of the

dynamic router node placement (dynRNP) with weighted


clients in wireless mesh networks (WMNs), in which both
mesh clients and mesh router have mobility, and mesh
clients can switch on or off their network access at
different times. The main objective of the conventional
dynRNP problem is to maximize both network
connectivity and client coverage, i.e., the size of the
greatest subgraph component of the WMN topology and
the number of the clients within radio coverage of mesh
routers, respectively. Furthermore, this paper considers a
more complicated dynRNP problem in WMNs, in which
each client is associated with a weighted value (i.e., the
mesh clients with higher weights values are served with
larger priority), so that the two objective measures are
redefined with consideration of clients weights. We
resolve the weighted problem by a bat-inspired algorithm
(BA) with dynamic local search selection scheme, which
simulates the echolocation of bats to find the optimal
solution. Finally, the performance of the proposed BA is
compared with the original BA and PSO, and the effects
of weights are analyzed.
Keywords-wireless mesh network; bat-inspired algorithm;
dynamic router node placement

I. INTRODUCTION

IRELESS mesh networks (WMNs) have become


popular recently as they not only provide high-speed,
self-configured, and low-cost network connection, but
also provide inter-connection and communication anytime. In
addition, they have a high degree of flexibility and reliability,
and their facilities are more independent, so that inactive
facilities cannot lead to disconnectivity between each other.
More details on WMNs are referred to [1].
Consider the WMNs consisting of mesh routers and mesh
clients, in which mesh clients can connect to each other via
the routing functionality of mesh routers, each of which has a
different-size wireless coverage. This paper investigates an
extension of the problem of router node placement (RNP) [8],
in which each mesh client is assumed to have a weighted
value; the mesh client with a larger weighted value should be
C.-C. Lin and Y.-S. Li are with Department of Industrial Engineering and
Management, National Chiao Tung University, Hsinchu 300, Taiwan.
D.-J. Deng is with Department of Computer Science and Information
Engineering, National Changhua University of Education, Changhua 500,
Taiwan.
D.-J. Deng is the corresponding author of this paper. E-mail:
djdeng@cc.ncue.edu.tw

139

978-1-4799-5970-9 2014 IEEE

dynamic probability local search selection scheme (by


analogy from [6]) is applied to dynamically choosing one of
the three proposed local search schemes, so as to have a
flexibility to choose a more suitable local search scheme
during the algorithm process. Experimental results show that
our proposed BA performs better and more stable than our
previous work based on PSO [5].
The rest of this paper is organized as follows. Section II
describes the concerned problem in a mathematical form.
Section III proposed our BA for the concerned problem,
together with three local search schemes and a dynamic local
search selection scheme. Section IV includes implementation
and experimental evaluation of our proposed algorithm.
Finally, a conclusion is given in Section V.

D(r2), , D(rn)}, where each ri denotes a mesh router for i


{1, , n}. Let the circular wireless coverage range centered
at D(ri) with radius i be denoted by i. Let w(ci) denote the
weighted value of mesh client ci. To consistently make each
node associated with a weighted value, we also let each mesh
router ri have a weighted value w(ri). To determine the
placement of mesh routers at the t-th time step, we construct a
topology graph G = (U , E , w ) , where
U = R (C \ S ) , where St denote the set of mush clients
that switch off their network access.
for any two mesh routers ri , rj R , there is a router-router
link ( ri , rj ) Et if i j .
for any mesh client ci C \ St and any mesh router ri R ,
if Dt ( ci ) j , there is a client-router link (ci , rj ) Et .

II. PRELIMINARIES

Note that we assume that if the wireless coverage of two


mesh routers are overlapped, they can communicate with
each other. The assumption is reasonable because if two
wireless coverage ranges are overlapped, it means that they
are very close in distance, so that they can communicate.
Also note that each pair of vertices in graph G may not be
connected, i.e., there may be more than one graph component
in G . In order to increase the network connectivity in

The objective of RNP is to maximize the network


connectivity and client coverage. In this section, we redefine
the weighted version of the two network performance
measures, because each mesh client is assumed to be
associated with a weighted value. Then, the basic
preliminaries on bat-inspired algorithm are given.
A. Dynamic Router Node Placement with Weighted Mesh
Clients in WMNs
In general, WMNs consists of two types of nodes: mesh
routers and mesh clients. Each mesh router has a
different-size wireless coverage, and the mesh clients within
the same wireless coverage of some mesh router can connect
and communicate with each other. Each node can access the
network via multi-hop communication. Different from our
previous work [5], this paper assumes that each mesh client is
associated with a weighted value, so that the mesh client with
a larger weighted value should be service with a higher
priority.
Assume that there is a WMN deployed on a 2D
geographical area, consisting of n mesh routers and m mesh
clients. Such a WMN is represented by U = R C, in which
R = {r1, r2, , rn} where ri represents a mesh router with a
circular wireless coverage of radius i;
C = {c1 , c2 , , cn } where ci represents a mesh client.

WMNs, our objective is to make the total weighted network


connectivity as large as possible. However, if the network
connectivity is large, the client coverage may be sacrificed.
As a result, both the network connectivity and client coverage
are considered simultaneously in this paper.
Assume that there are h graph components G1 , , Gh in
G (i.e., G = G1 G2 Gh ) where Gi Gj = for i,
j {1, , h}. Among them, the weighted network
connectivity is defined as the weighted size of the greatest
component in Gt as follows:
(1)
(G ) = max { i w(c j ) + i w(rj )}
i{1,,h}

jG

jG

Note that the weighted value w(rj) of mesh router rj is set as a


value greater than that of mesh clients, because the
connectivity among mesh routers should be more important
as it constitutes the backbone of the network. The weighted
client coverage is expressed as follows:
(2)
(G ) =
w(ci )

This paper considers the dynamic WMN where all mesh


routers and mesh clients have mobility, and mesh clients can
switch on or off their network access arbitrarily. In order to
make the network topology adapt to the dynamic network
change, the mesh routers with mobility are adjusted
periodically. Note that our approach to this problem is based
on the swarm intelligence, so we assume to make the decision
periodically in each 20 iterations of the algorithm, in which
since mesh clients with mobility change their positions, mesh
routers are readjusted accordingly to adapt to this change.
That is, each time step is 20 iterations of the algorithm.
In light of the above, a dynamic scenario is assumed as
follows. Consider the -th time step of the algorithm. Each
mesh client ci C is placed at D(ci) R2 on the deployment
area. To serve those mesh clients, the locations of mesh
routers at time step t are represented by D(R) = {D(r1),

i{1,, m};d ( ci )>0

where d(ci) is the degree of ci in Gt.


B. Bat-inspired Algorithm
Bat-inspired algorithm (BA) [9] is a novel metaheuristic
algorithm, which is also suitable for optimization for a variety
of applications in wireless networks, like PSO for sensor
network deployment [7]. It simulates the behavior of a group
of bats (agents) hunting for their food (solution) by their
echolocation. Bats can use echolocation to identify their food
in a fully dark background, and detect distance to distinguish
the difference between food and environmental obstacles.
BA is designed based on physical characteristics of
echolocation, and the main assumptions of BA are given as

140

follows:
All the bats can detect the distance away from the food
according to echolocation, and also can distinguish the
difference between food and obstacles.
At iteration t, each bat k flies from position X kt at velocity

coordinates of the n mesh routers are encoded as the solution


candidate. In the BA, the position of each bat k represents a
candidate solution, which is associated with the following
three vectors and two fitness values:
X kt = ( xkt 1 , xkt 2 ,..., xkt (2 n ) ) records the current position of bat k,

Vkt , which is determined by a frequency fkt of the emitted

where ( xkt (2i 1) , xkt (2 i ) ) represents the coordinate of mesh

pulse in [fmin, fmax] = [0, 100].


At iteration t, each bat k searches the food (solution) based
on the loudness Akt [0, 1] and rate rkt [0, 1] of the

router ri , for i = 1, 2, , n;
Vkt = (vkt 1 , vkt 2 ,..., vkt (2 n ) ) records the velocity of bat k;
f ( X kt ) records the fitness of X kt ;
Because all the mesh routers are placed within a W H
deployment area, they have to satisfy the following
constraints: i {1,, n} ,

emitted pulse.
If bat k is close to the food, the pulse loudness become
smaller, and the rate of pule emission gets greater.
At first, the position X k0 , velocity vk0 , frequency fk0 , pulse
loudness Ak0 , and pulse emission rate rk0 of each bat k for k
{1, 2, , } are initialized randomly within the assumed
ranges. Next, in each iteration of the BA main loop, each bat k
randomly determines its frequency fkt according to Equation
(3), updates its velocity and position according to Equations
(4) and (5).
(3)
f kt = fmin + ( f max f min )
Vkt = Vkt 1 + ( X * X kt 1 ) f kt

0 xkt (2 i 1) W
0 x

t
k ( 2i )

W v
H v

(10)

t
k ( 2 i 1)

t
k ( 2i )

(9)

(11)
(12)

To avoid too drastic change of velocity, we have the


following constraint: i {1,, n} ,

(4)

Vmax vkt ( 2 i 1) Vmax

(13)

(5)

where Vmax is a fixed value that is no greater than max{W, H}.


This constraint is reasonable practically in the sense that
although mesh clients have mobility, they cannot move too
far at an iteration. From the viewpoint on the whole ant group,
the best position and fitness value are recorded at each
iteration: X * records the best position found by all the ants so

the best solutions and execute a local search on this solution:


(6)
X new = X old + At
where Xnew and Xold are the updated and the original positions
of the concerned bat, respectively; U(0, 1),
At = k Akt / , and is the total number of bats.

far; f ( X* ) records the fitness of X * . That is, after BA is

t
k

t 1
k

t
k

X = X +V
where is a random number from uniform distribution U(0,
1); X* denotes the best solution found so far.
The BA consists of two main parts. In the first part, for
each bat k, if a random number from U(0, 1) is greater than its
rate rkt of pulse emission, then we randomly choose one of

finished, f ( X * ) and X * are the final solution and fitness


value, respectively.
B. Fitness Value
At iteration t, after bat k has determined the position vector
X kt of mesh routers, we establish a topology graph Gt ,k

In the second part, each bat k executes its own local search
according to Equation (6) to produce a new position. If the
fitness value of the new solution is better and a random
number from U(0, 1) is less than its pulse loudness Akt , then

underlying X kt . As mentioned above, the main performance


measures of WMNs consists of network connectivity (Gt , k )
(Equation (2)) and client coverage (Gt , k ) (Equation (1)).

we accept this new solution, and increase rate of pulse


emission with Equation (7) and decrease the pulse loudness
with Equation (8).
(7)
rk t +1 = rk0 (1 e t )
t +1
t
(8)
Ak = Ak

This paper considers a weighted sum of the two measures as


follows:
(Gt ,k )
(G ) (14)
+ (1 ) m t , k
f ( X kt ) = m
n
j =1 w(c j ) + j =1 w(rj )
j =1 w(c j )

where = = 0.9. Finally, the fitness values of all the bats are
sorted, and the best fitness value is recorded.

where the parameter falls into the range [0, 1], which is
used to control the balance between the two measures, which
are normalized.
Take a simple example to explain the objective function in
Figure 1, in which mesh routers (black dot) and mesh clients
(white dot) are labeled by their weighted values. The first
term (Gt , k ) of the objective function is to count the
weighted size of the greatest component of the WMN
topology which is the one grouped by red dashed lines in
Figure 1. The second term (Gt , k ) is to count the total sum of

III. OUR METHOD


This section gives the solution representation of our BA,
and how to use the BA to solve the concerned problem.
A. Solution Representation
In the WMN-dynRNP, our solution is to place n mesh
routers on a 2D W H deployment area, with an origin at the
bottom left corner of the x y plane, where the (x, y)

141

Algorithm 1. BA (time step )


1: for each bat k {1, 2,...,} do

the weight values of the covered mesh clients, which is 75 in


the instance in Figure 1.
10

10
5

10

5
10

10
7

4:

10

10

5:
6:

10

if > 0 then
X k0 is replaced by the position of bat k at ( 1)-th
time step, and calculate its fitness f ( X k0 )

(G ) = 138
(G ) = 75

10

2:
3:

Edge
Mesh routers
Mesh clients

10

Fig. 1. An example of calculating the objective function.

f k0 is replaced by the pulse frequency of bat k at (

1)-th time step


else
initialize bat ks position X k0 = ( xk01 , xk02 ,..., xk0(2 n ) )
randomly where xk0(2i 1) U(0, W) and xk0(2i ) U(0,
H) for each i {1, 2,..., n} due to Constraints (9)(10),
and calculate its fitness f ( X k0 )

C. Local Search
Local search is often used for improving solutions of
heuristics. Our approach considers the following three local
search schemes:
Standard: Randomly select a mesh router and move it to a
random position within a circle centered at the mesh
router.
Random: Move each mesh router to a random position
within the circle centered at the mesh router.
Iterated: Randomly select a mesh router, move it to a new
position within the deployment area, and then move it to a
random position within the circle centered at the new
position. This scheme differs from the Standard scheme in
the sense that the selected mesh router does not search the
local area of the original position, but the local area of the
new position. The goal of doing so is to avoid that the
proposed scheme falls into a local optimal solution.

7:
8:
9:
10:

initialize bat ks pluse frequency f k0 randomly


end if
calculate velocity Vk0 by Equation (4) under
Constraints (11)(13)
initialize bat ks pulse rates rk0 and loudness Ak0

randomly
11: end for
12: f ( X * ) max k f ( X kt ) and update X *
13: while ( t < max number of iterations) do
14: for each bat k {1, 2,...,} do
15:
randomize the bat ks frequency f kt by Equation (3)
16:
17:
18:

D. Dynamic Probability Adjustment Scheme


By analogy from [6], we proposed a dynamic probability
adjust scheme that associates each of the three proposed local
search scheme with a probability, selects one of the three
local search scheme in each iteration, and dynamically adjusts
the three probabilities according to their performances. If the
local search scheme applied in an iteration performs better, its
associated probability is raised; otherwise, it is decreased.

19:
20:

update bat ks position X kt by Equation (5)


X kt is truncated if violating Constraints (9) and (10)

23:
24:
25:

if (rand < rkt ) then


select one solution among the best solutions
conduct a local search by Equation (6) on this
best solution
end if
generate a new solution of bat k by Equation (6)
if (rand < Akt and this new solution is better than X*)

26:
27:

then
accept the new solution
increase rkt and reduce Akt by Equations (7)

21:
22:

E. Algorithm
Our BA is given in Algorithm 1. BA is operated on a group
of bats. In the dynamic scenario, if time step = 0, the
position and pulse frequency of each bat are generated
randomly (lines 2-4); else (i.e., > 0), the position and pulse
frequency of each bat inherit their values in the ( 1)-th time
step (lines 5-8). The velocity, pulse emission rate, and pulse
loudness of each bat k is updated (lines 9-10). Then, the best
position is computed (line 12). Next, bats iterate to apply
echolocation to search their food (the best solution) in lines
13-33. Each bat moves at a velocity updated according to the
frequency of its previous iteration (lines 15-19). Then, each
bat searches the local area of the global best position and its
current position according to its pulse loudness and rate of
pulse emission (lines 20-28), where the pulse loudness and
rate of pulse emission are adjusted in line 27. Our proposed
dynamic probability adjustment scheme is proposed in lines
30-31.

update bat ks velocity Vkt by Equation (4)


Vkt is truncated if violating Constraint (13)

and (8), respectively


end if
end for
k {1, 2,...,} , generate a new position of bat k by one
of Standard, Random, Iterated local search schemes
according to their respective selection probabilities
31: if the new position is better, then accept the new
position and raise the corresponding selection
probability
32: sort the bats and find (multiple) current best solutions
X * and record f ( X * )
33: end while
28:
29:
30:

142

Based on the proposed BA detailed in the previous sections,


this section implements the algorithm, and conducts some
experiments to evaluate its performance. The experimental
data and data are given, and then, the proposed BA is
compared with PSO [5] and the BA without dynamic local
search scheme. In addition to the static scenario, dynamic
scenarios are compared.
A. Experimental Data
This paper continues using the same problem instances and
the same scenario in our previous work [5] as follows: There
are 16 mesh router (m = 16) and 48 mesh clients (n = 48) on a
32 32 rectangular area (W = H = 32), in which each mesh
router is associated with a different size of wireless coverage
with the radius ~ U(3, 6). There are 10 instances in total.

instance
1
2
3
4
5
6
7
8
9
10
Average

1.0
0.9
0.8
0.7
0.6

PSO
PSO

0.5

BA
Our
BA

0.4

BA()
The BA

without dynamic local search scheme

0.3
0

10

20

30

40

50

60

70

80

90 100 110 120 130 140 150 160 170 180 190 200
Iteration

Fig. 2. The plot of the best fitness values versus the number of iterations in
the dynamic scenario where all the mesh clients have mobility and have 1% to
switch their network access.

B. Experimental Results
Table 1 gives the experimental comparison between PSO
and the proposed BA on 10 problem instances, in which the
best, average, worst fitness values are recorded; the results
are computed by running 20 times of the algorithm on
different problem instances; each entry on the bottom row
records the average of the results of the 10 values on the
corresponding column. From Table 1, we observe that our
proposed BA performs better than PSO in all cases.
TABLE I
STATISTICS OF 10 INSTANCES
Best fitness
Average fitness
PSO
Our
PSO
Our
.692
.788
.584
.682
.807
.884
.737
.795
.827
.884
.741
.735
.846
.865
.666
.784
.793
.890
.664
.785
.726
.846
.611
.756
.846
.884
.705
.776
.807
.807
.692
.709
.798
.827
.667
.713
.827
.827
.698
.753
.797
.850
.677
.749

goes back to a high level. In a whole, our proposed BA


performs the best.

best fitness value

IV. EXPERIMENTAL DESIGN AND RESULTS

V. CONCLUSION
This paper proposes a bat-inspired algorithm (BA) for
dynamic router node placement with weighed mesh clients in
WMNs, where three local search schemes are designed, and a
dynamic probability selection scheme is used for choosing
the three schemes. Experimental results show that the
proposed BA can obtain better solutions, as compared to the
previous approaches. As compared to our previous PSO
approach, our proposed BA approach always performs better.
In the future, we intend to consider the concerned problem
with gateways [2, 4], which support the network access to the
outside Internet. It is also of interest to continue improving
our algorithm to achieve better solutions.

Worst fitness
PSO
Our
.441
.595
.634
.653
.624
.635
.460
.567
.518
.653
.466
.615
.518
.711
.460
.576
.499
.567
.595
.654
.522
.623

REFERENCES
[1]

I. F. Akyildiz, X. Wang, and W. Wang, Wireless mesh networks: A


survey, Journal of Computer Networks, vol. 47, no. 4, pp. 445-487,
2005.
[2] B. Aoun, G. Kenward G., R. Boutaba, and Y. Iraqi, Gateway
placement optimization in wireless mesh networks with QoS
constraints, IEEE Journal on Selected Areas in Communications, vol.
24, no. 11, pp. 2127-2136, 2006.
[3] S. Akhtar, A. Ahmad, and E. Abdel-Rahman. A metaheuristic
bat-inspired algorithm for full body human pose estimation, in Proc.
CRV 2012, 2012, pp. 369-375.
[4] Franklin, A. A. and C.S.R. Murthy, Node placement algorithm for
deployment of two-tier wireless mesh networks, in Proc.
GLOBECOM 2007, IEEE Press, 2007, pp. 4823-4827.
[5] C.-C. Lin, Dynamic router node placement in wireless mesh networks:
A PSO approach with constriction coefficient and its convergence
analysis, Information Sciences, vol. 232, pp. 294-308, 2013.
[6] C. Soza, R.L. Becerra, M.C. Riff, and C.A. Coello, Solving
timetabling problems using a cultural algorithm, Appl Soft Computing,
vol. 11, pp. 337-344, 2011.
[7] X. Wu, Shu Lei, W. Jin, J. Cho, and S. Lee, Energy-efficient
deployment of mobile sensor networks by PSO, in Proc. APWeb 2006,
vol. 3842 of LNCS, pp. 373-382, 2006.
[8] F. Xhafa, A. Barolli, C. Sanchez, and L. Barolli, A simulated
annealing algorithm for router nodes placement problem in wireless
mesh networks, Simulation Modelling Practice and Theory, vol. 19,
no. 10, pp. 2276-2284, 2011.
[9] X.-S. Yang, A new metaheuristic bat-inspired algorithm, in Proc.
NICSO 2010, vol. 284 of Studies in Computational Intelligence, pp.
65-74, 2010.
[10] W.-L. Yang, A maximum-revenue multicast routing problem on
wireless mesh networks, in Proc. ICOIN 2010, 2010.

In order to realize whether the proposed BA performs


better than PSO in the dynamic scenario, we run 200
iterations (assuming that the topology is changed at each 20
iteration) of each of PSO, the original BA (without dynamic
local search scheme), and the proposed BA (with dynamic
local search scheme), as shown in Figure 2 (which is the plot
of the best fitness value versus the number of iterations). In
the dynamic scenario, at each 20 iterations, all the mesh
clients change their position, and have 1% to switch on or off
their network access. From Figure 2, we observe that there is
a drastic change at each 20 iterations, and the PSO result has a
stagnation problem in which the best fitness value is almost
not adjusted after 40 iterations. Although the original BA
does not perform better than PSO in best fitness values, it
continues improving its result as time goes. Our proposed BA
(with dynamic local search scheme) performs better than the
other two approaches, and has no stagnation problem, i.e.,
even if there is a drastic down in performance, the later result

143

You might also like