^{1}

^{*}

^{2}

^{*}

^{3}

^{*}

^{4}

^{*}

The particularities of Wireless Sensor Networks require specially designed protocols. Nodes in these networks often possess limited access to energy (usually supplied by batteries), which imposes energy constraints. Additionally, WSNs are commonly deployed in monitoring applications, which may intend to cover large areas. Several techniques have been proposed to improve energy-balance, coverage area or both at the same time. In this paper, an alternative solution is presented. It consists of three main components: Fuzzy C-Means for network clustering, a cluster head rotation mechanism and a sleep scheduling algorithm based on a modified version of Particle Swarm Optimization. Results show that this solution is able to provide a configurable routing protocol that offers reduced energy consumption, while keeping highcoverage area.

Wireless Sensor Networks (WSN) is usually used in the most varied applications such as environmental, industrial and process monitoring. They are formed by distributed sensing devices, commonly powered by batteries that at the end of their lifetime must be either recharged, replaced or even require completely substitution of the device. Any of these cases calls for human interference, which in some scenarios having access to the devices is neither straightforward nor immediate (e.g. remote monitoring of forests). Therefore, while designing WSN architectures and protocols, the presence of low-power techniques are often desired. These techniques would allow prolonged network lifetime and possibly extended network coverage.

From the architectural point-of-view, techniques such as clustering [

Communicating with the cluster head instead of directly with the base station reduces the energy spent at transmission, because cluster heads are usually near to nodes. Another technique used in conjunction with clustering is to rotate the cluster head role, meaning that all nodes in a cluster can assume that responsibility. Thus, instead of overloading a single node with the retransmission/ routing (due to being a cluster head), all nodes share this load at different times, balancing the energy inside the cluster.

Another kind of techniques that can be used to extend the network lifetime is called sleep scheduling. This technique assumes that some nodes can be deactivated (put to sleep) for short period of times with no impact on functionality. This may occur when sensors of different nodes cover redundant areas, or when it is desired to sacrifice part of the coverage in exchange for an extension in the network lifetime.

In this paper, a new routing protocol to optimize network lifetime while keeping high-coverage area is proposed. It consists of using Fuzzy C-Means (FCM) algorithm to clusterize the network. Then each cluster rotates the cluster head role in order to protect low-energy nodes. Finally, we provide a configurable sleep scheduling based on Particle Swarm Optimization (PSO) that maximizes network lifetime alone, coverage area alone or even a weighted combination of both. The proposed method is hereafter called FCMMPSO (FCM with Modified PSO). It is shown (see Section 5) that using the Modified PSO im-

proves network lifetime when compared to the original PSO.

This paper is organized as follows: Section 2 reviews the state-of-art related to this topic. Then in Section 3 the energy model is explained and the definitions of coverage and overlapping areas as well as exclusive regions are presented. The methodology, including the clustering and sleep scheduling, is described in Section 4. The results are presented in Section 5. Finally, we summarize our contributions and discuss the final remarks at Section 6.

There are many drawbacks when sensed data is sent directly from the nodes to the base station. One of them is that nodes farther from the base station get their battery depleted first due to the fact that transmission power is proportional to communication distance. Another issue is that they may spend unnecessary energy sending redundant information (e.g. when the same information sensed by two nodes that are next to each other). This simple setup is hereafter called Direct Communication (DC).

The Minimum Transmission Energy (MTE) routing protocol that opposes to Direct Communication was proposed in [

There are other solutions in the literature that are based on clustering. Clustering is a plethora of algorithms used for splitting a set of elements into clusters, based on a predefined criteria, and also for finding cluster centers for each split. It is vastly used by statisticians and machine learning engineers as a tool to help with classification in unsupervised learning problems [

Low Energy Adaptive Clustering Hierarchy (LEACH) [

Another clustering-based solutions are K-Means [

In FCM [

Apart from clustering and routing protocols, sleep scheduling techniques also have been proposed to improve network lifetime of clustered networks. In [

In [

scribed in Section 4 presents differences to the one proposed in [

In [

The main reasons to use modified PSO instead of the original PSO are inspired by [

In [

In this section, the energy model and the coverage/overlapping definitions are briefly explained.

The energy model adopted in Section 4 is based on [

Regarding the energy model, the sensors are assumed to be passive, i.e. they do not consume energy, while the other components are all active. The total energy expenditure depends whether the node is ordinary or if it is a cluster head, since ordinary nodes transmit to the cluster head while cluster heads transmit to the base station. Also, cluster heads need to communicate with every cluster node, while ordinary nodes communicate only with the cluster head.

The transmitter model considers two components: the energy dissipated by the transmitter circuitry, which depends on the length l of the messages being communicated, and the energy dissipated by the power amplifier E_{pa}, which depends on the length of the messages, on the distance to the other communicant and on the channel model. The total energy E_{tx} is represented in Equation (1).

E t x = ξ t x ∗ l + E p a (1)

where ξ_{tx} is the energy per bit spent by the transmitter circuitry (50 nJ/bit).

Two channel models are considered (based on [

E p a freespace = ξ f s ∗ l ∗ d 2 (2)

E p a multipath = ξ multipath ∗ l ∗ d 4 (3)

where

・ ξ_{fs} is the energy per bit per square meter (with value 10 pJ/bit/m^{2}),

・ ξ_{multipath} is the energy per bit per quartic meter (with value 0.0013 pJ/bit/m^{4}) [

・ and d is the distance between communicants. d can be either the distance from an ordinary node to the cluster head or the distance from the cluster head to the base station.

The choice of which model to use depends on the distance d. If d is less than d_{0} (described in Equation (4)), then the free space model is used, otherwise the chosen one is the multipath model.

d 0 = E p a freespace E p a multipath (4)

Additionally, cluster nodes shall take into account the energy dissipated while aggregating data from multiple nodes in the cluster (from a total of N nodes). This expenditure E_{da} is

E d a = ξ d a ∗ l ∗ N (5)

where ξ_{da} is 5 nJ/bit/message.

The receiver model is simpler, it describes the energy dissipated at the receiver circuitry, which depends on the message length and the number of messages m send to it (shown in Equation (6)):

E r x = ξ r x ∗ l ∗ m (6)

where ξ_{rx} is the energy per bit spent by the receiver circuitry (50 nJ/bit). For ordinary nodes, m is equal to 1 while for cluster heads m is equal to the number of the nodes in that cluster, minus one that is the cluster head itself.

The total energy dissipated in one round (when every node send data to the cluster head and it aggregates and transmits it to the base station) is:

∑ c = 1 C ( E d a + E r x + ∑ n = 1 N c E t x ) (7)

where C is the total number of clusters and N_{c} is the number of nodes in cluster c.

The definitions of coverage and overlapping areas are similar to the ones found in [

Every node covers a circular area with a predefined radius (dependent on the sensor), i.e. the node can monitor that region of space. The union of all node’s areas is called network coverage area.

Areas that are monitored by more than one node (i.e. intersection regions) are accounted for overlapping. The union of all these areas is called network overlapping area.

Areas that are covered exclusively by one node are called exclusive regions.

Areas that are covered by more than one node are called overlapping regions.

Coverage rate is the partial network coverage area of a particular configuration (when only a subset of nodes are active) over the total network coverage area.

Overlapping rate is the partial network overlapping area of a particular configuration (when only a subset of nodes are active) over the total network overlapping area.

Sleeping rate is the proportion of nodes that are sleeping (compared to all nodes).

These definitions apply to the entire network (when all nodes are active), but can also be calculated with a subset of the network’s members.

The proposed solution consists of using FCM for clustering the network, then using a straightforward cluster head rotation mechanism in each round and scheduling sleep slots with the modified PSO, which maximizes both energy-balance and network coverage. The clustering phase and cluster head rotation mechanism is described in Section 4.1 and the modified PSO is described in Section 4.2.

The first step required in clustering is to determine the optimal number of clusters. For this purpose, Equation (8) [

C = N 2 ∗ π E f s E m p M d t o B S 2 (8)

where:

C is the number of clusters;

N is the number of sensor nodes;

E_{fs} is the energy spent in the transmission of a single bit of data through free space, achieving an acceptable bit error rate;

E_{mp} is the energy spent in the transmission of a single bit of data through a multipath fading model, achieving an acceptable bit error rate;

M is the network diameter;

d_{toBS} is the average Euclidean distance from the cluster heads to the base station.

Notice also that E_{fs} and E_{mp} are dependent on the distance of transmission.

Once the number of clusters is defined, the FCM algorithm helps to determine both the cluster centroids and the initial assignment of sensor nodes to clusters. For that purpose, the method minimizes the following objective function (Equation (9)):

J m = ∑ i = 1 C ∑ j = 1 N u i j m d i j 2 , 1 ≤ m < ∞ (9)

where u_{ij} is the coefficient representing the degree of membership of the node i w.r.t. the cluster j, d is the Euclidean distance between the i^{th} node and the j^{th} cluster centroid, and m is a real parameter that represents the fuzzyness of the clusters. The u_{ij} coefficients form a coefficient matrix U where i indexes the i^{th} row and j indexes the j^{th} column.

The coefficients of the U matrix are calculated as follows (Equation (10)):

u i j = 1 ∑ k = 1 C ( d i j d k j ) 2 m − 1 (10)

where d_{kj} is the Euclidean distance between the kth sensor node and the j^{th} cluster centroid. Equation (10) shows that the greater the distance between a node and a centroid, the smaller the respective coefficient will be. The matrix U is initialized with random samples from a uniform distribution with values ranging from 0 to 1 (representing a probability).

The cluster centroids are iteratively calculated using Equation (11):

c j = ∑ i = 1 N u i j m x i ∑ i = 1 N u i j m (11)

where x_{i} is the geolocation of the ith node and c_{j} is the geolocation of the j^{th} cluster centroid.

The complete algorithm is show in Algorithm 1. Lines 1 - 3 show the initialization of the matrix U (U^{(}^{0)}). Lines 6 - 11 represent an iteration, where for each cluster the centroid is iteratively calculated using Equation (4) (line 9). The membership matrix is updated at each iteration using Equation (3) (line 10). Finally, the FCM algorithm stops either when the error is below some threshold ε, or when the algorithm had run for a certain number of iterations.

After completing, the algorithm has defined the degree of membership of nodes. Then, each node is initially set to belong to the cluster that it has the highest degree of membership.

The base station initially selects the node nearest to each cluster centroid as the cluster head. However, the network hierarchy overloads cluster heads: they must relay messages from every cluster node to the base station. Thus, they expend energy faster than ordinary nodes. For this reason, the cluster head selection must be dynamic in order to prevent those nodes to extinguish their energy supplies and to balance the energy load.

Therefore, after the first round, the current cluster head elects another node to be the new cluster head. It chooses the node with the highest residual energy (this information is sent to the cluster head in every packet). This procedure is repeated every exchange of data, meaning that the cluster head role is reassigned periodically. It is also important to notice that the FCM algorithm is only used at the initial setup of the network. From that moment on, the partitions (clusters) are fixed while the cluster head changes dynamically.

The cluster head is responsible for allocating time slots when cluster members can transmit. This is implemented using a TDMA schedule. Regarding power consumption, cluster members activate their radio component only during their own slots, reducing the power consumption. Also, transmission power is optimized since the Euclidean distance between nodes and cluster head is minimized by the FCM algorithm. Additionally, energy is saved due to the fact that data aggregation and fusion is executed at the cluster head, which compresses the information sent to the base station.

PSO [

PSO has been successfully used in several domains such as [

[

Algorithm 2 describes the modified PSO used in this paper. It is based on [^{th} particle’s best position l_{i} is set to the particle’s initial configuration p_{i} (line 4). Then the swarm’s best position g is set to the best initial position (lines 5 - 6). In order to decide which particle has the best configuration, the fitness function is used (described later on this section). P is the number of particles that simultaneously searches for the solution.

Lines 8 - 20 describe the search for the best sleep configuration. This procedure is repeated for a certain number of iterations (M), which is found out in practice. Then for each particle, three basic steps are repeated: mutation (line 11), crossover with the particle’s best position (line 13) and crossover with the swarm’s best position (line 15). In each step, particle and swarm’s best positions are updated when the new particle reached better results in terms of the fitness function (lines 17 - 20).

In the modified PSO, the number of particles P keeps unchanged, meaning that every particle is mutated and suffers crossover but no additional particles are generated during this process.

The mutation and crossover functions are inspired in GA and are described in Algorithm 3 and Algorithm 4. Both functions differ from the functions described in [

The crossover function takes two particles (individuals) as input and the resulting individual has statistically half of genes from one individual and half from the other. Crossing over allows the particle to be attracted towards its best position or towards the swarm’s best position.

The fitness function that the modified PSO tries to maximize is described by Equation (12):

fitness = α ∗ f 1 + β ∗ f 2 (12)

It is the weighted sum of two terms, with parameters α and β. The first term is a function of the remaining energy at devices and it is different from the energy- related term used in [

of all wake nodes, Equation (12) maximizes the probability that nodes with above-average energy levels are kept awake, while nodes with below-average energy levels are put to sleep. This improves energy-balance inside the cluster. In Equation (13), Eg is the energy of the g^{th} node, G is the number of nodes (genes in GA terminology), p_{i} is the i^{th} particle and E is the average energy in the alive nodes.

f 1 = ∑ g G ( 1 − p i , g ) . ( E g − E ¯ ) − ∑ g G min ( E g − E ¯ , 0 ) ∑ g G max ( ( E g − E ¯ ) , 0 ) − ∑ g G min ( E g − E ¯ , 0 ) (13)

The second term is the fitness function is related to the coverage and the overlapping areas (as defined in Section 3) and it is described in Equation (13). Regionsexclusive are the exclusive regions for a particular particle p, and Coverageall are the coverage area (see Section 3) for all alive nodes. Differently from [_{2} may range from 0 (when awake nodes represented in the particle have no exclusive area) and 1 (when all awake nodes cover areas that no other node covers). Maximizing f_{2} maximizes coverage area while reducing the overlapping at the same time. Therefore the nodes that have more overlapping are more prone to be sleeping.

f 2 = Regions exclusive ( p ) Coverage all (14)

α and β should sum to 1 and are chosen depending on how much one values the network lifetime (term 1) and coverage area (term 2).

The modified PSO (Algorithm 2) has 3 hyperparameters, ω, φ_{g} and φ_{g}. The learning strategy was implemented according to [

ω = ω max − ( ω max − ω min ) ∗ i t / M (15)

ϕ p = 1 − 1 ∗ i t / M (16)

ϕ g = 1 − ϕ 1 (17)

The settings common to all scenarios are described below (except when mentioned differently).

The 2-dimensional field where 300 nodes are distributed is 250 × 250 m^{2} and the nodes are distributed using an independent uniform distribution for axis x and y. The base station is at (125, 125), i.e. the center of the field. The message length is 4000 bits plus a 150 bit header. The coverage radius for every node is 20 meters. The fuzzyness factor is equal to 2, and the number of clusters is usually calculated as 5. The initial energy at every node is 2 Joules. Other energy-related settings are mentioned in Section 3.

Regarding the modified PSO settings, the fitness function α is set to 0.5 and β to 0.5 by default. The maximum number of iterations for modified PSO is 100 and the number of particles is set to 20.

In all simulations, except for the Direct Communication setup, we considered that the base station must regularly broadcast routing/clustering information and sleep scheduling in order to every node know how to proceed in the next round. This forces nodes to spend at least the energy to receive this information (considering a 4150 bit message). Some authors consider that the cluster head perform this functionality while other authors do not consider this step in the energy consumption.

It is also important to note that the results shown in this section do not consider the initial energy spend in case nodes need to send their position to the base station. For the settings described above, this expenditure is equal to 0.303 Joules net or 0.001 Joules per node (in average).

In this scenario, we show the cluster formation generated by the FCM algorithm (

In this scenario, DC, MTE, LEACH, FCM, FCM plus original PSO and FCMMPSO are analyzed from the network lifetime perspective. The results are shown in

As expected using DC makes nodes farther from the base station deplete their batteries first, but nodes nearer to the base station outlive any other algorithm. When using LEACH, nodes tend to survive longer than DC ones. The cluster

rotation mechanism used for LEACH randomly selects the next cluster head (as [

On the other hand, FCM rotates the cluster head role between higher-energy nodes, what improves the network lifetime. Clusters deplete their energies as a whole, causing step descents in the number of alive nodes.

Concerning MTE, nodes nearer to the base station forward messages of all other nodes that are farther from the base station. Therefore, these nodes are overloaded and are depleted quickly. When these nodes are off, the farther nodes have to communicate directly to the base station, and due to the effort of transmitting over larger distances, also get their batteries depleted. As expected, FCM with original PSO perform better than other methods that rely only on clustering. This is straightforward since original PSO decides that some nodes should occasionally sleep, saving their batteries.

As shown, FCMMPSO outperforms all other strategies. It seems that the modified PSO was able to always find solutions that lead to improved network lifetime. It is important to note that FCMMPSO performed better in all simulations that we run, but are not included here for lack of space. Also, the settings used in these comparisons were exactly the same (including values for α and β).

In order to detail the results shown in

Algorithm | Base station at: | |||
---|---|---|---|---|

(125, 125) | (125, −75) | |||

Number of depleted nodes: | ||||

1 | 30% | 1 | 30% | |

DC | 430 | 1685 | 11 | 97 |

MTE | 29 | 312 | 28 | 141 |

LEACH | 906 | 1585 | 459 | 1247 |

FCM | 1943 | 2363 | 1500 | 1595 |

FCM+PSO | 3088 | 3117 | 1872 | 1955 |

FCMMPSO | 3422 | 3477 | 2033 | 2102 |

tion is at the center of the map i.e. at (125, 125).

Since the base station is at the center of the map, those nodes are the last to die (they spend less energy communicating with the base station). As it can be seen, most of the clusters die almost at the same time (have the same color in the map). This means that the network lifetime lasts longer but also that all nodes die approximately together.

In this scenario, the effects of the proposed solution on coverage, overlapping and sleeping rates are analyzed. For that purpose, simulations take into account four sets of configurations:

・ 0.0 and β = 1.0 (only coverage area is optimized);

・ α = 0.25 and β = 0.75 (coverage should be prioritized over lifetime);

・ α and β equal to 0.5 (network lifetime and coverage area should be optimized equally);

α | β | Coverage rate | Overlapping rate |
---|---|---|---|

0.0 | 1.0 | 0.95 ± 0.01 | 0.25 ± 0.04 |

0.25 | 0.75 | 0.90 ± 0.03 | 0.23 ± 0.05 |

0.5 | 0.5 | 0.88 ± 0.04 | 0.42 ± 0.08 |

0.75 | 0.25 | 0.83 ± 0.05 | 0.45 ± 0.09 |

α | β | Coverage rate | Overlapping rate |
---|---|---|---|

0.0 | 1.0 | 0.89 ± 0.06 | 0.14 ± 0.07 |

0.25 | 0.75 | 0.87 ± 0.03 | 0.27 ± 0.07 |

0.5 | 0.5 | 0.86 ± 0.05 | 0.42 ± 0.08 |

0.75 | 0.25 | 0.84 ± 0.04 | 0.45 ± 0.08 |

・ α = 0.75 and β = 0.25 (lifetime is more important than coverage).

Results for FCMMPSO are shown in

Results show that FCMMPSO always find better solutions concerning coverage rate (in comparison to ECCA), reaching a maximum improvement of 6%. It is important to notice that ECCA is based on NSGA-II, which is a multi-objective approach, meaning that by default it does not learn solutions that improve one objective while get worse on the other objective. This imposes a constraint to the learning approach when one wants to prioritize one objective over another.

The overlapping rates of both approaches are similar, and both manage to reduce it to only 25% when b = 1.0 (coverage is the only goal). It is important to notice that for ECCA, the sleeping rate decreases as α increases. This behavior is exactly the opposed to what is expected, since as a increases one would expect to have more sleeping nodes to extend network lifetime, not fewer. This anomaly can be explained due to the fact that NSGA-II does not consider α and β (it is not a multi-objective problem converted to single-objective by using a weighted sum).

In order to analyze the energy savings, five simulations were considered, with increasing levels of the hyperparameter α (and therefore decreasing levels of the

hyperparameter β).

It is important to verify if the optimization algorithm used by the sleep scheduler improves the objective function when compared to random guesses (no optimization at all), otherwise the use of the modified PSO would be unnecessary. Additionally, we show that modified PSO learns as fast and as much as other proposed solutions, but with less hyperparameters. Using less hyperparameters makes the configuration of the system used during deployment easier.

For that purpose, the same scenario described in Section 5.1 is used. Then the

α | β | Average final global fitness value | ||
---|---|---|---|---|

term 1 | term 2 | total | ||

0.5 | 0.5 | 0.8473 | 0.8298 | 0.8385 |

1.0 | 0.0 | 0.9825 | 0.5065 | 0.9825 |

0.0 | 1.0 | 0.5294 | 0.9085 | 0.9085 |

Modified PSO | EBSS-PSO [ | |
---|---|---|

Initial fitness | 0.6290 | 0.6247 |

Final fitness | 0.8567 | 0.8577 |

Learning (difference) | 0.2277 | 0.233 |

modified PSO and the optimization algorithm proposed in [

The “Initial fitness” row indicates the value of the fitness function at the initialization. For modified PSO, the initialization randomly guesses the positions of the individuals, while the optimization used in [

As show in

To illustrate that the modified PSO is able to favor either energy-balance (thus network lifetime) or coverage, simulations with different values for the parameters α and β were ran (where α and β are parameters of the fitness/objective function in Equation (12).

These results are shown in

Algorithm | Cost (% of the transmitted message) | |||||
---|---|---|---|---|---|---|

0% cost | 50% cost | 100% cost | ||||

1^{st} | 30% | 1^{st} | 30% | 1^{st} | 30% | |

LEACH | 877 | 1824 | 730 | 1269 | 340 | 962 |

MTE | 2146 | 3932 | 716 | 1758 | 20 | 333 |

FCM | 1566 | 2346 | 1441 | 1530 | 1003 | 1169 |

Let us define aggregation as the act of routing nodes (nodes that forward messages from the source node to the final destination) of compressing the information before sending it upstream. Aggregation may be performed by cluster heads in clusterized networks or by almost every node in the case of MTE. It can be achieved by removing redundant sensed information, or even by raw compression techniques that may work on multiple messages at once but that would not work for single node messages.

In previous scenarios we assumed that aggregation has cost equal to zero, i.e. that forwarding messages adds no more bits to the message other than the bits send by the cluster head itself. This seems to be a common hypothesis [

In this scenario, the effect of aggregation cost is analyzed.

As expected, increasing the aggregation cost reduces the network lifetime, independently of the algorithm used. However, aggregation cost affects some algorithms more than others. For instance, with no cost, networks that use MTE outlive FCM and LEACH networks. However, when the aggregation compresses only 50% of the received message, FCM networks live twice as much as MTE and LEACH networks. This means that aggregation cost deteriorates MTE more than it does with LEACH or FCM. As matter of fact, when the aggregation costs 100% of the received message, the first node of a MTE network dies at the 20^{th} round.

These results justify the use of FCM as clustering algorithm instead of MTE.

We presented an alternative solution to improve network lifetime while maximizing network coverage area. FCM is used for network clustering, by splitting the network in small subsets where transmission power is kept low. Additionally, each cluster has a head rotation mechanism that seeks to prevent low-energy nodes from communicating directly to the base station, resulting at a better energy-balance. On top of that, sleep slots are distributed among cluster nodes, in order to extend network lifetime. Better configurations of sleep schedules are found using the modified PSO algorithm that searches for both saving-energy and high-coverage rate configurations. Results show that, by correctly setting up PSO hyperparameters, the algorithm is able to learn better configurations and thus provide meet the specifications of applications with different goals.

Alshahrani, A., Namazi, N.M., Abdouli, M. and Alghamdi, A.S. (2017) A Configurable Routing Protocol for Improving Lifetime and Coverage Area in Wireless Sensor Networks. Wireless Sensor Network, 9, 311-332. https://doi.org/10.4236/wsn.2017.99018