Part of the Communications in Computer and Information Science book ... Clustering ad hoc networks comprehensive learning particle swarm optimization.
Clustering in Mobile Ad Hoc Networks Using Comprehensive Learning Particle Swarm Optimization (CLPSO) Waseem Shahzad, Farrukh Aslam Khan*, and Abdul Basit Siddiqui Department of Computer Science, FAST National University of Computer and Emerging Sciences, Islamabad, Pakistan {waseem.shahzad,farrukh.aslam,basit.siddiqui}@nu.edu.pk
Abstract. In this work, we propose a Comprehensive Learning Particle Swarm Optimization (CLPSO) based weighted clustering algorithm for mobile ad hoc networks. It finds the optimal number of clusters to efficiently manage the resources of the network. The proposed CLPSO based clustering algorithm takes into consideration the ideal degree, transmission power, mobility, and battery power of the mobile nodes. A weight is assigned to each of these parameters of the network. Each particle contains information about the clusterheads and the members of each cluster. The simulation results are compared with two other well-known clustering algorithms. Results show that the proposed technique works better than the other techniques especially in dense networks. Keywords: Clustering, ad hoc networks, comprehensive learning particle swarm optimization.
1 Introduction A wireless ad hoc network consists of dynamic nodes that freely move and communicate with each other using wireless links. They have limited ability to collect and process information in terms of battery power and processing speed. Ad hoc networks do not use centralized devices for routing as in case of 802.11 WLANs. Routing is achieved by the cooperation of multiple nodes in a distributed manner. Ad hoc networks consist of small computing devices that can support highly dynamic mobile nodes. Due to the size and battery power limitations, these devices typically have limited storage capacity, limited energy resources, as well as limited network bandwidth. Data produced by nodes in the network propagates through the network via wireless links. The features of MANETs such as dynamic topology and non-existence of central base station brings many new problems and challenges. Clustering is just like a graph partitioning problem. Partitioning the graph optimally with respect to certain parameters is an NP-hard problem. The neighborhood of a cluster-head is the set of nodes that lie within its transmission range. The set S is called *
Corresponding author.
D. Ślęzak et al. (Eds.): FGCN/ACN 2009, CCIS 56, pp. 342–349, 2009. © Springer-Verlag Berlin Heidelberg 2009
Clustering in Mobile Ad Hoc Networks Using CLPSO
343
a dominating set in which every vertex of G belongs to S or has a neighbor in S. The set of cluster-heads is the dominating set of the graph. Due to mobility, the nodes can go outside the transmission range of their cluster-head thus changing its neighborhood. However, this does not result in a change of the dominant set at all. Clustering of nodes is one of the biggest challenges of MANETs. Hence, finding the optimal number of clusters that cover the entire network becomes essential and an active area of research. An optimal selection of cluster-heads is an NP-hard problem. Though, several authors have proposed different heuristics to find the optimal number of clusters, none of them addresses all the parameters of a mobile ad hoc network. Clustering has several advantages. The system performance can be improved by allowing the reuse of resources due to clustering. Secondly, clustering optimally manages the network topology by dividing this task among specified nodes called cluster-heads, which is very useful for routing and network management [3]. The clustering algorithm must be distributed, since every node in the network only has local knowledge. The algorithm should be robust as the network size increases or decreases, hence, it should adapt to all the changes. The created clusters should be reasonably efficient i.e. the selected clusterheads should cover a large number of nodes. In this work, we propose a Comprehensive Learning Particle Swarm Optimization (CLPSO) based clustering algorithm for mobile ad hoc networks to find the optimal number of clusters. Particle swarm optimization is a stochastic search technique. It has simple parameters that need to be tuned during the execution of algorithms. It is an efficient and effective technique to solve optimization problems. Each particle encodes the IDs of all mobile nodes of the network. The algorithm takes a set of parameters of MANETs into consideration such as, transmission power, mobility of nodes, battery power and moving speed. Each of these parameters is assigned a weight such that the sum of all the weights is equal to one. The rest of the paper is organized as follows: Section 2 gives an overview of the existing algorithms for mobile ad hoc network clustering. Section 3 describes the comprehensive learning particle swarm optimization algorithm. Section 4 describes our proposed CLPSO clustering algorithm. Section 5 shows the simulations results comparing the proposed algorithm with two other well-known clustering algorithms. Finally, section 6 concludes the paper.
2 Related Work The highest connectivity clustering algorithm was proposed by Gerla et al. [5]. The algorithm is based on the degree of nodes, which is the number of neighbors of a given node. In election procedure, the nodes broadcast their identifiers. Each node computes its degree and the node having the maximum degree becomes the clusterhead. The lowest-ID, known as identifier-based clustering algorithm, was originally proposed by Baker and Ephremides [6]. It assigns a unique ID to each node and chooses the node with the lowest ID as a cluster-head. It means that whenever a new node with a lowest ID appears, it will become the cluster-head.
344
W. Shahzad, F.A. Khan, and A.B. Siddiqui
Weighted Clustering Algorithm (WCA) was proposed by Chatterjee et al. [3]. They proposed a weight-based clustering algorithm which elects cluster-head according to its weight. It is computed by combining a set of parameters such as battery power, mobility and transmission range. Another algorithm was proposed by Turgut et al. in [4]. In this paper, genetic algorithm is used to optimize the number of clusters in an ad hoc network. It is also a weight based algorithm. Another clustering algorithm based on d-hops has been proposed in [7]. The basic problem with all heuristic-based algorithms is that none of them include all the basic parameters. WCA algorithm does include maximum number of parameters but it does not find optimal number of clusters in the network. Genetic algorithm performs crossover and mutation process which require extra processing at each node. Since wireless nodes have limited battery and processing capabilities, genetic algorithm is not much suitable for finding optimal clusters in an ad hoc network.
3 Comprehensive Learning Particle Swarm Optimization Particle swarm optimization (PSO) is a population-based stochastic optimization technique developed by Eberhart and Kennedy in 1995, inspired by the social behavior of bird flocking or fish schooling. In PSO, each single solution is a "bird" in the search space which we call as a "particle". All particles have fitness values which are evaluated by the fitness function to be optimized, and have velocities which direct the flying of the particles [1]. It requires only primitive mathematical operators, and is computationally inexpensive in terms of both memory requirements and speed. This feature suggests that PSO is a potential algorithm to optimize clustering in a mobile ad hoc network. In the beginning, particle positions and velocities are generated randomly. The algorithm then proceeds iteratively, updating all velocities and then all particle positions as follows: vid
= w vid + c1 r1 (pid – xid) + c2 r2 (pgd – xid)
(1)
xid
= xid + vid
(2)
Where d= 1,2,…,D, i= 1,2,…,N, and N is the size of the population. w is the inertia weight, c1 and c2 are two positive constants, and r1 and r2 are two random values in the range [0,1]. The first equation calculates the new velocity of ith particle by taking into consideration three terms, the particle’s previous velocity, the distance between the particle’s previous best position and current position, and finally the distance between the best particle of the swarm. The second equation is used to fly the particle to new position. The inertia weight is used to control the impact of the previous history of velocities on the current velocity. The basic problem with original PSO is that it restricts the social learning aspect only to the gbest. If the gbest is far away from the global optimum, particles can go to the gbest region and get trapped in a local optimum. Comprehensive learning PSO can move the particles in larger potential space to fly. CLPSO uses the information in
Clustering in Mobile Ad Hoc Networks Using CLPSO
345
swarm more effectively to generate better solution. In the CLPSO approach, a particle can update its pbest position by using pbest positions of all the particles in a swarm. This will ensure the diversity of the swarm and discourages the swarm to premature convergence. The comprehensive learning technique uses the following equation for updating velocity of a particle: Vid = w * vid + c * randid * (pbestdfi(d) – xid)
(3)
Where fi = [fi(1),fi(2),…,fi(d)] describes which particles’ pbests the particle i will use. pbestfi(d) is the dimension of any particle’s pbest including its own pbest. The algorithm employs tournament selection procedure for updating the particle’s dimension. First, it chooses two particles randomly from the population excluding the particle whose velocity is updated. Then it compares the fitness values of these two particles’ pbests and selecting the dimension of the better one to update its velocity. The main difference between CLPSO and the original PSO is that instead of using particle’s own pbest and gbest, all particles’ pbest can be used to guide the particle’s flying direction. These operations increase the diversity of a swarm when solving complex multi-dimensional problems. In this strategy, the particles can fly in other directions by learning from other particles’ pbest when the particle’s pbest and other pbests fall into the same local optimum region. Therefore, this strategy has the ability to jump out of the local optimum by using the cooperative behavior of the whole swarm [1].
4 CLPSO Based Clustering in Mobile Ad Hoc Networks The proposed algorithm utilizes the CLPSO technique for finding the optimum number of clusters in a mobile ad hoc network for efficient routing. It is a weighted clustering algorithm that selects the cluster-heads based on the weight of each node Wv of each node v [2]. Wv is defined as: Wv = w1Dv+ w2Sv+ w3Mv+ w4Pv
(4)
Where Dv is the degree difference, Sv is the sum of distances of the members of the cluster-head, Mv is the average speed of the nodes and Pv is the accumulative time of a node being a cluster-head. The weighting factors are such that ∑wi=1. The node v with the minimum Wv is chosen to be the cluster-head. Once a node becomes clusterhead, neither that node nor its members can participate in the cluster-election procedure further. The cluster-head algorithm will terminate once all the nodes either become cluster-heads or members of a cluster-head. Each particle contains the IDs of all the nodes. Each node in the search space should have a unique ID. These unique IDs are used to encode each particle. The proposed algorithm works as follows:
346
W. Shahzad, F.A. Khan, and A.B. Siddiqui
Proposed Algorithm 1) Initial population of particles is generated randomly. Initialize the general parameters of CLPSO algorithm. 2) Calculate the fitness value of each particle. The individuals are sorted according to the objective function, which is the sum of the all Wv values of cluster-heads in a particle. 3) Select particle neighbors for updating of its velocity. 4) Update the position of gbests and pbests. If Fitness( Xi) > Fitness (pbesti) then pbesti= Xi and If Fitness( Xi) > Fitness (gbesti) then gbesti= Xi. 5) Update velocity and position of each particle according to equations (1) and (2) 6) Check stopping criteria. 7) Report best particle as the solution of the problem.
The algorithm goes through each node in the list and checks three conditions to decide whether a node can become a cluster-head. The conditions are: • If the node is not already a cluster-head. • It is not a member of any cluster. • Number of neighbors of a node is less than the predefined maximum allowed number of neighbors a node can have. If a node satisfies the above three conditions, it is chosen as a cluster-head. After the cluster-heads are chosen, the already calculated value of Wv of each node is used to find out the fitness of each particle by taking the summation of all Wv values of all cluster-heads in this particle.
5 Simulation Results Simulations are performed of M different nodes on a 100x100 and 500x500 grids. All the nodes can move in all possible directions with displacement varying uniformly between 0 to maximum value (max_disp). The transmission power of each node is set to 30. In our experiments, M is varied between 20 and 80. The maximum number of nodes that a cluster can handle is 10. This restriction will ensure uniform distribution of nodes in each cluster and efficient medium access control (MAC) functioning for an ad hoc network. The parameters of CLPSO are initialized as follows: The population size is set to the number of nodes. The maximum generations are set to 1000. The inertia weight w is set to 0.694. The learning factors c1 and c2 are 2. The results of the proposed algorithm are compared with two other well-known algorithms for mobile ad hoc networks i.e. Weighted Clustering Algorithm (WCA) and Divided Range Particle Swarm Optimization (DRPSO). The same values of different parameters are used for all these three algorithms. The results are obtained after performing fifty simulations
Clustering in Mobile Ad Hoc Networks Using CLPSO
347
12.5 WCA DRPSO CLPSO
12
Average number of clusters
11.5 11 10.5 10 9.5 9 8.5 8 7.5 40
45
50
55 60 65 Number of nodes
70
75
80
Fig. 1. Average number of clusters for WCA, DRPSO and CLPSO on 100x100 m2 area with transmission range equal to 35
9 8.8
DRPSO CLPSO
Average number of clusters
8.6
WCA
8.4 8.2 8 7.8 7.6 7.4 7.2 40
50
60 Number of nodes
70
80
Fig. 2. Average number of clusters for WCA, DRPSO and CLPSO on 500x500 m2 area with transmission range equal to 35
of each algorithm and then taking the average of fifty simulations. The simulations are performed by varying two different parameters i.e., the number of nodes in the network and the transmission range of the mobile nodes. It can be seen in Fig. 1 that our proposed algorithm based on CLPSO finds less number of clusters than WCA and DRPSO in the same environment i.e., 100x100 m2 area with transmission range of 35. Moreover, the proposed algorithm converges quickly than DRPSO.
348
W. Shahzad, F.A. Khan, and A.B. Siddiqui
15 WCA DRPSO CLPSO
Average number of clusters
14
13
12
11
10
9
8 15
20
25
30 35 40 Transmission Ranges
45
50
55
Fig. 3. Average number of clusters for WCA, DRPSO and CLPSO for 80 nodes on a 100x100 m2 area 18 WCA DRPSO CLPSO
Average number of clusters
17
16
15
14
13
12
11 15
20
25
30 35 40 Transmission ranges
45
50
55
Fig. 4. Average number of clusters for WCA, DRPSO and CLPSO for 80 nodes on a 500x500 m2 area
Fig. 2 also shows similar results in a 500x500 m2 area with transmission range of 35. The average number of clusters is less in case of CLPSO as compared to WCA and DRPSO. The algorithms are also tested by keeping the nodes constant and increasing the transmission range of mobile nodes for both 100x100 m2 and 500x500 m2 area. Fig. 3 and 4 clearly show that the proposed algorithm works better than the other two algorithms in terms of producing the average number of clusters. The simulation results show that the proposed technique covers all nodes with minimum number of clusters that can reduce the routing cost of the network. This will help minimize the number of hops and the delays associated with packet routing in a
Clustering in Mobile Ad Hoc Networks Using CLPSO
349
cluster-based routing environment. Number of clusters is large when the transmission range is small. From the figures, it is very clear that the proposed algorithm performs better than other two algorithms in a mobile ad hoc environment.
6 Conclusion In the literature, we find different techniques to effectively determine the cluster-head of a group of mobile nodes in an ad hoc network. These cluster-heads are then responsible for the transmission of data between the nodes of different clusters in a cluster-based routing environment. In this paper, we have proposed a clustering algorithm called Comprehensive Learning Particle Swarm Optimization (CLPSO) based clustering for mobile ad hoc networks that assigns the responsibility of transferring packets to the cluster-heads. The algorithm attempts to minimize the average number of clusters so that the routing can be performed in an efficient manner by using minimum number of nodes that can forward packets to other nodes. It uses a set of parameters for the election of a cluster-head hence that node is elected as the cluster-head which is more powerful than the other nodes. The simulation results show that it is an effective and robust technique for clustering in mobile ad hoc networks. It reduces the routing cost by minimizing the number of clusters in order to cover the entire network. Moreover, the medium access control layer is efficient because it restricts the maximum number of nodes that a cluster can handle.
References 1. Liang, J.J., Qin, A.K., Suganthan, P.N., Baskar, S.: Comprehensive Learning Particle Swarm Optimizer for Global Optimization of Multimodal Functions. IEEE Trans. Evol. Comput. 10(3), 281–295 (2006) 2. Ji, C., Zhang, Y., Gao, S., Yuan, P., Li, Z.: Particle Swarm Optimization for Mobile Ad Hoc Networks Clustering. In: Proceedings of the 2004 IEEE International Conference on Networking, Sensing & Control, Taipei. Taiwan, March 21-23 (2004) 3. Chatterjee, M., Das, S.K., Turgut, D.: WCA: A Weighted Clustering Algorithm for Mobile Ad Hoc Networks. Cluster Computing 5, 193–204 (2002) 4. Turgut, D., Das, S.K., Elmasri, R., Turgut, B.: Optimizing Clustering Algorithm in Mobile Ad hoc Networks Using Genetic Algorithmic Approach. In: Proceedings of GLOBECOM 2002, Taipei, Taiwan, pp. 62–66 (2002) 5. Gerla, M., Tsai, J.T.C.: Multicluster, Mobile, Multimedia Radio Network. Wireless Networks 1(3), 255–265 (1995) 6. Baker, D.J., Ephremides, A.: The Architectural Organization of a Mobile Radio Network via a Distributed Algorithm. IEEE Transactions on Communications, 1694–1701 (1981) 7. Er, I.I., Seah, W.K.G.: Mobility-based D-hop Clustering Algorithm for Mobile Ad hoc Networks. In: IEEE WCNC, Atlanta, USA (2004)