A Faster Convergence Artificial Bee Colony Algorithm in Sensor Deployment for Wireless Sensor Networks

In wireless sensor networks (WSN), sensor deployment is one of the main topics for enhancing the sensor's coverage rate. In this paper, by modifying updating equation of onlooker bee and scout bee of original artificial bee colony (ABC) algorithm, a sensor deployment algorithm based on the modified ABC algorithm is proposed. Some new parameters such as forgetting and neighbor factor for accelerating the convergence speed and probability of mutant for maximizing the coverage rate are introduced. Simulation results showed that comparing with the deployment method based on original ABC and particle swarm optimization (PSO) algorithm, the proposed approach can achieve a better performance in coverage rate and convergence speed while needing a less total moving distance of sensors.


Introduction
Integrating with sensor technology, distributed information process, embedded technology, wireless communication and microelectronic technique, and so forth, wireless sensor networks (WSN) have become active fields of research. Because of their advantages in low energy consumption, distributed self-organization ability, WSN are extensively used in fields such as target tracking, environment monitoring and national defense, and underwater detecting [1,2].
Due to its relation with energy saving, connectivity, and network reconfiguration, coverage is an important issue in WSN. It mainly addresses how to deploy the sensors to achieve sufficient coverage of the service area so that each position in the service area is monitored at least by one sensor. A good coverage is indispensable for the effectiveness of WSN. An efficient deployment of sensors will reduce the configuration and communication consumption of the network and improve the resource management; thus sensor deployment becomes a substantial work [3,4].
Sensor deployment algorithms can be divided into static or dynamic ones. In some cases such as underwater, battlefield, and abominable environment where it is hard to arrange sensors manually, only dynamic deployment approaches can be applied. In dynamic deployment, sensors are initially located with random coordinates and can change their positions by using their knowledge of other's positions and other information collected. In order to increase the coverage rate of the whole network, many approaches have been proposed for dynamic node deployment, such as potential [5], virtual force [6][7][8], Voronoi diagram [9], and bionic intelligence algorithm [10][11][12][13][14][15][16].
In fact, the object of sensor deployment is to seek an optimal sensor placement, which has a resemblance on the bionic intelligence algorithm. Bionic intelligence algorithms are inspired by the social behavior of different animals or species and have become a research of interest in different domains for solving complex optimization problems. In order to ensure the effectiveness and the quality of the WSN, bionic intelligence and swarm intelligence algorithms are introduced in sensor deployment, for instance, the genetic algorithm (GA) [10], the particle swarm optimization (PSO) [11][12][13], the ant colony optimization (ACO), the glowworm (GSO) [14], and so forth. Among which, ABC-based deployment algorithm has been proved to be competitive with some conventional optimization algorithms [15,16].
Based on the foraging behavior of honey bee swarms, ABC algorithm was proposed to optimize multivariable and multimodal continuous functions. It is found several applications in electrical engineering, mechanical and civil engineering areas, electronics, software and control engineering areas, image processing area, and so forth [17]. The original ABC algorithm, however, has low convergence speed and is easily trapped into the local optimum when solving complex multimodal problems. Therefore, a few modified versions were proposed by many researchers to improve it [18][19][20][21][22][23].
In this paper, a sensor deployment algorithm based on modified ABC algorithm called FNF, (forgetting and neighbor factor)-BL (backward learning) ABC algorithm is proposed. In order to have a better coverage and a faster convergence speed, the onlooker bee phase and the scout bee phase of the ABC algorithm have been modified. In onlooker bee phase, a modification called FNF, which introduced forgetting factor and neighbor factor into the original equation, is adopted. The scout bee phase is all new designed by changing the original method into the BL method.
The rest of this paper is organized as follows: original ABC algorithm and its application in sensor deployment algorithm are described in Section 2; our modifications of ABC algorithm are presented in Section 3; experiment results and analysis are shown in Section 4; some conclusions are drawn and our future works are discussed in Section 5.

ABC Algorithm and Its Application in Deployment
2.1. ABC Algorithm. In ABC algorithm, the colony of artificial bees consists of three groups of bees: employed bees, onlooker bees, and scout bees. The food searching of bees is collectively performed by these three kinds of bees. The employed bees search the food around the food sources in their memory and deliver the food information, such as the fitness value, to the onlooker bees. The onlooker bees select good food sources from this information and search the food around the selections for a better one. The scout bees are translated from a few employed bees, which abandon their food sources and search new ones. Each cycle of the searching consists of three phases, as describe below. At initiation, food sources are randomly generated by: where max and min are the lower and upper bounds of the position and rand(0, 1) is the random number in the interval (0, 1). Then at the employed bee phase (first phase), a neighbor of the current food source is randomly selected for the employed bee and then a new solution is produced, and its fitness value is calculated. For each employed bee, a candidate food source solution from the previous one is generated by: where ∈ {1, 2, . . . }, M is the number of variables (problem dimension) to be optimized, , ∈ {1, 2, . . . }, and ̸ = , is the number of employed bees (the number of food sources), and rand(−1, 1) is a random number between (−1, 1). After comparing the fitness value of the new food source (solution) with the previous one, the employed bee memorizes the one which has higher fitness value. After all employed bees complete the searching procedure, they translate the fitness values of the food sources (solutions) and their positions information to the onlooker bees in the hive.
At the onlooker bee phase (second phase), for each onlooker bee, a food source is inherited depending on the probability value associated with that food source, , calculated by: After an onlooker bee reaches a food source, it looks for a new source within the neighborhood of the previous one and memorizes the food sources according to their fitness value. The update process used in the onlooker bee phase is the same as that in the employed bee phase, refering to (2). The main distinction between the employed bee phase and the onlooker phase is that every solution in the employed bee phase involves the update process, but only the selected solutions depending on the probability value have the opportunity to update in the onlooker bee phase.
The selection of the scout bee is controlled by a control parameter called "limit, " which is a predetermined number of trials. If a solution representing a food source cannot be improved by the number of "limit, " the source is considered to be exhausted and then the employed bee of this food source becomes a scout. The position of the abandoned food source is replaced with a random search by (1). So "limit" controls the selection of the scout bee and the qualities of solutions. This is the final phase of the ABC algorithm.
These three phases are repeated until the value of cycle is up to maximum cycle number (MaxCycle).

ABC Algorithm in Deployment
Problem. The object of sensor deployment algorithm is to determine an optimum sensor distribution in an area of interest. So applying ABC algorithm into sensor deployment problem is possible. For each sensor in WSN there is a sensing range, which indicates the sensing ability of the sensor, and a communication range, which refers to the longest distance through which two sensors can exchange information with each other. These two ranges restraint the performance of a deployment algorithm. In this paper, there are three assumptions: first, sensing radius of the sensors indicating the sensing ability is same; second, all of the sensors are interconnected; and finally, all of the sensors can move. Table 1 shows the relationship between the parameters in ABC algorithm and the problem of sensor deployment. Notice that in this paper the coverage rate is set as the reciprocal of the fitness of food source fitness. So the optimum sensor distribution corresponds to the lowest fitness. Simulation results in [16] have verified that the ABC algorithm is more successful than the PSO algorithm for the dynamic deployment problem of WSN using a probabilistic detection model. Deployments found by ABC are better than

Modified ABC Algorithm and Its Application in Deployment
In sensor deployment, coverage and convergence are very important issues. In order to achieve the higher coverage rate and faster convergence speed, two modifications are introduced in our FNF-BL-ABC-based approach.

Modification in Onlooker Bee
Phase. The original food source updating mechanism is calculated by (2). Because of the neighbor food source is randomly chosen, the fitness of the neighbor food source may be higher, which means the sensors distribution is worse than the current one. In addition, the updating equation remains unchanged as the iteration processes. Thus, this original updating mechanism cannot help bee to find the optimum food sources effectively, which results in low speed of achieving the optimum solution.
In order to accelerate the whole procedure, two parameters named forgetting factor and neighbor factor [22] are introduced into (2): where is the forgetting factor and is the neighbor factor. Among these two parameters, the value of is related to the fitness of neighbor food source. The variation tendency of the value of neighbor factor is increased to prevent the global searching ability from being lost. The neighbor factor can strengthen or weaken the relation between present and neighbor food source. The forgetting factor stands for the intension of present food source memory when searching for the next food source. In order to fully use the neighbor information and find the global best, the forgetting factor is dynamically decreased as = × .
The value of neighbor factor is related to the fitness of neighbor food source as in In (5) and (6), when the fitness value of neighbor food source is lower than the present one, > 1; when the fitness value of neighbor food source is bigger than the present one, < 1. Consider In (7) and (8)

Modification in Scout Bee
Phase. In original ABC algorithm, the work of scout bee is to abandon the food source remaining unchanged by the "limit" time and randomly generating a food source for avoiding trapping into local optimum. The scout bee transforms to employed bee. The performance of deployment algorithm is affected by the parameter "limit. " In order to reach a high coverage rate, the value of "limit" is important. However, it needs numerous experiments to find an appropriate value. Thus, a modification called backward learning [20] is introduced into the ABC algorithm. This approach can be described as shown in Pseudocode 1.
The following equation can calculate the value of probability of mutant (PM): The backward learning strategy can be expressed as where , and are the worst and best quality food source. Record V if it is better than .

Simulation Results
PSO and ABC are two most popular swarm intelligence algorithms; they both simulate the collective behavior of decentralized, self-organized systemss and have many idea in common, so in many research work the simulation results of ABC algorithm are compared with those of the PSO algorithm, which is also taken in this paper. In this section, PSO algorithm and its parameters are first presented in detail, followed by explanations how the parameters in our proposed algorithm are chosen. Two sets of simulations are made to verify the effectiveness of the proposed approach. The first is an ideal case in a square room; the second is in a general room with obstacles. Three kinds of approaches, which are original ABC-based, FNF-BL-ABC-based, and PSO-based deployment, are compared. To guarantee the comparability between them, the experimental circumstances are identical consisting of the initial deployment and iteration time.

Parameters Selection for PSO Algorithm.
A standard version of PSO is applied in the sensor deployment in [24]. In PSO algorithm, several individuals are "evolved" by learning the experience from their own and companions through generation. Each individual is called "particle. " Each particle also has a l-dimension space, which is similar to the food source in the ABC algorithm. Each particle is also randomly generated with (1).
The updating processing of the particle in PSO algorithm is divided into two phases.
In the first phase, the velocity is calculated as In the second phase, the position of the particle is updated as (12) There are some parameters that should be explained in these equations: rand( ), rand1( ), and rand2( ) are three numbers independently generated by the function "rand( )" in MATLAB.
is the best position of the th particle, and is the best position of the particles in the neighbor of ith particle.
is the th particle's position and V is its velocity. Based on [13,24,25], 1 and 2 are two positive numbers which can influence the performance of the algorithm and are calculated by where 1 max , 1 min , 2 max , 2 min are parameters set to change the performance of the algorithm. t is the iteration times, and gen is the maximum iteration times. In this paper, 11 combinations of 1 max , 1 min , 2 max , and 2 min have been tried to improve the performance in the optimizer processing. In this set of experiments, both 1 min and 2 min are invariable, equal to 1. The threshold of velocity (max velocity) equals 6. The experiment results are shown in Table 2. The eighth experiment, in which 1 max and 2 max equal 3.4, has the best performance among the 11 combinations. Thus, in the comparison with FNF-BL-ABC  In this paper, we set = 0.8 and = 1.2 for the reason that has been described in [21]. So a large number of tests have been made for the first two parameter sets. Among all the tests for , the best 5 combinations are (1) 1 = 3 = 0.2 and Among which, the simulation results of combinations 2 and 3 are better in convergence speed than the one 1 = 3 = 0.2 & 2 = 4 = 1.2 given in [21], while combination 4 and 5 have almost the same performance as that in [21]. So in our simulations, we set 1 = 3 = 0.2 & 2 = 4 = 1.6, and this set of parameters is used for choosing . As for parameter , after numerous experiments, the best six sets are, from the best to the worst, (1) 1.4 or 0.6; (2) 1.3 or 0.7; (3) 1.2 or 0.8 (which is used in [21]); (4) 1.5 or 0.5; (5) 1.6 or 0.4; (6) 1.7 or 0.3 in (6) and (7), and we choose (1) in our simulation for a better performance in convergence speed.

Simulations in an Ideal
Room. In order to make the simulation more reliable, the parameters such as the number of sensors and their sensing radius are the same as those in [16]. There are 100 mobile sensors in our simulation. The sensing radius of each sensor is 7. The proportion of target area is 100 × 100. The max cycle is 10000. The colony size is 20. The run times are 20, and we calculate the average to make the result more reliable and a higher robustness.
In the original ABC algorithm, there is a parameter called "limit" which needs to be set, however, since the scout bee phase is modified, we discard this parameter and the "limit" is dispensable. Figure 1 shows the distribution of initial, 100 iterations, 500 iterations, 1000 iterations, and 10000 iterations. From these figures we can find that the proposed approach can cover the entire area effectively.
The performance of original ABC-based, FNF-BL-ABCbased and PSO-based deployment algorithm is compared in Figure 2. Each algorithm is based on the same initial deployment as in Figure 1.
As can be seen in Figure 2, at iteration 10000, the coverage rate is 99.71% for the proposed FNF-BL-ABC approach, which is larger than the 98.63% of the original ABC-based one and 94.31% of the PSO-based one, which showed that the proposed approach has better coverage rate than the other two. Meanwhile, we can also find that proposed one has faster convergence speed than the other two in Figure 2 and Table 3 and the effectiveness of the modifications is verified.
In (2), the first part is the information of the current food source. The second part is the different information between the current and neighbor food source, because the neighbor is selected randomly, which means the fitness of them is not considered. Moreover, the iteration number of times is also ignored by the food source updating process. These aspects will reduce the convergence speed. Equation (2) is replaced by (4). In (5) and (6), the values of and are associated with the comparison between the fitness of the neighbor and current food source. They are also affected by the iteration number of times in (8) and (9).
In the later stage of the whole algorithm, each food source has a better quality than before. However, some or all of them may be lost in the local optimum. In (9), the probability of mutant is increased with the process of the algorithm. The original method in (1) is altered by the backward learning method in (10). This backward learning method, which replaces the original solution by its relative solution, can acquire a better evaluation than the random solution. This conclusion has been testified in [26]. For one, the convergence speed can be increased immensely. For other, the local optimum can be somewhat avoided. Thus, the modified version of ABC algorithm can achieve a better performance in convergence.
In the practical use of WSN, power consumption must be considered, which is mainly in two ways: transmission/receive signal and movement. The energy consumption in moving is related to the total moving distance of all nodes. In our implement, we introduce the concept of "virtual move, " which means that sensors do not move at each step, but move to the destination position after the final iteration only once. We record the total moving distance for each sensor from initial to final positions; for the original ABC-based algorithm, the total moving distance is 5216.1 while, for the proposed approach, the value is 3541.6. As for PSO-based algorithm, since it has worst coverage rate, we do not compare its moving distance here. Thus, we can make a conclusion that the energy consumption of the proposed approach is better than that of original ABC-based algorithm.

Simulations in a Room with Obstacles.
In order to verify the effectiveness of the proposed approach in general case, there are two obstacle areas in the 100 × 100 room, each is 30 × 20, and there are 90 sensors to be placed in this room. The parameters for each sensor are the same as those in Section 4.1. Figure 3 shows the sensor distribution of initial and after 10000 iterations for both the proposed approach and the original ABC algorithm.
Because the performance of PSO algorithm is not good in Figure 2, only the comparison between FNF-BL version and original-ABC algorithm is provided here and shown in Figure 4.
From Figure 4 we can find that the proposed approach has higher coverage rate than original ABC. For this case with obstacles, the total moving distance of all sensors is 3817. 8  ABC algorithm. These again showed that, in the case with obstacles, the proposed approach has higher coverage rate and less energy consumption than original one.

Conclusion
In this paper, in order to optimize the deployment of wireless sensors, a modified ABC algorithm introducing forgetting and neighbor factor in the onlooker bee phase and backward learning in the scout bee phase is proposed. Simulation results showed that the proposed modified ABC algorithm has higher coverage rate and fast convergence along with less total moving distance for sensor deployment in an area of interest. It has revealed a better performance in solving this kind of problem. In our future work, virtual force-based deployment algorithm will be introduced before the proposed approach is applied to make the initial distribution of sensor less random to accelerate the processing and to make it more practical.

Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.