A Two-Phase Coverage Control Algorithm for Self-Orienting Heterogeneous Directional Sensor Networks

Maximizing network coverage is very important for heterogeneous directional sensor networks (HDSNs). HDSNs consist of directional sensor nodes with different parameters in terms of the sensing radius, the communication radius and the angle of view. After the initial deployment of the HDSNs, coverage problems occur, such as overlapped areas and holes in the coverage, which are not covered by any one of the sensor nodes. To solve these coverage problems, motility and mobility are often utilized. Motility means the ability to adjust the working direction of the nodes, while mobility presents the physical movement of the nodes. The coverage problem that we solved in this paper is characterized by the heterogeneity of the directional sensor nodes in terms of the sensing radius, the ﬁeld of angle, the motility, the mobility, and the communication radius. A two-phase algorithm was proposed to solve the coverage optimization problem of the HDSNs. In the ﬁrst phase of the proposed algorithm, a stepwise method was used to adjust the working direction of the nodes; in the second phase of the proposed algorithm, a virtual force-directed self-adaptive differential evolution algorithm was proposed to achieve a tradeoff between the coverage and the energy consumption. Extensive simulation experiments were performed to demonstrate the effectiveness of our proposed algorithm over alternative algorithms in terms of the coverage rate and energy consumption.


I. INTRODUCTION
In recent years, directional sensor networks (DSNs) have drawn a large amount of attention due to their extensive applications in tracking, home automation, environmental monitoring and more [1]. In DSNs coverage is one of the important criteria of Quality of Service and it is determined by dynamic node placement algorithms [2]- [4]. Dynamic node placement means that the directional sensor nodes have the ability to adjust their working directions and change their physical positions. In reality, the strategy of random node placement is mostly adopted in the initial deployment of the dynamic nodes. However, such random placement strategies The associate editor coordinating the review of this manuscript and approving it for publication was Matti Hämäläinen . often result in overlapped areas and coverage holes in the area. To correct these problems, it is necessary to adjust the working direction of the node or relocate its position after the initial placement to enhance the coverage rate of the network. Although many studies [3]- [21] have focused on the coverage of DSNs, our work is motivated by the following two considerations. First, an assumption that sensors are identical in their parameters is relaxed with the aim of formulating a more realistic DSNs coverage problem. In practice, heterogeneous nodes can extend their network lifetime and enhance their network reliability without significantly increasing the cost. Second, most of the existing solutions to the coverage problem in DSNs largely depend on the right working directions of the sensor nodes. However, this aspect alone is not sufficient for some applications. A hybrid strategy VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ in which mobility and motility are exploited in a cascaded way will be an effective approach to tackling the coverage problem.
In this paper, we proposed an algorithm to address the problem of the dynamic deployment of DSNs. The problem that we aimed to solve is characterized by the heterogeneity of the directional sensor nodes in terms of the sensing radius, the field of the angle and the mobility. In contrast to most of the existing solutions, which rely on only the working direction adjustment, both the motility and mobility of a node are employed in the proposed algorithm to improve the network coverage. To the best of our knowledge, this study is the first research that exploits the motility and mobility of a heterogeneous directional sensor node to maximize the area coverage in heterogeneous DSNs. Heterogeneous DSNs (shortly for HDSNs) consist of directional sensor nodes with different parameters in terms of the sensing radius, the communication radius and the angle of view. Several distinctive contributions of this paper are summarized as follows.
1) The problem of coverage maximization in HDSNs is addressed. The problem that we aimed to solve is characterized by the heterogeneity of the sensor nodes in terms of the sensing radius, the field of angle and the mobility.
2) The motility and mobility of a node is exploited in a cascaded way to maximize the coverage in the HDSNs. The marginal coverage contribution of the sensors is utilized as the objective function in both phases of the proposed algorithm. The stepwise method is used in the phase that addresses the out-of-field coverage avoidance control and the working direction adjustment. In the phase that addresses the physical movement of the nodes, an improved differential evolution algorithm is proposed to achieve the tradeoff between the coverage and energy consumption. In the improved differential evolution algorithm, selfadaptive mutation strategy, random control parameter F and the good guidance of the virtual forces between the nodes are utilized to enhance the optimization ability of the algorithm. To the best of our knowledge, it is the first-ever consideration of a two-phase coverage enhancement algorithm in HDSNs.
3) Extensive simulations are performed to validate the proposed algorithm. The simulation results show that the proposed algorithm achieves a higher coverage efficiency and lower energy consumption than the other algorithms.
The organization of the remainder of this paper is as follows. In the next section, we review some related work on the dynamic node deployment issue in DSNs. In Section III, several basic definitions, some assumptions and system models that regard the problem are presented. In Section IV, the proposed algorithm is outlined, and its implementation steps are explained in detail. In Section V, the theory correctness and computational complexity of the proposed algorithm are presented. The performance of the proposed algorithm is evaluated in section VI. Finally, Section VII summarizes the concluding remarks.

II. RELATED WORK
In this section, previous studies related to DSNs coverage optimization are presented. We also make comparisons of those existing studies with our proposed algorithm.
In past decades, a large amount of effort has been made for dynamic sensor deployment in traditional wireless sensor networks (WSNs) [3], [5]. However, the solutions to traditional WSNs cannot be used for nodes deployment in DSNs, because coverage in DSNs is dependent not only on the physical locations of the nodes, but also on their angles of view and working directions. Performing working direction adjustment is an effective way to maximize the coverage rate [6]- [13]. In [6], an improved virtual potential field algorithm in directional sensor networks was proposed to reduce profitless rotations from coverage optimization. However, this algorithm depended largely on the parameter settings, which were difficult to determine. Sungn and Yang [7] proposed a Voronoi-based coverage improvement approach for wireless directional sensor networks. They used the characteristics of Voronoi diagram and direction-adjustable directional sensors to propose a distributed greedy algorithm. All of the studies mentioned above utilize the motility capability of directional sensor nodes, whereas in some cases, a coverage hole could still exist. In [8], the authors proposed the view-coverage model to measure the coverage quality of the camera sensor network with finer granularity, especially when the object was not full-view covered. Based on this model, a distributed view-coverage enhancing algorithm that uses the rotation of the camera sensors was proposed. The weakness of this algorithm is that when the densities of the nodes are low, a coverage hole could exist. The authors in [9] addressed the problem of covering each target at least k times while using a minimum number of sensors. They devised a greedy approach with two variants of incentive mechanisms to solve this problem. However, the greedy approach cannot guarantee obtaining an optimal solution. The authors in [10] analysed stochastic coverage and connectivity in three-dimensional heterogeneous directional sensor networks and derived the expected probabilistic expressions for k coverage and m connectivity. Only the motility of the sensors was explored in the algorithm, whereas in some applications, a coverage hole could still exist. The work in [11] studied the surveillance service problem, which supports the surveillance quality of k-barrier coverage in DSNs. The authors designed three different algorithms to find a maximal number of different defence barriers, each of which supports k coverage. The work in [12] investigated the target coverage problem for DSNs, where each target has different coverage requirements. The authors proposed integer linear/quadratic programming formulations and a greedy algorithm to solve this problem. In [13], the authors addressed the problem of maximum full-view target coverage in directional sensor networks, where each node has P working directions. They proposed an approximation algorithm based on pipage rounding and a heuristic algorithm.
In addition to the method of working direction adjustment, many studies proposed employing a mobility capability for the directional sensors to improve coverage of the network. In [14], the authors proposed two schemes, namely the circumventer-based and incentive-based schemes, to improve coverage. Three moving strategies are adapted to determine the new locations for the mobile sensors to move. However, these three strategies are not energy efficient, which has a negative impact on the lifespans of the networks. The authors of [15] proposed a virtual force-based movement scheme that consists of four different forces introduced by neighboring sensors and coverage holes. By applying the resultant forces on the sensors, each sensor can move to a sparse area as a result of the coverage ratio being increased. The main weakness of that study is the failure to address how to set the parameters of the algorithm properly to maximize the coverage rate. In [16], the authors proposed a hybrid movement strategy in self-orienting directional sensor networks, where the proposed algorithm exploited the motility/mobility in a cascaded manner for the coverage improvement in DSNs. However, the sensors are assumed to be of the same type in this paper, and the authors neglected the impacts of the heterogeneous nodes' on the network. The authors in [17] solved the coverage maximizing mobile sensor deployment problem for optimal coverage with a directional sensing model. They proposed two node placement algorithms to control the node movements and orientations using only local information. However, the authors did not consider the heterogeneity of the nodes in their work. In the above studies [14]- [17], only the mobility of the nodes was used to improve the area coverage. Depending largely on the mobile ability of the nodes can lead to excessive energy consumption of the network. As a result, the lifespan of the network can be shortened. The problem of full-view barrier coverage using mobile camera sensors with a grid-based deployment strategy is addressed in [18]. The objective of this article is to maximize full-view barrier coverage for the target area with a minimum number of camera sensors. However, the sensor nodes have the same parameters, which is not feasible in a real-life scenario. In [19], X. Zhu et al. investigated how to deploy a rechargeable DSNs using a mobile charger with the least number of nodes for perpetual target coverage. Their technique is not suitable for our research work because it focuses on only a pre-defined localization selection rather than sensor deployment. Two mobile target tracking algorithms for heterogeneous sensor networks were proposed by Lu et al. [20], [21] in their research, but their work focused on a target location evaluation strategy rather than area coverage, which is beyond the scope of our research.
The research on sensor node placements for DSNs has been extensively studied in the literature [3]- [21]; however, no attempt has been made to address coverage problems for DSNs with heterogeneous nodes in terms of the field of angle view, sensing radius and mobility. Furthermore, most of the existing coverage control algorithms for DSNs have not solved the problem of the boundary nodes' working direction adjustment for the nodes nearby. To overcome the above weaknesses, a coverage control algorithm for HDSNs is proposed. In our proposed algorithm, first, a stepwise method is used to adjust the working directions of the nodes. Then, in the phase of physical movement of the nodes, an improved differential evolution algorithm is proposed to achieve the tradeoff between the coverage and energy consumption. In the improved differential evolution algorithm, virtual force-directed and self-adaptive mutation strategies are adopted to enhance the optimization ability.

III. PROBLEM STATEMENT
In this section, we describe the HDSNs model assumed in this study. We first give several basic definitions of HDSNs. Then we present the general assumptions of the model. Finally, the formulation of the coverage problem is described.

Definition 1 (Heterogeneous Directional Sensor Nodes):
Heterogeneous means that each directional sensor node has different parameters, such as the sensing radius, communication radius, and numbers of working directions. A sensor node s i is denoted by a five-tuple L s i represents the locations of the nodes, which correspond to (x, y) in a two-dimensional rectangular coordinate system. R s i is the sensing radius of the node, with the field-of-view angle 0 ≤ ϕ s i ≤ π (0 ≤ ϕ s i ≤ π ), ϑ s i is the orientation vector and T s i is the transmission radius of the sensor s i .
Definition 2 (Sensing Range): The sensing range of a directional sensor node s i is a sector that is defined by where ξ i − L s i denotes the Euclidean distance between ξ i and L s i , θ ϑ s i , − − → ξ i L s i denotes the angle between the orientation vector of sensor ( ϑ s i ) and the vector from point ξ i to L s i .

Definition 3 (Transmission Range):
The transmission range of sensor s i is a disk of radius that is defined by Definition 4 (Neighborhood Node): A sensor s i is a neighborhood node of sensor s j if and only if the Euclidean distance between the centers of their transmission disks is less than R s i .

Definition 5 (k-Coverage):
A target in the region of interest is covered by at least k sensor nodes.
Definition 6 (Marginal Coverage Contribution of a Node s i ): The points or a sub-region that is covered exclusively by the node s i . It reflects the coverage effects that a sensor node s i has on the monitored area. Therefore, we use the marginal coverage contribution of the node as the objective function in the process of the nodes' working direction adjustments. VOLUME 8, 2020

B. SYSTEM MODEL AND ASSUMPTIONS
A heterogeneous directional sensor network with N nodes represented by S = {s 1 , s 2 , . . . , s N } is deployed in a twodimensional field Z. Each sensor node has different parameters in terms of the sensing radius, the communication radius and the angle of view. Every directional sensor has the ability to adjust its working direction and change its physical position. To calculate the coverage of the monitored region, we use a binary sensing model and a grid-based method. In other words, we first divide the monitored region into small grids, and each grid is represented by its central point. If the central point of a grid is within the sensing range of the nodes, we call such a grid covered. By calculating the ratio between the number of covered grids and the total grids in the observed area, we can obtain the coverage rate of the observed area. The granularity of the grid cells (the distances between the adjacent grid cells) is determined by the requirement precision. When the grid is as small as 0.25%-4% of the monitored area, the error of the calculated value and its precise value are approximately 0.1%-0.5% [22].

C. FORMULATION OF THE COVERAGE PROBLEM IN HDSNS
We formulate the coverage optimization issue in heterogeneous directional sensor networks that consist of directionsteerable and position-moveable nodes as follows: There is a two-dimensional monitored region A and a set of heterogeneous directional sensor nodes S = {s 1 , s 2 , . . . , s N }, which are different in their sensing radius, angle of view and ability to move. The problem that we aim to solve is following: how to optimize their physical positions . . , ϑ s N to attain the goals of the coverage maximization and the energy efficiency.

IV. PROPOSED ALGORITHM
The proposed algorithm is a two-phase algorithm, which consists of self-orientation and physical position changes in consecutive order. Due to high energy consumption of the physical position changes, the self-orientation process precedes the position change in the proposed algorithm. The key idea of the proposed algorithm is to first adjust the sensors' working direction to maximize the coverage rate of the area and minimize the overlapped area. Then, we check whether there are redundant sensors and coverage holes in the area. If there are, then we will make some nodes move to the proper place to heal the coverage hole. The proposed method consists of two phases, as illustrated by the flow chart presented in Fig. 1. In the following subsection, we will explain the proposed algorithm in detail.

A. SELF-ORIENTED PROCESS
The aims of the self-oriented process are to reduce the overlapped area and cover the holes in the area. According to sensors' distribution characteristics, there are two types of sensors in the area, namely, boundary nodes and nonboundary nodes. A sensor node is considered to be a boundary node if the distance between it and the sensing field boundary is smaller than µR s i , where µ is the coefficient of 0∼1. By using formula (1), the coverage map, which indicates the coverage status of each grid, can be obtained, where 1 indicates a grid that is covered by one sensor node, 0 means 88218 VOLUME 8, 2020 a grid that is not covered by any nodes, and a value larger than 1 indicates an overlapped grid that is covered by more than one sensor node. Based on the types of sensors, two algorithms are proposed to minimize the overlapped area in the region:

1) BOUNDARY NODES ADJUSTMENT ALGORITHM
Since sensors randomly distribute in the area, it is more likely that some of the nodes are located very close to the boundary of the region or even out of the region. In that case, these sensors contribute little to the coverage rate of the area. An out-of-field coverage enhancement algorithm (OFCE) is given to address this problem. The details of OFCE are given below in the following items.

a: DIRECTION_CHECK SUBROUTINE
The Direction_check subroutine is performed to determine whether a boundary node must change its working direction or not. The main process of the direction check test is as follows: First, by examining the coverage map, a sensor node obtains the number of covered grids by itself, which is denoted as c i . Then, the sensor node makes a comparison with c i and the predefined threshold value. If c i is larger than the predefined threshold value, the sensor node does not change its working direction and completes the OFCE algorithm; otherwise, it should adjust its working direction. The threshold value is the percent p of the area of the sector. Eq. (2) presents the formulation of the Direction_check, where ''1'' is used to represent the sensor s i to adjust its working direction. If the value of S boundary for s i is 0, then we set the MoveFlag value to be 1, which is indicative of changing s i 's physical locations in the second phase.
After performing the above Direction_check subroutine, a sensor node that must change its working direction obtains its marginal coverage contribution η(s i ). η(s i ) can be calculated by counting the number of grids that are exclusively covered by s i according to Definition 6. Then, sensor s i will conduct anticlockwise rotation until it finds the optimized working direction after the maximum iterations B_MI. The rotation angle BC of the boundary nodes is predefined, and the value of BC is very small compared to its field-of-view angle ϕ s i . In its rotation process, the grids that are exclusively covered by the sensor s i are recorded in a specific array. At the end of the iteration, the direction that has the maximum grids exclusively covered by a sensor is selected as its final working direction. Therefore, the working direction of the boundary sensor is determined. After the node changes its working direction, the coverage map of the network is also updated. However, if there are some boundary nodes that cannot find the proper working direction (this situation could occur when the density of the network is very high), we will mark these nodes and set the value of the array MoveFlag to be 1, which is indicative of changing their physical locations in the second phase.

2) NON-BOUNDARY NODES' ADJUSTMENT ALGORITHM a: DIRECTION_CHECK SUBROUTINE
The aim of this subroutine is the same as it was for the boundary nodes; in other words, the aim is to determine whether to change the nodes' working directions or not. From the coverage map of the target region, it is easy to know the status of the grids, which are uncovered, 1-covered or k-covered (k > 1). In the coverage map, zeros represent the uncovered points. If a grid is covered by only one sensor node, then its value is one. Those grids that have a value greater than 1 are overlapped grids. For such overlapped grids, several measures must be performed. First, each node obtains the total number of overlapped grids in its sensing range. Then, the sensor compares the total number of overlapped grids with a predefined threshold value θ t . If its value is smaller than the threshold value θ t , then there is no need to adjust its working direction. In that case, the sensor finishes this phase. Otherwise, the working direction of this node should be adjusted to improve the coverage rate of the area. The value of the threshold parameter θ t is p percentage of a node's sector area.

b: WORKING DIRECTION ADJUSTMENT
After performing the Direction_check subroutine, we know whether the nodes will change their working directions or not. For those nodes that will change their working directions, they use the same message transmission mechanism as in [16] to obtain the number of neighbors. According to the number of neighbors, every node obtains its priority. A sensor node with a smaller number of neighboring nodes has a higher priority. If there are many nodes with the same number of neighbors, the node that has less marginal coverage contribution has a higher priority. As a result, the node with a higher priority precedes the node with a lower priority to adjust its working direction. Since the sensor nodes do not change their physical locations in this phase, the numbers of their neighboring nodes do not change. The process of changing the working direction is the same as that for a boundary node. The main differences between non-boundary nodes and boundary nodes in the process of the working direction change lie in two additional parameters. Consequently, we will present these two parameters in detail to make the differences more precisely expressed.
In contrast to fixed-angle changes for the boundary nodes, the angle change for the non-boundary node is self-adaptive according to the number of its neighboring nodes. The details are as follows: First, we obtain the average number of neighbor nodes through dividing the total number of neighbor VOLUME 8, 2020 nodes by the number of adjusted nodes. Then, for each sensor to adjust in its working direction, we compare the average number of neighbor nodes with the number of the node's neighbor nodes. If the number of the node's neighbors is smaller than the average value, then the changing angle is set to be Big_Angle; otherwise, Small_Angle is used for this sensor node. The key idea behind this step is that in general, if a sensor has more neighbor nodes, it is more likely that the overlap areas between the sensor and its neighbor nodes are larger compared to its counterpart nodes with fewer neighbor nodes. Therefore, we should adjust its working direction in a more casual and precise way.
The number of the node's adjustment iterations M I i is determined by its angle change ad i . We divide 2π by its angle change ad i to obtain its maximum iteration number M I i . In the process of performing these iterations, we record the marginal contribution gained that is caused by the node's working direction adjustment and choose the working direction that has the greatest marginal contribution as its final working direction.

B. PROCESS OF PHYSICAL POSITION CHANGES
After the angle change process of the boundary nodes and non-boundary nodes, it is most likely that coverage holes exist within the area due to the energy shortage of the nodes and the damage from the harsh environment. The mobility of the sensor is an efficient way to heal the coverage hole problem. Thus, by exploiting the mobility of the sensors we proposed an algorithm to address the coverage hole problem. The proposed algorithm is based on virtual force and an enhanced differential evolution algorithm. The key points of the proposed algorithm are to solve two problems: the first problem is which sensors are selected to move, and the second problem is how to move these sensors. The details of the two key points for the proposed algorithm are presented in the following subsection.

1) WHICH SENSORS ARE TO MOVE?
After the phase of the working direction adjustment, some of the nodes might not find proper working directions due to the high node density in the sensing area. By examining the values of the array MoveFlag, we can obtain the information on whether the sensors should change their physical locations or not. If the value of a sensor's array MoveFlag is 1, then the sensor is redundant and must change its physical location. Otherwise, the sensor stays in the same location as before.

2) HOW TO MOVE?
With the purposes of being comprehensive, in this subsection, we introduce three algorithms i.e., the virtual force (VF) algorithm and the differential evolution (DE) algorithm, and then we introduce the proposed algorithm.

a: VIRTUAL FORCE ALGORITHM
The concept of the virtual force field adopted from robotics [23] has been successfully used in mobile omni-directional [5] and directional sensor networks [15] to enhance the coverage rate of the network. In the VF algorithm, each mobile sensor node is treated as a virtual particle and is subject to virtual forces exerted by nearby nodes (virtual particles). More specifically, the virtual force F exerted on a node is a gradient of a scalar potential field, which can be due to obstacles or other nodes and results in an attractive or repulsive force. The repulsive force that mobile node s i receives from a mobile node or static node (a node that does not change its physical position in this phase) s j is represented in Eq. (5) [24].
where d(i, j) is the Euclidean distance between node s i and s j ; m i is the mass of node s i , the value of m i is the sensing area of node s i , i.e., 0.5 × π × φ s i × R 2 s i ; k 1 is a constant, l 1 is a distance coefficient; and α ij is the orientation of a line segment from s i to s j .
Since every mobile node receives several forces from its neighbors (i.e., the nodes that are within its communication radius), the node's next position is determined by the composition of the forces exerted by its neighbors. Let F x and F y denote the x-coordinate and y-coordinate of the sum vector of the virtual forces, respectively, while (X next , Y next ) and (X curr , Y curr ) are the node's next position and current position, respectively. Then, the next position of the node is updated in the same way as the scheme in [25]. In other words, where γ is a coefficient used to the translate the virtual force to the movement; and d max is the maximum movement distance in one movement. In our experiment, coefficient γ = 50, and the value of d max is equal to 5% of the node's sensing radius [26].

b: STANDARD DIFFERENTIAL EVOLUTION ALGORITHM
The differential evolution (DE) algorithm [27] is a swarmbased stochastic optimizer, which is a simple yet efficient global optimization algorithm. The DE algorithm has been proved to be superior to other evolutionary algorithms such as genetic algorithm and particle swarm optimization, in solving numerical benchmark problems [28]. Suppose that the search space of DE is D-dimensional. The main process of the classical version of DE is given as follows: x Initialization The number of generations is set to be G. Each population contains NP individuals. All of the individuals in the first generation are generated initially by random numbers. The members of the population are limited by the upper and lower limits of the variables.
where X U i,j and X L i,j are the lower bound and upper bound of the variable X i , respectively; and rand is a uniformly distributed random number between 0 and 1.
y Mutation The mutation operation plays the most significant role in the performance of a DE algorithm. There are several mutation schemes in DE, and ''DE/rand/1'' as Eq. (8) and ''DE/rand/2'' as Eq. (9) are given as follows: (8) and Eq. (9), U i,j is the element of the mutant individual U i ; F is the real-valued scaling factor which is a positive constant and controls the amplification of the differential vector; t is the index of the generation; X r1,j , X t r2,j , X t r3,j , X t r4,j and X t r5,j are five bits of the randomly chosen individuals with index r1 = r2 = r3 = r4 = r5 = i; and X t best defines the individual that has the best fitness function at the t-th generation. In general, the mutation strategy (8) has strong global exploration ability, and the mutation strategy (9) is suitable for fast convergence.
Note that, each variable of the individuals must satisfy the boundary conditions in the evolutionary process. If these conditions are not satisfied, then the variable must be generated randomly within its permitted range. (This process is the same as the initialization).
z Crossover The process of crossover is to increase the diversity of the perturbed parameter vectors. The trial individual V i is generated by crossing the target individual X i with its mutant counterpart U i . The widely used binomial crossover is defined by the following equation: where V i,j is the element of the trial individual V i , and CR is the crossover probability, whose range is (0,1); rand(i) are a random integers within 1,2,. . . , NP, where NP is the length of an individual; and j is the index of the dimensionality with j = 1, 2, . . . , D.
{ Selection The generated trial vector V t+1 i from the crossover operation will be compared with the target vector X t i based on better fitness values. The fittest of these two will survive into the next generation. Therefore, the selection criteria in DE are defined as follows: As shown in Eq. (11), the trial individual V t+1 i replaces the target individual X i if its fitness value is better. Otherwise, the target individual is preserved into the next generation. Therefore, the population is updated according to these three operators.
Selection takes place when a tournament is held between the target vector and trial vector, and the vector with better fitness function will survive into the next generation.
The cyclic implementation of mutation, crossover, and selection is continued until it satisfies the predefined stopping criterion.
Although the DE algorithm can be directly applied to the problem of sensor deployment optimization, it is necessary to solve how to encode individuals in the DE population. In this paper, a position vector . . x n m i , y n m i ) is considered to be an individual in the DE population with the objective to maximize the coverage rate of the network, where n m is the number of mobile sensor nodes, and x j i and y j i denote the x-coordinate and y-coordinate of the jth mobile sensor node, respectively.

c: THE PROPOSED ALGORITHM
The principle behind the hybridization of the DE algorithm and the VF algorithm proposed in this paper is to furnish an algorithm while blending the innovative structure and good convergence properties of the DE and the good guidance of the VF. The proposed algorithm maintains the swarm intelligence-based nature and iterative searching strategy of their constituent optimizers, but with the procedural changes described in the following steps: In the mutation step, self-adaptive mutation strategies are adopted, and a virtual force factor is also utilized to direct the updating of the mutant vectors. In other words, in the early stages of the iterations, the mutant vectors in Eq. (12) are used: (12) In the final stages of the iterations, the mutant vectors in Eq. (13) are used: where F, X t r1,j , X t r2,j , X t r3,j , X t r4,j and X t r5,j are the same as what was used in Eq. (8) and Eq. (9). We use the relationship between the random value in [0, 1] and the parameter Pr as in Eq. (14) to decide which mutation strategies are used, where t is the current iteration number, and MaxT is the maximum value of the iteration number. In other words, if the random value is smaller than Pr, then the mutation strategy (12) is used; otherwise, strategy (13) is adopted. From Eq. (14), it can be seen that in the very early stage of the algorithm, the value of Pr is almost 1. Therefore, it is more likely that the value of Pr is larger than a random value, and mutation strategy (12) is used. In the final iteration stage, the value of Pr becomes VOLUME 8, 2020 smaller than what it was before. As a result, it is probable that the value of Pr is smaller than the random number, and mutation strategy (13) is used. AC 1 and R t i are the acceleration constant and acceleration variable for the virtual force item. Here, R t i is an independent random variable. A t i is a parameter that is used to suggest movement provided by VF: , Ay t i (k) denotes the suggested movement of the kth mobile sensor node. Ax t i (k) and Ay t i (k) are respectively the x-axis and the y-axis components; and F x i and F y i denote the x-axis and y-axis component of F i , respectively.
In the traditional DE algorithm, the control parameter F is a constant and it cannot be adjusted according to the iteration status, which exerts negative effects on the optimization ability of the DE algorithm. To address this problem and enhance the performance of the DE algorithm, in the proposed algorithm the value of F is set to be a random value in [0.5, 1] as in Eq. (16): where rand is a function that can generate a random value in [0, 1]. The advantage of this setting is the reduction of the number of parameters and avoidance of becoming trapped in a local minimum situation due to a wrong value setting of F. As a result, the performance of the proposed algorithm is improved by a self-adaptive mutation strategy, random control parameter F and the good guidance of the VF. In Table 1, the pseudo-code of the proposed algorithm is given.

V. ANALYSIS OF THE PROPOSED ALGORITHM
This section analyses the computational correction, the computational complexity and the overhead of the proposed algorithm.

A. COMPUTATIONAL CORRECTION ANALYSIS
Theorem: In the HDSNs with a limited number of sensor nodes, the coverage rate of an area obtains its maximum value when the overlap areas between each node of the HDSN and its neighbor nodes obtain the minimum value.
Proof: Assuming that the area of the monitored zone is S area , the total overlap area of the nodes in the HDSN is S', while η (s i ) is the marginal coverage contribution of node s i ; then, the coverage rate of the zone is (17) Because the value of S + N i=1 η(s i ) is a constant and does not exceed the value of S area , when the marginal coverage contribution of each node s i , namely, η (s i ), achieves its maximum value, the coverage rate of the area obtains its maximum value. The marginal contribution of node s i can be expressed as where S area−i is the sensing area of node s i . From the above Equation, η (s i ) gets its maximum value only when the overlap areas between s i and its neighborhood nodes Nbh(s i ) achieve their minimum value.

B. COMPUTATIONAL COMPLEXITY
The proposed algorithm consists of two phases. In the first phase, namely, working direction adjustment, the number of sensor nodes is N and the number of direction adjustments is MI which is a constant. Therefore, the complexity of this phase is O(N ). In the second phase of the proposed algorithm, the VF directed self-adaptive differential evolution algorithm is used to heal the coverage hole in the sensing area. In this phase, the search of uncovered grids and the mobile directional nodes is necessary. The computation complexity of this process is O(N uncovered × N m ), where N uncovered is the number of uncovered grids in the area, N m is the number of the mobile directional nodes. The total virtual forces between the sensors deployed in the area should be calculated. The computation complexity of the calculation of the virtual forces is O (N × N m ). Therefore, the computation complexity of the proposed algorithm is O(N + N iter × N m × Np × (N uncovered × N m + N × N m )), where N iter is the number of iterations in the DE algorithm, Np is the number of population in the DE algorithm. Generally, the value of N iter is determined by the solved problem.

C. OVERHEADS
The overhead of the proposed method is working direction adjustment and physical position change. As it was described before, to be energy efficient, the proposed algorithm does not impose trial and error of rotation or relocation on the nodes since working direction adjustment and physical position change are performed after the algorithm. Fig. 2 demonstrates the average of total rotated angles by the nodes for different node densities. Sensor specifications are listed in Table 2. Fig. 3 shows the average of total travelled distances by the nodes during the coverage optimization approach. Obviously, with the increasing number of the nodes deployed in the area, more rotations and displacements are needed to optimize coverage ratio in the area of interest.

VI. PERFORMANCE EVALUATION
In this section, the performances of the proposed algorithm will be investigated. To simulate the algorithm, we used MAT-LAB2013b on a system with an Intel i7 processor, 2.8 GHz CPU, 16 GB RAM and Microsoft Windows 10 education version as a platform, where all of the experimental values are achieved by over 30 independent runs. The simulation parameters and their values are presented in the following subsections. Then, we simulated the proposed algorithm and compared its performance with existing area coverage algorithms in the literature, namely, HMS [16], random deployment, EEA [29], and two custom VF-based algorithms. In the two custom VF-based algorithms, the virtual force algorithm proposed in [6] is used in the phase that involves changing the angle of view. The main difference between the two custom algorithms lies in the strategy used in the phase of the nodes' physical position change. In one algorithm of the two custom algorithms, namely VF, the virtual force algorithm proposed in [25] is used to change the physical positions of the nodes. In contrast, the other algorithm, VF-DE, employed a differential evolution algorithm to optimize the physical positions of the nodes to enhance the coverage rate of the network, which uses Eq. (8) as a mutation operator.

A. SIMULATION SETTINGS
In our simulations, the simulation parameters are listed in Table 2. Three types of the sensors are utilized in the simulations and their parameters are given in Table 3.

1) COVERAGE PERFORMANCE
This experiment aims to evaluate the coverage performance of the proposed algorithm and other algorithms. From Fig. 4, we can observe that HMS, VF, EEA, VF-DE and the proposed algorithm enhance the coverage rate of the network substantially after deployment of the initial nodes (i.e., random deployment). In addition, the proposed algorithm achieves the best results among the compared algorithms with different  node densities in the target area. To further evaluate the coverage performance of the algorithms in the working directions adjustment, the results of the coverage rate after the working directions adjustment are demonstrated in Fig. 5. Several observations can be drawn from these results. First, as more sensor nodes are placed in the target area, the performances of all of the algorithms in the coverage rate improve more. Second, it is clear that the proposed algorithm outperforms the other algorithms for different numbers of nodes deployed. There are two reasons for the above results from Fig. 4 and Fig. 5. First, a stepwise method provides a more precise and effective approach than the other compared algorithms to solving the working direction adjustment problem, especially when the density of the sensors is high. In this situation, the virtual force-based algorithm does not work well, because the distances between the sensors are smaller, which has a bad influence on the virtual force. As a result, the performance of the virtual force-based algorithm degraded. For HMS and EEA, the higher the densities of the sensors are, the more probable that the sensor nodes to become boundary nodes. For such boundary nodes, no measures are taken to address this situation in HMS and EEA. Second, in the phase that involves physical position changes, the proposed algorithm can achieve the global optimum with higher probability than the other algorithms. The coverage improvement results generated by the proposed algorithm are illustrated in Fig. 6. As seen from this Figure, with the progress of the algorithm, the coverage rate improvement is substantial, which verifies the effectiveness of the proposed algorithm. To further investigate the coverage performance, the results of the overlap minimization ratio (OMR) versus the number of nodes are illustrated in Fig. 7 (19) where A method pre and A method after is the area obtained by the specific method (for example random deployment, VF, VF-DE, HMS, EEA and the proposed method) before and after the process of working direction adjustment, respectively.
As illustrated in Fig. 7, the proposed algorithm can effectively reduce the overlapped regions, and it performs the best among the tested algorithms. The reason for this is that the stepwise method and the function of marginal contribution make the proposed algorithm adjust the working direction in a precise and effective way.

2) ENERGY CONSUMPTION
To investigate the energy consumption of the nodes, the results of the increase in the energy consumption versus the number of nodes deployed are illustrated in Fig. 8. The energy consumption values are obtained by the methods proposed in the [30], [31], where a directional node consumes only 1.5 J during a 180 • -rotation, while it takes 3.6 J energy in the process of a 1-m physical movement. Fig. 8 shows the simulation results with regard to the energy consumption. It is clear that with more nodes placed in the target area, more energy consumption is required for the process of relocating the nodes. Additionally, the proposed algorithm performs best among the compared algorithms, which is strong proof that the proposed algorithm is an energy-efficient algorithm. The reason is that the proposed algorithm attaches great importance to the rotating process instead of changing their physical positions. Moreover, in the phase of the physical position change, the improved version of the DE algorithm that adopts the self-adaptive mutation strategy, the random control parameter F and the good guidance of the VF in the proposed algorithm can greatly reduce the moving distance. Therefore, its energy consumption is the lowest among the compared algorithms.

VII. CONCLUSION
In this paper, a coverage control algorithm has been presented to improve the coverage and energy computation of heterogeneous directional sensor networks. In contrast to existing algorithm that address the problems of homogeneous sensor nodes and exploiting motility or mobility only, the proposed method incorporates the motility and mobility of the nodes together to achieve the aims of coverage enhancement and energy reduction. The proposed method consists of two phases: the motility phase and the mobility phase. In the motility phase, the working directions of the heterogeneous sensor nodes are adjusted, and in the mobility phase, the physical positions of the sensor nodes are changed. The stepwise method and virtual force-directed self-adaptive differential evolution algorithm are, respectively, utilized in the two phases. The experimental results prove the effectiveness and efficiency of our proposed algorithm. In future work, extensions to the distributed version of the proposed method will be considered to reduce the energy consumption in the process of exchanging messages.