Open Access
This article is

- freely available
- re-usable

*Sensors*
**2010**,
*10*(5),
4521-4540;
doi:10.3390/s100504521

Article

A Multipath Routing Protocol Based on Clustering and Ant Colony Optimization for Wireless Sensor Networks

^{1}

School of Communication and Control Engineering, Jinangnan University, Wuxi, 214122, China

^{2}

College of Electrical Engineering, Guizhou University, Guiyang, 550003, China

^{3}

Department of Electrical and Electronic Engineering, Imperial College London, London, UK

^{4}

Department of Electrical Engineering, Tsinghua University, Beijing, 100084, China

*

Author to whom correspondence should be addressed.

Received: 4 March 2010; in revised form: 14 April 2010 / Accepted: 16 April 2010 / Published: 4 May 2010

## Abstract

**:**

For monitoring burst events in a kind of reactive wireless sensor networks (WSNs), a multipath routing protocol (MRP) based on dynamic clustering and ant colony optimization (ACO) is proposed. Such an approach can maximize the network lifetime and reduce the energy consumption. An important attribute of WSNs is their limited power supply, and therefore some metrics (such as energy consumption of communication among nodes, residual energy, path length) were considered as very important criteria while designing routing in the MRP. Firstly, a cluster head (CH) is selected among nodes located in the event area according to some parameters, such as residual energy. Secondly, an improved ACO algorithm is applied in the search for multiple paths between the CH and sink node. Finally, the CH dynamically chooses a route to transmit data with a probability that depends on many path metrics, such as energy consumption. The simulation results show that MRP can prolong the network lifetime, as well as balance of energy consumption among nodes and reduce the average energy consumption effectively.

Keywords:

wireless sensor networks (WSNs); clustering; multipath; ant colony optimization (ACO)## 1. Introduction

The wireless sensor networks (WSNs) technology have been widely applied in military, industry, agriculture and many other areas [1,2]. In the WSNs, a lot of nodes operate on limited batteries, making energy resources the major bottleneck. Therefore, an economical and frugal management of energy is essential for improving energy efficiency. Because energy consumption due to communication is the major part of the energy consumption in WSNs [3], a high performance routing protocol is often a key requirement in WSNs systems. The design of routing protocols in WSNs is very challenging due to their inherent characteristics of large scale, no global identification, dynamic topology, and very limited power, memory, and computational capacities for each sensor. Currently, many energy-efficient routing algorithms have been studied with the aim of saving energy [4–6].

The existing routing protocols in WSNs can be categorized into flat routing protocols and hierarchical routing protocols, or single-path routing protocols and multipath routing protocols [7]. Recent research on WSNs routing protocols has proven that clustering and multipath are needed to improve energy efficiency and load balancing.

When designing multipath routing algorithms, many parameters (e.g., path length and energy consumption of communication) also need be considered. The optimization of network parameters for WSNs routing processes might be considered as a combinatorial optimization problem. Our proposed approach benefits from the success of ant colony optimization (ACO) [8] in solving the problem. The ACO algorithm is a heuristic algorithm introduced by Dorigo and his collaborators for solving some combinatorial optimization problems [9], such as traveling salesman problem (TSP) [10]. The ACO algorithm has some characteristics, such as distributed computing, self organization and positive feedback, suited for searching routing in modern communication networks.

However, few of the existing works have considered the integration of clustering, multipath and ACO to maximize the network lifetime and achieve load balancing in WSNs. Motivated by the advantages of clustering, multipath and ACO, this paper proposes a multipath routing protocol (MRP) based on dynamic clustering and ACO for reactive WSNs. The main objective of our work is to maximize network lifetime and at the same time achieve load balancing. The main contributions of this paper are listed:

- A novel distributed algorithm based on some parameters (such as signal strength, residual energy of node) is designed to form clusters among the nodes located in the event area.
- An extended ACO algorithm based on many metrics (such as residual energy, path length, energy consumption of communication) is applied to search for the multiple paths between the cluster head (CH) and sink node.
- A load balancing function is further proposed to distribute the traffic over discovered multiple paths.

The rest of this paper is organized as follows. Section 2 introduces some related routing algorithms. In section 3 we propose the system model and the motivation of our work. The details of the MRP algorithm are described in section 4. The performance evaluation of our scheme as well as a comparison with the previous typical routing algorithms is presented in section 5. Section 6 draws the conclusions.

## 2. Related Work

WSNs are a kind of decentralized network of autonomous nodes that collect and process information, and send the information to a sink node over wireless links. Limited energy nodes are not taken into account in the traditional routing protocols, which has significant impact on the overall energy dissipation. Therefore, new routing protocols need be designed for WSNs.

#### 2.1. Hierarchical Routing

Hierarchical (clustering) technology is particularly promising and has received much attention in the research community. In a hierarchical network, the data gathered by sensor nodes is transmitted to CHs. The sensed data from nodes within one cluster usually exhibit high correlation, and therefore, a CH can aggregate data to remove redundancy and only send one packet to the sink.

In the last few years, many hierarchical routing algorithms are proposed for WSNs. One pioneering work in the literature is LEACH (Low-Energy Adaptive Clustering Hierarchy) [11]. LEACH is an application-specific data dissemination protocol that uses clustering to prolong the network lifetime. However, the assumption that all nodes are capable of communicating with any node in the field does not allow the network to be scalable, and LEACH does not guarantee good distribution of CHs. To improve LEACH performance, Lindsey et al. introduced chain into clustering (power-efficient gathering in sensor information systems, PEGASIS) [12]. In this work, all nodes are connected in a chain and communicate only with the nearest neighbor. Nodes take turns to be the CH and send aggregation data to the sink. Although PEGASIS outperforms LEACH in network lifetime, it assumes that all nodes have a global knowledge of the network. Thus, PEGASIS may not be efficient with closely deployed nodes in a specific area. In [13], the authors designed an ant-based algorithm (T-ANT) to cluster and achieved a uniform distribution of CHs in the network.

#### 2.2. Multipath Routing

Multipath routing uses multiple paths to transmit data, which can achieve both load balancing and fault tolerance. There are two different multipath routings between the source node and the sink node. One is disjoint multipath routing [14], where the alternative paths do not intersect with each other. The other is braided multipath routing, where there are typically no completely disjoint paths [15–16].

In [14], Ganesan et al. presented a disjoint multipath routing based on local information, which is a distributed algorithm and can achieve load balancing. This algorithm uses a primary route to transmit data. Only when the primary route fails, the alternative route can be used. However, this algorithm is not attractive for the network lifetime.

In [15], a meshed multipath routing with efficient strategy has been described. Such an algorithm can achieve a better throughput than the traditional multipath algorithms. However, this approach requires nodes to be equipped with GPS (Global Positioning System), which increases the cost of the node.

In [16], Okdem et al. introduced a multipath routing algorithm based on Ant Colony Optimization (ACO), which uses a class of agent-like ants to develop multiple reliable routes between the source and sink. It is very effective in dealing with the failure of links and searching for the routes. Due to the large number of nodes, the number of ants is quite large so that it may lead to much higher traffic in the network than other algorithms.

#### 2.3. Ant Routing

As an effective distributed approach, the ACO algorithms have been introduced to the design of routing protocol and have received many achievements [17–25].

The ACO algorithm was first used in traditional networks [17]. ARA [18] was the first algorithm used in mobile ad hoc networks (MANETs), which exploits the pheromone laying behavior of ants to search for routing. The above two algorithms are however not suitable for WSNs. In [19], Liu et al. used an improved ACO algorithm (PACO) to search for multipaths between source nodes and the sink node in MANETs. Although the PACO improves the efficiency of data transmission, the number of ants required to search for routing is great, resulting in great energy consumption at the start-up stage. Moreover, the PACO only uses the length of path as metric without considering the current energy of nodes: these discovered paths may contain the low energy nodes, which will shorten the working time of the paths.

Recently, routing protocols based on ACO for WSNs have been the focus of many studies [20–25]. In [20], Zhang et al. studied three distinct Ant-based algorithms for WSNs. However, the algorithms only focus on the building of an initial pheromone distribution, and thus, the algorithms are only good at system start-up phase. In [21], Camilo et al. presented a new WSNs routing algorithm based on ACO, which can minimize communication load and save energy. Nevertheless, the algorithm does not consider the feature of data correlation, the energy consumption of communication is huge when a lot of sources exist in the network. In [22], Liu et al. introduced a routing strategy on the basis of ant algorithm for WSNs, using deflection angle, energy and distance as routing factors to help the ant to search for routing. The convergence rate of the algorithm is good. However, the algorithm did not utilize the redundancy of data, and thus the algorithm has the same disadvantage as [21]. A reinforcement learning scheme is proposed in [23], which reduces the energy consumption and shortens the time delay. The algorithm, however, only uses the distance as metric, so it cannot protect the minimum energy node, and therefore, it may shorten the network lifetime. In [24], Tu et al. constructed a chain by means of an ant colony algorithm that connects all the nodes in the networks. Although the algorithm can find suboptimal routing for mobile agents, the time delay of the algorithm is long, and the cost of reconstructing routing is also high. In [25], Ren et al. proposed a multipath routing based on ant colony system, which extends the network lifetime. Although the algorithm balances the energy consumption among nodes by multipath, it does not take into consideration the influence of the minimum energy node on multiple paths. In [26], Okdem et al. presented an ACO-based multipath routing, which provides good energy efficiency. However, the algorithm belongs to a kind of flat routing, therefore, its scalability is not good.

Although these algorithms presented above have some advantages, there still exist some shortcomings that prevent their application in large scale WSNs. To overcome the disadvantages of conventional ant-based routing algorithms, we propose an improved protocol by integrating the advantages of hierarchical routing, multipath routing and ACO.

## 3. System Model and Problem Statement

#### 3.1. System Model

#### Network Model

A WSN consists of a large number of sensors, and wireless links representing direct communication between the sensors within the radio range. A WSN is modeled as an undirected graph G(V,E,W), where V = {v

_{1}, v_{2},…,v_{n}} is the set of all the nodes. Each v_{n}has its maximum communication radio range with radius R. E is the set of all bidirectional wireless links (i, j) (i, j ∈ V). A link (i,j), denoted by e(i, j) ∈ E, exists between v_{i}and v_{j}if d(v_{i},v_{j}) ≤ R. It indicates that node v_{i}and node v_{j}can directly communicate with each other. d(v_{i},v_{j}) is the distance between node v_{i}and node v_{j}. W is the weight set of all directed links (i,j). The weight e_{ij}of link (i,j) is the energy consumption of communication between i and j. Let S_{e}= {v_{1},v_{2},…,v_{l}} be the set of all nodes in the event area. Note that S_{e}is the subset of V (S_{e}⊆V). Let N_{i}denote the set of neighbors of node i and N_{i}= {j|d_{ij}≤R, j ∈ V}.In this paper, the following assumptions are adopted:

- N sensor nodes are uniformly distributed within a square field. Each sensor nodes has a unique ID. Sensor nodes in the event area are grouped into clusters.
- All sensor nodes keep static or less movement after being deployed.
- The energy of the sensor nodes cannot be recharged.
- Sensor nodes are location-unaware, i.e., a sensor node need not rely on the expensive devices, such as Global Positioning System (GPS), to receive the position information for finding the shortest path routing to the sink.
- Communication is symmetric. Nodes can estimate distance based on the signal strength of each other, and at the same time the radio power can be controlled.
- We assume ideal MAC layer conditions, that is, perfect transmission of data on a node-to-node link.

#### Radio Model

In order to evaluate the energy dissipation between node i and node j, we use the radio model used in [11,27]. The energy costs of transmitting and receiving a k bit data packet between node i and node j with distance d are denoted by E
where E

_{T}(i,j) and E_{R}(i,j) which may be computed by:
$${E}_{T}(i,j)=k({E}_{\mathit{elec}}+{E}_{\mathit{amp}}\times {d}^{\gamma})$$

$${E}_{R}(i,j)=k{E}_{\mathit{elec}}$$

_{elec}and E_{amp}are the energy dissipation of per bit for transmitter or receiver, and the transmit amplifier, respectively; γ ∈ {2, 4} can be seen as the path loss exponent.#### 3.2. Problem Statement

The MRP algorithm uses the ACO algorithm to search for multiple paths after cluster formation. The process of ants moving will result in multiple paths forming between CH and sink. After multiple paths are formed, data will be transferred along the multiple paths. The model of data transmission in MRP is shown in Figure 1.

From Figure 1, we conclude that MRP can maximize the network lifetime in two ways. One is to reduce the transmitted data by clustering, which can use data aggregation to reduce energy consumption. The other is to use multiple paths to achieve load balancing (i.e., it can avoid frequently using the path in which the minimum energy node is located).

Based on the above introduction, we can describe the objective of MRP as follows: maximizing the network lifetime (T

_{net}), while minimizing the energy consumption between the CH and sink, which can be formulated as follows:
$$\text{max}\hspace{0.17em}{T}_{\mathit{net}},\text{min}\sum _{[i,j\in V,(i,j)\in E]}{e}_{\mathit{ij}}$$

Theorem 1: Network lifetime is associated with residual energy of node, the energy consumption and the number of hops in path p.

In order to prove the theorem, we use a simplified model of energy consumption, in which energy consumption is the same in each node.

Prove: N is the set of discovered paths between the CH and sink. The energy consumption of path p (p ∈ N) is the sum of the energy expended at each sensor node along the path. If (n
where E

_{1},n_{2},…,n_{m}) denotes the sequence of nodes along path p, the total energy consumption E(p) is given by
$$E(p)=\sum _{k=1}^{m-1}({E}_{r}+{E}_{\mathit{cpu}}+{E}_{t})=({E}_{r}+{E}_{\mathit{cpu}}+{E}_{t})\times (m-1)$$

_{r}and E_{t}represent the energy consumption of receiving or transmitting L-bit data, respectively. E_{cpu}is the energy consumption used in these jobs, such as computation, sensing events, etc.From [3], we have

$${E}_{\mathit{cpu}}<<{E}_{t}+{E}_{r}$$

Therefore, we have

$$E(p)=({E}_{t}+{E}_{r})\times (m-1)$$

In (6), because the value of (m−1) is equal to the number of hops between the CH and sink, we have
where h

$$E(p)=({E}_{r}+{E}_{t})\times {h}_{\mathit{CH}}(p)$$

_{CH}(p) is the number of hops in path p. Thus, E_{r}+ E_{t}can be given by
$${E}_{r}+{E}_{t}=E(p)/{h}_{\mathit{CH}}(p)$$

Since the working time T(p) of path p is partly determined by the minimum energy node in path p, T(p) is given by
where E

$$T(p)={E}_{\text{min}}(p)/({E}_{r}+{E}_{t})$$

_{min}(p) is the current energy of the minimum energy node in path p.Using (8) and (9), we have

$$T(p)={E}_{\text{min}}(p)\times {h}_{\mathit{CH}}(p)/E(p)$$

We define the network lifetime T

_{net}as the time when the first node in the network runs out of energy. Then, T_{net}is given by
$${T}_{\mathit{net}}=\underset{p\in N}{\text{min}}T(p)=\underset{p\in N}{\text{min}}{E}_{\text{min}}(p)\times {h}_{\mathit{CH}}(p)/E(p)$$

Therefore, T

_{net}is associated with the residual energy of the minimum energy node, energy consumption in a path and hop distance to sink.According to (3) and (11) it is obvious that maximizing the network lifetime T

_{net}is equivalent to maximizing the minimum T(p). We have
$$\text{maximize}\hspace{0.17em}\underset{p\in N}{\text{min}}T(p)$$

From (12), we infer that MRP needs to prolong working time of the minimum energy node and reduce the energy consumption in a path in order to maximize the network lifetime.

## 4. Description of MRP

MRP is divided into three phases: cluster formation, multipath construction and data transmission. The first phase is executed when an event happens. Its objective is to realize dynamic clustering. In the second phase, the CH use ACO to search for multiple paths. The last phase dynamically chooses one path to transmit data according to an evaluation function.

To start the operation of the routing scheme, nodes having information for the sink initialize the routing task by transmitting an ADV message to neighbor nodes. Each node then broadcasts the ADV message to its neighbor nodes, and so on. At the end of the initiation stage of the network, each node constructs a table containing neighbor information, as shown in Table 1.

The information in Table 1 will be used to help an ant search for routing. ID indicates the identification number of a node. τ

_{ci}is the pheromone value on link (c,i), which represents the local link situation and quality. At the beginning, the pheromone in the network is a constant; then, it varies with ant routing. D_{is}is the distance between node i and sink, and it may be estimated by the received signal strength (RSS) [28]. Hop count is the number of hops from a node to sink. Tag indicates the instance of being visited by an ant. Tag = 1 indicates that the current node has been visited by an ant, otherwise, Tag = 0.#### 4.1. Phase I: Cluster Formation

The conventional hierarchical routing algorithms [11,12,27] do not fit for monitoring burst events in reactive WSNs. For example, though there is no event happening, each node will still have to flood control packets to periodically reconstruct clusters. Clustering is not related to an event, i.e., nodes sensing the event locate in different clusters, which will reduce the data aggregation efficiency. If the clusters are reconstructed, an event may happen, and result in the event not being detected.

In order to overcome the disadvantages [11,12,27], MRP adopts a dynamic clustering algorithm, i.e., nodes having information about an event taking place nearby will join clustering. The clustering algorithm obeys the rules as follows:

- Nodes located in the event area can sense the distance to the event according to RSS.
- Nodes know the residual energy of neighbor nodes in the event area.
- If RSS
_{i}≥ Threshold Value [29], node i locates in the event area. (RSS_{i}is the received signal strength of node i)

Theorem 2: When a CH locates in the center of the event area, the sum of energy consumption for transmitting data is the least in the cluster.

Prove: There is m nodes distributed in a cluster. Node i locates the center of the event area with coordinate (0, 0). From equation (1), energy consumption of communication between nodes is directly proportional to d
where D

^{γ}. Typically, we consider γ to be 2. We have
$${D}_{i}=\sum _{k=1,k\ne i}^{m}({x}_{k}^{2}+{y}_{k}^{2})$$

_{i}is the sum of square distance between node i and other nodes in the same cluster. (Node i is the CH.)If node j is selected as the CH with coordinate (x

_{j}, y_{j}), we have
$${D}_{j}=\sum _{k=1,k\ne j}^{m}{({x}_{k}-{x}_{j})}^{2}+{({y}_{k}-{y}_{j})}^{2}$$

We calculate the expectation of (13), (14), respectively, as follows

$$E({D}_{i})=E(\sum _{k=1,k\ne i}^{m}({x}_{k}^{2}+{y}_{k}^{2}))$$

$$E({D}_{j})=E(\sum _{k=1,k\ne j}^{m}{({x}_{k}-{x}_{j})}^{2}+{({y}_{k}-{y}_{j})}^{2})$$

According to (15), (16), we have
where x and y are the coordinates of a generic node. From (18), we have

$$E({D}_{i})=E[({x}_{j}^{2}+{y}_{j}^{2})+\sum _{k=1,k\ne \{i,j\}}^{m}({x}_{k}^{2}+{y}_{k}^{2})]=E({x}_{j}^{2}+{y}_{j}^{2})+(m-2)\times E({x}^{2}+{y}^{2})$$

$$E({D}_{j})=E[({x}_{j}^{2}+{y}_{j}^{2})+\sum _{k=1,k\ne \{i,j\}}^{m}{({x}_{k}-{x}_{j})}^{2}+{({y}_{k}-{y}_{j})}^{2}]$$

$$\begin{array}{l}E({D}_{j})=E[({x}_{j}^{2}+{y}_{j}^{2})]+E[\sum _{k=1,k\ne \{i,j\}}^{m}{({x}_{k}-{x}_{j})}^{2}+{({y}_{k}-{y}_{j})}^{2}]\\ =E[({x}_{j}^{2}+{y}_{j}^{2})]+(m-2)\times C(x,y)\end{array}$$

C(x,y) is given by
where E(x) = 0, E(y) = 0.

$$\begin{array}{l}C(x,y)=E({({x}_{k}-{x}_{j})}^{2}+{({y}_{k}-{y}_{j})}^{2})=E({x}_{k}^{2}+{x}_{j}^{2}-2{x}_{k}{x}_{j}+{y}_{k}^{2}+{y}_{j}^{2}-2{y}_{k}{y}_{j})\\ =2(E({x}^{2})+E({y}^{2}))-2{E}^{2}(x)-2{E}^{2}(y)\end{array}$$

From (19), (20), we have

$$\begin{array}{l}E({D}_{j})=E[({x}_{j}^{2}+{y}_{j}^{2})+2\sum _{k=1,k\ne \{i,j\}}^{m}{({x}_{k})}^{2}+{({y}_{k})}^{2}]\\ =E({x}_{j}^{2}+{y}_{j}^{2})+2(m-2)\times E({x}^{2}+{y}^{2})\end{array}$$

From (17), (21), we have

$$E({D}_{i})<E({D}_{j}),\text{if}2m$$

According to the radio model described above, we can infer that the energy consumption is associated with radio distance, i.e., the shorter the radio distance, the smaller of energy consumption would be. Considering (22), we can draw a conclusion that the CH located in the center of event area consumes the least energy for transmitting data.

In order to prolong the network lifetime, we can describe the goal of clustering: maximizing the working time of the cluster, while minimizing the energy consumption in the cluster, which can be formulated as follows:
where T

$$\text{max}\hspace{0.17em}{T}_{C},\text{min}\sum _{(i,j\in \mathit{Se})}{E}_{\mathit{Se}}$$

_{C}is the working time of a cluster. E_{Se}is the sum of energy consumption in a cluster.Since the CH takes on a lot of work in a cluster, the residual energy need be considered when selecting a CH. Based on Theorem 2 and (23), a node with the higher residual energy, more neighbors and stronger signal strength (i.e., the node is nearer to the signal center) has more opportunity of becoming a CH in the event area. The objective function for becoming a CH, q
where E

_{i}, is given by
$${q}_{i}={\left({E}_{i}\right)}^{{k}_{1}}\times {\left({K}_{i}\right)}^{{k}_{2}}\times {\left(S{E}_{i}\right)}^{{k}_{3}}$$

_{i}is the residual energy of node i. K_{i}is a temporary set of node i, which is used to store the number of neighbors in the event area. SE_{i}is the sensed signal strength to an event. k_{1}, k_{2}, k_{3}are parameters to control the weights of E_{i}, K_{i}and SE_{i}, respectively.Algorithm 1 represents the pseudo-code of cluster formation. K is a temporary set which is used to store the number of CH advertisement overheard. There are two timers associated with each sensor: T
where q is a coefficient, which is used to control the value of T

_{a}and T_{i}. T_{a}is a wait time, when a node located in the event area records the number of neighbors. It is related to network scale. T_{i}is the waiting time when node i broadcast to be a CH, which is given by
$${T}_{i}=q/{q}_{i}$$

_{i}. T_{i}is inversely proportional to q_{i}, i.e., the waiting time of a node with the highest q_{i}is the shortest.Begin |

1: Schedule each node wait time with T_{a} sec. delay |

2: while (T_{a} ≠ 0) |

3: if Threshold ≤ RSS_{i} then |

4: if node j is in the event area and Threshold ≤ RSS_{j} |

5: K_{i} = K_{i}+1; |

6: end-if |

7: end-if |

8: end-while |

9: if Threshold ≤ RSS_{i} then |

10: node i calculates q_{i} and T_{i}; |

11: if T_{i} ≠ 0 then |

12: wait; |

13: collect the sender of any other incoming CH advertisement in K; |

14: else |

15: if K = 0 then |

16: send CH advertisement message; |

17: else |

18: send a join-request to the node j (q_{j} is the biggest); |

19: end-if |

20: end-if |

21: end-if |

22: broadcast TDMA schedule to members; |

End |

Phase I allows only one CH in the event area.

#### 4.2. Phase II: Constructing Multipath

In MRP, when the CH needs to deliver data to sink, an improved ACO algorithm is used to establish multiple paths with optimal or suboptimal energy consumption.

There are three kinds of ants in MRP: search ant (SANT), backward ant (BANT) and abnormal ant (AANT). A SANT is used to collect information about multiple paths and intermediate nodes as it travel along the path. A BANT is used to update the pheromone value along the reverse path, and bring information of path to source node, such as residual energy of node, path length and energy consumption of the current path. MRP adds a new type of ant: Abnormal ant (AANT), which is used to partly avoid stagnation of the protocol.

The procedure of searching for multiple paths is as follows:

- The CH creates several SANTs to search for sink. The SANTs gather path information as they travel along the paths.
- The sink creates a BANT when a SANT arrives. The BANT is sent back following the reverse path. When a BANT moves, it need to update the pheromone on the link (i,j) at the reverse path.
- When a SANT arrives at an intermediate node, whether or not a AANT is generated according to a small probability.

The following subsections explain the procedure in detail.

#### Search Ant (SANT)

After the cluster formation phase ends, the CH that needs to find several optimal and suboptimal paths to sink sends many SANTs to obtain path information. In order to reduce route discovery time and overheads, the number of SANTs is related to the network scale and the demand of the application.

The format of message brought by a SANT is shown in Figure 2.

The message type field indicates that it is a SANT. The S_ID field denotes the previous node identification. The field D_ID is next node identification. The K field is the number of a SANT. The E

_{min}field gives the minimum energy till the current node. The Ep field gives the sum of energy consumption till the current node. The H field gives the path length so far. The TTL (time-to-live) field gives the depth that a SANT can travel (When a SANT is forwarded, the value of TTL is decreased. That is to say, if TTL reaches zero before the SANT arrives at sink, the SANT message is discarded.).In order to balance load among nodes and maximize the network lifetime, we modify those equations of the basic ACO as follows:
where P
where k

$${P}_{ij}(t)=\{\begin{array}{ll}\frac{{\tau}_{\mathit{ij}}^{\alpha}(t)\times {\eta}_{\mathit{ij}}^{\beta}(t)}{\sum _{K}{\tau}_{\mathit{ij}}^{\alpha}(t)\times {\eta}_{\mathit{ij}}^{\beta}(t)},\hfill & \forall j\in {N}_{i}\u200a\mathit{and}\u200aj\notin {M}^{K}\hfill \\ 0,\hfill & \mathit{otherwise}\hfill \end{array}$$

_{ij}(t) is the probability of selecting the next hop node j of the current node i. η_{ij}denotes the local heuristic value of the link (i,j), and τ_{ij}is the pheromone value on link (i,j). α and β are two parameters used to control the relative weight of pheromone trail and heuristic value, respectively. M^{k}contains the nodes already visited. In MRP, M^{k}is kept in the node’s memory instead of keeping in a SANT’s memory. This approach can decrease the size of the data to be transmitted and save energy. η_{ij}can be given by
$${\eta}_{\mathit{ij}}=\{\begin{array}{ll}{\eta}_{\text{max}}\hfill & ({\mu}_{\mathit{ij}}>{\mu}_{\text{max}})\hfill \\ {\mu}_{\mathit{ij}}\hfill & ({\mu}_{\text{min}}\le {\mu}_{\mathit{ij}}\le {\mu}_{\text{max}})\hfill \\ {\eta}_{\text{min}}\hfill & ({\mu}_{\mathit{ij}}<{\mu}_{\text{min}})\hfill \end{array}$$

$${\mu}_{\mathit{ij}}=\frac{{({E}_{j})}^{{k}_{4}}}{{({d}_{\mathit{ij}})}^{{k}_{5}}}+{\theta}_{\mathit{ij}}$$

$${\theta}_{\mathit{ij}}=\{\begin{array}{ll}\frac{{({E}_{j})}^{{k}_{4}}}{{({d}_{\mathit{ij}})}^{{k}_{5}}}\times {(\frac{{d}_{\mathit{is}}}{{d}_{\mathit{js}}})}^{{k}_{6}}\hfill & ({h}_{j}\le {h}_{i})\hfill \\ 0\hfill & \mathit{otherwise}\hfill \end{array}$$

_{4}, k_{5}, k_{6}are three parameters, which are used to control the impacts of E_{j}, d_{ij}, θ_{ij}on μ_{ij}, respectively. η_{min}and η_{max}are predetermined parameters.Equation (30) and (31) are used to update the pheromone value at link (i,j).
where ρ is the evaporation factor, which serves to diminish the intensity of existing trail over time. λ is a coefficient. d

$${\tau}_{\mathit{ij}}(t,t+1)=(1-\rho )\times {\tau}_{\mathit{ij}}(t)+\rho \times \mathrm{\Delta}{\tau}_{\mathit{ij}}^{k}(t,t+1)$$

$$\mathrm{\Delta}{\tau}_{\mathit{ij}}^{k}(t,t+1)=\lambda \times \left({E}_{i}+{E}_{j}\right)/{d}_{\mathit{ij}}^{2}$$

_{ij}is the distance between node i and node j. E_{i}is the residual energy of node i.Algorithm 2 represents the basic operations of a SANT. RAND(x) is a function to generate a random number uniformly distributed between 0 and x.

Begin |

1: if TTL<>0 then |

2: if a SANT arrives at sink then |

3: create and release a new BANT; |

4: else |

5: if RAND (x)<0.001 then |

6: create a AANT; |

7: the AANT randomly chooses a node as the next hop node; |

8: else |

9: choose the next hop node j according to (26)–(29); |

10: refresh the residual energy of i and j; |

11: if selected node visited then |

12: back to the previous hop node; |

13: re-elect another node as the next hop node; |

14: end-if |

15: using (30), (31) to refresh pheromone value of link (i,j); |

16: end-if |

17 end-if |

18 end-if |

End |

#### Backward ant (BANT)

When a BANT is back along the reverse path passed by a SANT, the BANT also needs to update the pheromone value on link (i,j) (Equation (30) and (32) are used to calculate and update the pheromone value.).

$$\mathrm{\Delta}{\tau}_{\mathit{ij}}^{k}(t,t+1)=c\times \frac{f(t+1)-{f}_{\mathit{best}}({t}^{*})}{{f}_{\mathit{best}}({t}^{*})}+{c}_{1}\times f(t+1)$$

According to (12), we have
where f(t) is the evaluation function on the current path. f

$$f(t)={c}_{0}\frac{{f}_{1}{}^{{k}_{7}}(t)}{{f}_{2}{}^{{k}_{8}}(t){f}_{3}{}^{{k}_{9}}(t)}$$

$${f}_{1}(t)=\underset{i\in {(\mathrm{n}}_{1}{,\mathrm{n}}_{2},\cdot \cdot \cdot {,\mathrm{n}}_{\mathrm{m}})}{\text{min}}\left({E}_{i}\right)$$

$${f}_{2}(t)=\sum _{(i,j)\subset p}{E}_{\mathit{ij}}$$

$${f}_{3}(t)=\sum _{(i,j)\subset p}(i,j)$$

$${f}_{\mathit{best}}({t}^{*})=\text{max}[f(t)],{t}^{*}=1,\cdot \cdot \cdot ,t$$

_{1}(t) is the minimum energy node in path p. f_{2}(t) is the sum of energy consumption in path p. f_{3}(t) is the length of path p. f_{best}(t^{*}) is the optimal solution so far. (n_{1}, n_{2}, …, n_{m}) denotes the sequence of nodes along path p. c, c_{1}and c_{0}are coefficients, which can be used to control the value of (32) and (33), respectively. k_{7}, k_{8}and k_{9}are weights that determine the relative importance of f_{1}(t), f_{2}(t) and f_{3}(t), respectively.In (32), a scheme of negative feedback is introduced into realizing reward or punishment to the current result. The scheme is helpful of fairness among found multiple paths.

The format of message brought by a BANT is shown in Figure 3.

The Message Type field indicates that it is a BANT. The Length field is the path length from sink to the current node. The meaning of other fields is same as that of message brought by a SANT.

Algorithm 3 denotes the basic operations of a BANT.

Begin |

1: if sink is reached then |

2: a new BANT is generated; |

3: while the CH is not reached |

4: the BANT moves along the reverse path; |

5: the BANT using (30), (32) to update pheromone value of link (i,j); |

6: ${f}_{\mathit{best}}({t}^{*})=\{\begin{array}{ll}f(t)\hfill & \mathit{if}\hspace{0.17em}f(t)>{f}_{\mathit{best}}({t}^{*})\hfill \\ f({t}^{*})\hfill & \text{otherwise}\hfill \end{array};$ |

7: calculate E_{min}, E_{p} and Length; |

8: update the residual energy of i and j; |

9: end-while |

10: end-if |

End |

#### 4.3. Phase III: Data Transmission

MRP is different to these algorithms in [14] because the CH in MRP dynamically chooses one path to transmit data. According to (12), a load balancing function of path i is given by
where k
where N is the set of discovered paths.

$${f}_{i}={\left({E}_{\text{min}}(i)\right)}^{{k}_{10}}+1/{\left(E(i)\right)}^{{k}_{11}}+1/{\left(\mathit{Lengt}{h}_{i}\right)}^{{k}_{12}}$$

_{10}, k_{11}, k_{12}are weight values, k_{10}+ k_{11}+ k_{12}= 1. E_{min}(i) is the residual energy of the minimum energy node in path i. E(i) is the sum of energy consumption in path i. Length_{i}is the length of path i, which can be used to estimate the delay of a path.
$${P}_{i}={f}_{i}/\sum _{\mathrm{j}=1}^{N}{f}_{j};(\mathrm{i}=1,\cdot \cdot \cdot ,N)$$

$$\sum _{i=1}^{N}{P}_{i}=1$$

The CH uses (38)–(40) to calculate the probability and transmit data along the selected path. Since the path is dynamically chosen, load balancing among the paths is achieved.

#### 4.4. Route Maintenance

In MRP, route maintenance is responsible for the maintenance of the routes during the communication. The process of route maintenance will be initiated when there comes out these conditions as follows:

- When the residual energy of the current CH is lower than 50% the average energy of all nodes in the cluster, a new CH will be selected according to (24). If there are more than two paths to sink, the new CH will send the packets via these paths. Otherwise, the new CH will initiate a new route discovery process.
- When the number of multiple paths is less than two, that means the reliability of path decreased seriously. The current CH will initiate a new route discovery process.

## 5. Performance Evaluation

Various performance metrics are used for comparing different routing strategies in WSNs. We have used the following:

- Average Energy: The metric gives the average of energy of all nodes at the end of simulation.
- Energy consumption: The metric gives the energy consumption of nodes in the event area for transmitting a data packet to sink.
- The standard deviation of energy: The metric gives the average variance between energy levels on all nodes.
- Network lifetime: This metric gives the time of the first node running out of its energy.

By using a simulator developed by MATLAB, the proposed scheme was compared with the TEEN [29] dynamic clustering algorithm and the other two kinds of multipath algorithms in [14] (MP) and [25] (MACS), respectively.

We evaluated these four algorithms over a set of sensor networks with the number of nodes ranging from 100 to 500. For the same number of nodes, we randomly generated ten network topologies and ran these algorithms over them to obtain the average results. In each network, the sensor nodes are randomly distributed on a M × M region with M = 200 m. For radio power consumption setting, we adopt the first-order model [11] and set E

_{elec}= 50 nJ/bit, E_{amp}= 10 pJ/bit/m^{2}. The energy for data aggregation is set to EDA = 5 nJ/bit. The parameters (k_{1}, k_{2}, k_{3}, k_{4}, k_{5}, k_{6}, k_{7}, k_{8}, k_{9}, k_{10}, k_{11}, k_{12}) are set to (0.5, 0.1, 0.4, 2, 1, 1, 0.4, 0.2, 0.4, 0.5, 0.3, 0.2).Table 2 lists the other simulation settings. τ

_{ini}(i, j) is the initial pheromone value at a link (i, j).
$$k=\{\begin{array}{l}0.01,\text{if}\text{node}i\text{and}\text{node}j\text{are}\text{neighbors}\\ 0\text{otherwise}\end{array}.$$

We designed two scenarios to compare the performance of the different algorithms. The first scenario (Figure 4) simulates a homogeneous WSN, where the sensor nodes were randomly deployed with the same initial energy. The initial energy of each node is 2 joules. The second scenario (Figure 5) simulates a heterogeneous WSN where the network is composed of many nodes with different initial energy. The energy level changes between 1 joule and 2 joules, which are uniformly distributed over the nodes.

Figure 4 presents the results of the simulation for the studied metrics to different network scale in scenario one. It can be seen that MRP performed better than the other algorithms.

In Figure 4a, the average energy of the MRP is higher than the other algorithms. This indicates that there exists more residual energy of the nodes in MRP, which implied MRP needs less energy for transmitting data.

Figure 4b shows a linear increase of energy consumption as the network becomes denser, as more sensor nodes become involved for all the algorithms. This brings more traffic into the network. It is obvious that MRP and MP consume less energy than the others. However, MRP outperforms the MP algorithm. Although TEEN also belongs to a dynamically clustering algorithm, the structure of cluster in TEEN is not related to the event area. Therefore, the energy consumption of TEEN is higher than that of MRP. MACS is one of the most costly algorithms, because it fails to take advantage of the data correlation and clustering to remove the redundant information among neighboring nodes. Although MP is also a flat routing algorithm, the energy consumption of MP is less than that of TEEN and MACS. The reason is that the primary route in MP is formed according to some metrics, such as low energy consumption. Therefore, the energy consumption of MP is low when source nodes always use the primary route to transmit data.

In Figure 4c, when compared with the other algorithms, MRP presents a significant reduction in the standard deviation. It indicates that MRP can efficiently balance the energy consumption on all nodes.

Figure 4d shows the network lifetime for the four algorithms. It is evident that the network lifetime of MRP is almost twice of that obtained by the other algorithms. The network size influences MRP the least. The reason is that clustering and dynamically choosing one path to transmit data can greatly contribute to reducing energy consumption and achieving load balancing among all nodes. TEEN outperforms MACS because it can use clustering to transmit data.

Among of the four algorithms, the performance of MP is the worst. The reason is that MP always uses the primary path to transmit data, which results in energy of the nodes in the primary route becoming depleted very soon.

The results illustrated in Figure 5 correspond to the second scenario. From Figure 5, we can see that the results are very similar to those of the first scenario. Although the initial energy of nodes is randomly distributed, MRP still presents the best results. That can be explained by the adaptability of the protocol, which can efficiently balance the energy consumption among nodes by dynamic clustering and using multiple paths to transmit data. The simulation results also illuminate that MRP is suitable for either the homogeneous network or the heterogeneous network.

## 6. Conclusion

For monitoring the burst events in WSNs, we have proposed a novel multipath routing protocol based on clustering and ACO. By introducing an objective function to carry out dynamic clustering, MRP improves the efficiency of data aggregation, thus, reducing the energy consumption. We also use an improved ACO algorithm to search for the optimal and suboptimal paths based on many metrics, which can balance the energy consumption among nodes. Furthermore, a load balancing function is presented for dynamically choosing one path to transmit data. Performance evaluation shows that MRP achieves better load balancing and lower energy consumption, and then, maximizes the network lifetime.

As explained before, MRP has some parameters that need be set. The values of these parameters have a great impact on the performance of the algorithm. For future research, we plan on making the algorithm compatible with different networks by adaptively adjusting the value of these parameters. Furthermore, we intend to extend the algorithm to monitor the object with an appropriate speed.

## Acknowledgments

This work was supported by the National High-Tech Research and Development Plan of China under Grant No. 2007AA10Z241 and 2006AA10A301; the National Natural Science Foundation of China under Grant No. 60864003. We would like to thank the anonymous reviewers for their perspicacious comments.

## References and Notes

- Hsieh, T.T. Using Sensor Networks for Highway and Traffic Applications. IEEE Potentials
**2004**, 3, 13–16. [Google Scholar] - Ren, F.; Huang, H.; Lin, C. Wireless Sensor Networks. J. Softw
**2003**, 14, 1282–1291. [Google Scholar] - Estrin, D. Wireless Sensor Networks Tutorial Part IV: Sensor Network Protocols. Proceedings of the 8th Annual International Conference on Mobile Computing and Networking (Mobicom 2002), Atlanta, GA, USA; 2002; pp. 23–28. [Google Scholar]
- Liu, M.; Cao, J.; Chen, G.; Wang, X. An Energy-Aware Routing Protocol in Wireless Sensor Networks. Sensors
**2009**, 9, 445–462. [Google Scholar] - Schurgers, C.; Srivastava, M.B. Energy Efficient Routing in Wireless Sensor Networks. Proceedings of IEEE MILCOM, Vienna, VA, USA; 2001; pp. 357–361. [Google Scholar]
- Kalantari, M.; Shayman, M. Energy Efficient Routing in Wireless Sensor Networks. Proceedings of Conference on Information Sciences and System, Princeton, NJ, USA; 2004. [Google Scholar]
- Sun, L.; Li, J.; Chen, Y.; Zhu, H. Wireless Sensor Networks, 1st ed; Tsinghua Univ. Press: Beijing, China, 2005; pp. 28–49. [Google Scholar]
- Bonabeau, E.; Dorigo, M.; Theraulaz, G. Inspiration for Optimization from Social Insect Behavior. Nature
**2000**, 406, 39–42. [Google Scholar] - Dorigo, M.; Stützle, T. Ant Colony Optimization, 1st ed.; MIT Press: Cambridge, MA, USA, 2004; pp. 1–319. [Google Scholar]
- Dorigo, M.; Gambardella, L.M. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. IEEE Trans. Evol. Comput
**1997**, 1, 53–66. [Google Scholar] - Heinzelman, W.R.; Chandrakasan, A.; Balakrishnan, H. Energy-efficient Communication Protocol for Wireless Microsensor Networks. Proceedings of the 33rd Hawaii International Conference on System Sciences, Maui, HI, USA; 2000; pp. 1–10. [Google Scholar]
- Lindsey, S.; Raghavendre, C. PEGASIS: Power-efficient Gathering in Sensor Information Systems. Proceedings of IEEE Aerospace Conference, Big Sky, MT, USA; 2002; pp. 1125–1130. [Google Scholar]
- Selvakennedy, S.; Sinnappan, S.; Shang, Y. Data Dissemination Based on Ant Swarms for Wireless Sensor Networks. Proceedings of IEEE Consumer Communications and Networking Conference (CCNC 2006), Las Vegas, NV, USA; 2006; pp. 132–136. [Google Scholar]
- Ganesan, D.; Govindan, R.; Shenker, S.; Estrin, D. Highly-resilient, Energy-Efficient Multipath Routing in Wireless Sensor Networks. ACM Mob. Comput. Commun. Rev. (MC2R)
**2001**, 5, 11–25. [Google Scholar] - De, S.; Qiao, C.; Wu, H. Meshed Multipath Routing with Selective Forwarding: An Efficient Strategy in Wireless Sensor Networks. Wirel. Sensor Netw
**2003**, 43, 481–497. [Google Scholar] - Okdem, S.; Karaboga, D. Routing in Wireless Sensor Networks Using Ant Colony Optimization. Proceedings of the 1st NASE/ESA Conference on Adaptive Hardware and System-AHS, Istanbul, Turkey; 2006; pp. 401–404. [Google Scholar]
- Caro, G.D.; Dorigo, M. AntNet: Distributed Stigmergetic Control for Communications Networks. J. Artif. Intell. Res
**1998**, 9, 317–365. [Google Scholar] - Günes, M.; Sorges, U.; Bouazizi, I. ARA-the Ant-Colony Based Routing Algorithm for MANETs. Proceedings of International Workshop on AD Hoc Networking (WAHN 2002), Vancouver, BC, Canada; 2002; pp. 79–85. [Google Scholar]
- Liu, C.; Li, L.; Xiang, Y. Research of Multi-Path Routing Protocol Based on Parallel Ant Colony Algorithm Optimization in Mobile Ad Hoc Networks. Proceedings of International Conference on Information Technology: New Generations (ITNG 2008), Las Vegas, NV, USA; 2008; pp. 1006–1010. [Google Scholar]
- Zhang, Y.; Kuhn, L.; Fromherz, M. Improvements on Ant Routing for Sensor Networks. Proceedings of ANTS 2004-the 4th International Workshop on Ant Colony Optimization and Swarm Intelligence, Brussels, Belgium; 2004; pp. 154–165. [Google Scholar]
- Camilo, T.; Carreto, C.; Silva, J.S.; Boavida, F. An Energy-efficient Ant-Based Routing Algorithm for Wireless Sensor Networks. Proceedings of ANTS 2006-the 5th International Workshop on Ant Colony Optimization and Swarm Intelligence, Brussels, Belgium; 2006; pp. 49–59. [Google Scholar]
- Liu, Y.; Zhu, H.; Xu, K.; Jia, Y. A Routing Strategy Based on Ant Algorithm for WSN. Proceedings of the 3rd International Conference on Natural Computation (ICNC 2007), Haikou, Hainan, China; 2007; pp. 685–689. [Google Scholar]
- GhasmAghaei, R.; Rahman, A.; Gueaieb, W.; Saddik, A.E. Ant Colony-Based Reinforcement Learning Algorithm for Routing in Wireless Sensor Networks. Proceedings of IEEE Instrumentation and Measurement Technology (IMTC 2007), Warsaw, Poland; 2007; pp. 1–6. [Google Scholar]
- Tu, Z.; Wang, Q.; Shen, Y. Optimal Mobile Agent Routing for Data Fusion in Distributed Sensor Networks Using Improved Ant Colony Algorithm. Proceedings of IEEE International Instrumentation and Measurement Technology Conference (I2MTC, 2008), Victoria, BC, Canada; 2008; pp. 155–159. [Google Scholar]
- Ren, X.; Liang, H.; Wang, Y. Multipath Routing Based On Ant Colony System in Wireless Sensor Networks. Proceedings of International Conference on Computer Science and Software Engineering (CSSE 2008), Wuhan, Hubei, China; 2008; pp. 202–205. [Google Scholar]
- Okdem, S.; Karaboga, D. Routing in Wireless Sensor Networks Using An Ant Colony Optimization (ACO) Router Chip. Sensors
**2009**, 9, 909–921. [Google Scholar] - Heinzelman, W.R.; Chandrakasan, A.; Balakrishnan, H. An Application-Specific Protocol Architecture for Wireless Micro-Sensor Networks. IEEE Trans. Wirel. Commun
**2002**, 1, 660–670. [Google Scholar] - Bahl, P.; Padmanabhan, V.N. RADAR: An In-Building RF-Based User Location and Tracking System. Proceedings of IEEE Infocom, Tel Aviv, Israel; 2000; pp. 775–784. [Google Scholar]
- Manjeshwar, A.; Agrawal, D.P. TEEN: A Routing Protocol for Enhanced Efficiency in Wireless Sensor Networks. Proceedings of the 15th International Parallel and Distributed Symposium, San Francisco, CA, USA; 2001; pp. 2009–2015. [Google Scholar]

**Figure 4.**Performance in WSNs with same initial energy levels (scenario 1) (a) Average Energy. (b) Energy Consumption. (c) Standard Deviation. (d) Network Lifetime.

**Figure 5.**Performance in WSNs with different initial energy levels (scenario 2) (a) Average Energy. (b) Energy Consumption. (c) Standard Deviation. (d) Network Lifetime.

Neighbor ID | Pheromone Value | Residual Energy | Distance to Sink | Hop count | Tag |
---|---|---|---|---|---|

i | τ_{ci} | E_{i} | D_{is} | h_{i} | 0 |

j | τ_{cj} | E_{j} | D_{js} | h_{j} | 0 |

… | … | … | … | … | 0 |

Parameter | Value |
---|---|

α | 2 |

β | 2 |

ρ | 0.2 |

τ_{ini}(i, j) | k |

the number of event | 1 |

packet size | 512 bytes |

broadcast packet size | 20 bytes |

the coordinate of sink | (0,200) |

event radius | 20 m |

© 2010 by the authors; licensee MDPI, Basel, Switzerland. This article is an open-access article distributed under the terms and conditions of the Creative Commons Attribution license ( http://creativecommons.org/licenses/by/3.0/).