## 1. Introduction

Wireless sensor networks (WSN) have become a hot research topic and have been widely used in numerous real-world applications, such as traffic monitoring [

1], mobile computing [

2], environmental observation [

3], and many others [

4,

5,

6]. In these sophisticated environments, in order to make full coverage and get more accurate results, many nodes should be randomly deployed in the area, causing a waste of resources. Since the sensor nodes are equipped with limited battery resources and the replacement of the battery is not feasible in many applications, low power consumption has become a critical factor to be considered when designing the WSN. Therefore, research into energy saving to prolong the network lifetime has become one of the most significant issues in WSN. Moreover, the energy saving in WSN is a significant research topic in smart and sustainable energy systems and applications [

7,

8,

9].

Due to the significance of the energy efficient problem in the WSN [

10,

11,

12], many efforts have been made to tackle this problem. These proposed techniques are generally divided into two categories, where one is to design efficient protocols to reduce the energy consumption and the other one is to schedule the nodes to work efficiently. For the first category, protocols such as for the medium access control [

13], for transmission [

14], and for communication [

15] have been proposed in the literature for reducing energy consumption. While the second categorized technique concentrates on scheduling the nodes, resulting in energy preservation and longer network lifetime. These two categories both have contributions to the energy efficiency for WSN from different approaches. The focus of this paper belongs to the second category, which is the energy efficient coverage (EEC) problem in the WSN [

16,

17].

In EEC, the sensor nodes are divided into different disjoint sets with the constraint that each set can guarantee the full coverage of the whole monitored area. In that way, in any time, only the necessary sensor nodes in one set are activated while the other sensor nodes that monitor the same regions can be turned off. These different disjoint sets work one by one and therefore the network lifetime can be prolonged. Moreover, with more disjoint sets that can be formed, longer network lifetime can be obtained because the nodes are scheduled to work energy efficiently [

18,

19,

20]. Therefore, it is very interesting and promising for the approaches in [

21,

22,

23] to divide the deployed sensor nodes into maximal disjoint sets and schedule the sets to work in turn. In this paper, we also focus on maximizing the number of disjoint sets.

Even though the above methods have been applied to the EEC problem [

21,

22,

23], they can easily get trapped into local optima and cannot achieve or guarantee the full coverage because the EEC problem is NPC [

21]. Therefore, in this paper, we proposed distributed genetic algorithm (DGA) to solve the EEC problems in WSN to further improve the performance due to the superior adaptation and strong global search ability of GA. Moreover, two major novel designs and advantages of DGA are described as follows:

(1) DGA is realized in the multi-processor distributed environment by the master-slave distributed model, where a set of processors run distributed to evaluate the fitness values in parallel to reduce the computational cost.

(2) When we evaluate a chromosome, different from the traditional model of EEC problem in WSN that only calculates the number of disjoint sets, a hierarchical fitness evaluation mechanism is proposed and a two-level fitness function with biased attention to the sets with larger coverage percentage is designed.

Therefore, not only do we have the innovations in algorithm, but also have the contributions on the model of EEC problem in WSN. The experimental results show that our proposed DGA performs better than other state-of-the-art approaches in maximizing the number of disjoin sets.

The rest of this paper is organized as follows.

Section 2 gives the problem description of the EEC in the WSN and reviews some related work.

Section 3 proposes our methodology for solving EEC in the WSN by using DGA.

Section 4 presents the experimental results between our approach and other state-of-the-art approaches in the literature. Conclusions are given in

Section 5.

## 2. Energy Efficient Coverage Problem in WSN

The EEC problem is a fundamental and significant research topic in the WSN. In this section, we present the formulation of the EEC and review the related work on this problem.

#### 2.1. Problem Formulation

Given an L × W (Length × Width) rectangle area A and D randomly deployed sensor nodes. The EEC is to divide the nodes into several disjoint sets and then schedule these sets to work one by one. As the nodes do not have to work all the time, the energy can be significantly preserved. The aim of the EEC is to maximize the number of disjoint sets, with the constraint that each set can provide the full coverage for the monitored area.

In order to know whether the sensor network provides full coverage in the area

A, we assume that the location of each sensor node is known in advance [

19,

24]. Moreover, the area is divided into many grids and the coverage issue can be transformed to check whether each grid is covered by at least one active sensor node [

19].

All the

D sensors form the sensors set

S = {

s_{1},

s_{2}, …,

s_{D}}, where each sensor node

s_{i} is with the location (

x_{i},

y_{i}) and the sensor radius

R. For any grid

g(

x,

y) ∈

A in the monitored area, the relationship between the

s_{i} and the

g is defined as:

where 1 means that the grid

g is covered by the sensor

s_{i} while 0 means the sensor

s_{i} does not cover the grid

g. Therefore, for any grid g in the monitored area, if there exist at least one sensor

s_{i}(1 ≤

i ≤

D) that makes

P(

s_{i},

g) = 1, we say that

A is fully covered by the sensor network.

In the EEC, the set

S is divided into

M subsets

S_{j} (1 ≤

j ≤

M), and with the objective of maximizing the value of

M, as:

Here, the constraint (i) means that the unitization of all the subsets S_{j} must belong to the original set S. The (ii) indicates that there is no intersection between any two different subsets S_{j}_{1} and S_{j}_{2}. The (iii) represents that for any grid g in area A, there exists at least one sensor s_{i} in S_{j} which can cover the grid g. Obviously, these constraints can guarantee that each subset S_{j} can fully cover the monitored area.

#### 2.2. Related Work

With the development of evolutionary computations (ECs) like GA [

25,

26], ant colony optimization (ACO) [

27,

28], particle swarm optimization (PSO) [

29,

30], and differential evolution (DE) [

31,

32], many researchers have applied ECs into solving the EEC problems in WSN, such as PSO-based [

33] and ACO-based [

34] approaches. Specifically, in [

33], Zhan et al. extended the binary PSO (BPSO) to solve the EEC problem by finding a minimal set of nodes again and again to maximize the number of disjoint sets. Lin et al. [

34] proposed the ACO-based approach to maximize the number of connected covers, called ACO-MNCC, to maximize the lifetime of heterogeneous WSNs by transforming the search space of the problem into a construction graph. Besides, in [

35], Yang et al. proposed a probabilistic model to tackle the EEC problem in WSN, which transforms the area converge into point converge. It greatly reduces the dimension of problem. Lee et al. [

36] also tried to solve the EEC problem in the WSN by using the ACO, which designs three pheromones to balance the local exploitation and global exploration. Meanwhile, they also introduced a probabilistic sensor detection model, which makes the algorithms more realistic [

37].

Some researchers have also used GA for solving the EEC in the WSN recently. For example, Lai et al. [

25] proposed a GA-based method to maximize the disjoint sensor covers called GAMDSC. However, there is still much room for improvement. First, their works only solved the small-scale problems (up to 140 sensors). When the scales of problems increase, their performance often face difficulties. Second, parallel or distributed methods can further improve the performance and save the computational time.

## 3. Methodology: DGA for the EEC Problem

In this section, the DGA for solving the EEC problem in WSN is implemented and described. The master-slave distributed framework is first given. Then the chromosome representation and the hierarchical fitness evaluation mechanism are described. After that, the genetic operators, including the selection, crossover, and mutation are proposed. At last, the overall algorithm is presented.

#### 3.1. Distributed Framework of DGA

In DGA, the master-slave distributed model is used. The processor whose role is to control the whole evolutionary process including crossover, mutation, and selection operations, is called MASTER. The other processors, which are responsible for chromosomes’ evaluation to reduce the computational costs, act as SLAVEs. To give an overview of the DGA, the master-slave distributed structure is depicted in

Figure 1. In each generation, the master sends chromosomes to slaves, while the slaves evaluate the chromosomes and return their corresponding fitness values back to the master [

38].

#### 3.2. Chromosome Representation

The aim of the EEC problem is to maximize the number of disjoint sets. Therefore, the first thing is to determine how many sets the nodes can be divided into at most. This is also the upper bound of the disjoint sets number

K [

23]. Since the area has been divided into many grids, for each grid

i, we find out the number of sensors

k_{i} that cover the grid

i. Then, the minimal

k_{i} is the upper bound number of disjoint sets, i.e.,

K = min{

k_{i}}.

With the upper bound

K determined, we can encode the chromosome in a very intuitive manner that each gene is an integer in the range of [1,

K]. Therefore, the chromosome is a string of integers with the length of

D, where

D is the number of sensor nodes. The representation is

In (3), the value of

x_{i} denotes which set the

ith sensor belongs to.

Figure 2 gives two examples of the chromosome representation. In the examples,

D is 4 and

K is 2. In

Figure 2a, the chromosome is

X^{a} = [1, 2, 1, 2], meaning that the first and the third sensors belong to the 1st set while the second and the fourth sensors belong to the 2nd set. In this case, it can be observed that both the 1st and the 2nd sets can provide full coverage for the monitored area. However, in

Figure 2b, the chromosome is

X^{b} = [1, 2, 1, 1], meaning that the first, the third, and the fourth sensors belong to the 1st set while only the second sensor belongs to the 2nd set. In this case, only the 1st set can provide full coverage for the monitored area, but the 2nd set cannot.

#### 3.3. Hierarchical Fitness Evaluation

In order to evaluate the chromosome, herein, a hierarchical fitness evaluation mechanism and a two-level fitness function are proposed.

First, the genes are grouped into different sets according to their values. Then a check procedure is performed on each set to see whether the nodes in the set can provide full coverage. As we divide the monitored area into

L × W grids, for each set

S_{i}, we can count the grids number

G that is covered by the sensor nodes in set

S_{i}. Therefore, we can obtain the coverage percentage

f_{i} as:

Note that if f_{i} is equal to 1, it means that the set S_{i} can provide full coverage for the monitored area. In this way, we can count and obtain the number of disjoint sets (denoted as M) in the population which can achieve the full coverage. When two chromosomes A and B are compared, A wins B if A has a larger disjoint set number (larger M). The number of disjoint sets M is regarded as the first-level fitness evaluation.

However, to meet the case where the two chromosomes

A and

B have the same disjoint set number, we further designed a fitness function with biased attention to the sets with larger coverage percentage, so called the second-level fitness evaluation, which is calculated as:

where

K is the upper bound of the disjoint sets and

w_{i} is the weight for the set

S_{i}. Herein, we give the biased attention to the sets with larger coverage percentage. That is because the set with a higher coverage percentage has a higher probability to achieve the full coverage. Therefore, we first sort the sets according to their coverage percentages in descending order, then the weight

w_{i} for the set

S_{i} is set as

w_{i} = 10,000.0/

r_{i}, where

r_{i} is the rank of the set

S_{i} in the sort of coverage percentage.

In that way, if two chromosomes A and B have the same disjoint set number, then the one with a larger fitness value is preferred (larger F).

#### 3.4. Genetic Operators

The genetic operators in DGA consist of the selection, crossover, and mutation. In this subsection, we will briefly describe the implementations of these operators.

#### 3.4.1. Selection

In the selection implementation, we use the tournament selection strategy. Specifically, in each selection, partial of the chromosomes are randomly selected to compete for survival. The winner enters into the next generation. Repeat the selection operator until a population size of chromosomes have been selected.

#### 3.4.2. Crossover

After the selection, the survived chromosomes recombine to create offspring. First, for each chromosome, a random value in range [0, 1] is generated. If the value is smaller than the crossover probability

p_{c}, then the chromosome is used as one of the parents. After all the parents have been determined, every two parents are randomly mated to create two offspring. A crossover position

k is randomly generated and the genes from the

kth position of the two parents are exchanged, as shown in

Figure 3a. In this way, two new chromosomes, so called offspring are generated and enter the population.

#### 3.4.3. Mutation

The chromosomes will perform a mutation operation after the crossover. For each gene in a chromosome, a random value in range [0, 1] is generated and compared with the mutation probability

p_{m}. If the random value is smaller than

p_{m}, then the mutation occurs. As shown in

Figure 3b, when the mutation occurs, the gene is set as a random integer in the range [1,

K].

#### 3.5. Complete Algorithm

With the designs of the chromosome representation, fitness function, and the genetic operators, the DGA for solving the EEC problem is shown in

Figure 4 and is described as the following seven steps.

Step 1: Initialization. The N chromosomes in the population are initialized at master. Each gene in the chromosome is set as a random integer value in the range [1, K] as (3).

Step 2: Evaluation. Each chromosome is evaluated as (5) at the slave and returns its fitness to the master. Then the best chromosome with the highest fitness can be determined. This chromosome is compared with the historical best one and will replace the historical best one if it is better. Otherwise, the historical best chromosome will replace the worst chromosome in the current generation.

Step 3: Selection. The selection operation has been discussed in

Section 3.4.1.

Step 4: Crossover. The crossover operation has been discussed in

Section 3.4.2.

Step 5: Mutation. The mutation operation has been discussed in

Section 3.4.3.

Step 6: Termination check. If the termination criteria is met, go to Step 7. Herein, the termination criteria include the obtaining of the upper bound K or reaching the maximal generation number. Otherwise, the algorithm goes to Step 2 and continues the next generation evolution.

Step 7: Terminate. Output the best chromosome as the final solution.

#### 3.6. Computational Complexity

Herein, we denote the population size and the dimension of problem (the number of sensors) as

N and

D, respectively. First, in the initialization, the computational complexity of DGA is

O(

N ×

D), which is obtained by step 1 in MASTER process of

Figure 4. Then, as for the chromosomes evaluation, the computational complexity is

O(

N), as obtained by steps 3–4 in the MASTER process and steps 2–4 in the SLAVE process of

Figure 4. After that, in the chromosome evolution, since we used the tournament selection, the computational complexity is

O(

N^{2} ×

D), as obtained by steps 6–8 in the MASTER process of

Figure 4. Therefore, the overall computational complexity of DGA is

O(

N^{2} ×

D).

## 5. Conclusions

In this paper, DGA is proposed to solve the EEC problem in the WSN to achieve or guarantee the full converge. In the implementation, DGA is realized in the multi-processor distributed environment, where a set of processors run distributed to evaluate the fitness values in parallel to reduce the computational cost. Moreover, when we evaluate a chromosome, different from the traditional model of EEC problem in WSN that only calculates the number of disjoint sets, hierarchical fitness evaluation mechanism is proposed and a two-level fitness function with biased attention to the sets with larger coverage percentage is further designed. Therefore, not only do we have the innovations in the algorithm, but we also have the contributions to the model of the EEC problem in WSN. Simulations have been conducted and the experimental results confirm the effectiveness and efficiency of the proposed approach when compared with the state-of-the-art approaches.

For future work, we wish to further improve the performance of DGA by considering the potential uncertainties, so as to make DGA more applicable in the real applications. Moreover, we wish to apply the DGA into other more complicated optimization problems, like data routing [

39], cloud resource scheduling [

40], supply chain managing, even in a dynamic and multi-objective environment [

41,

42], not only in the WSN.