# Directional Itinerary Planning for Multiple Mobile Agents in Wireless Sensor Networks

Authors: Mostefa Bendjima; Mohammed Feham; Mohamed Lehsaini
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

Currently, the majority of research in the area of wireless sensor networks (WSNs) is directed towards optimizing energy use during itinerary planning by mobile agents (MAs). The route taken by the MA when migrating can get a significant effect on energy consumption and the lifespan of the network. Conversely, finding an ideal arrangement of Source Nodes (SNs) for mobile agents to visit could be a problematic issue. It is within this framework that this work focused on solving certain problems related to itinerary planning based on a multimobile agent (MMA) strategy in networks. The objective of our research was to increase the lifespan of sensor networks and to diminish the length of the data collection task. In order to achieve our objective, we proposed a new approach in WSNs, which took into consideration the criterion of an appropriate number of MAs, the criterion of the appropriate grouping of SNs, and finally the criterion of the optimal itinerary followed by each MA to visit all its SNs. Thus, we suggested an approach that may be classified as a centralized planning model where the itinerary schedule is entirely shaped by the base station (sink) which, unlike other approaches, is no longer constrained by energy consumption. A series of simulations to measure the performance of the new planning process was also carried out.


---

## Body

## 1. Introduction

A wireless sensor network (WSN) is made up of a set of nodes (sensors) capable of collecting data within a monitored environment and transmitting them to a base station (sink) via a wireless medium [1]. Therefore, node networks have revolutionized the paradigms for collecting and processing information in various environments. They are at the center of various applications in several sectors such as surveillance of sensitive areas for the military, forest fire detection, and medical diagnosis. A sensor network is often typified by dense use in large-scale environments. However, it is mainly limited in terms of resources (deficient storage and processing capacities), because it is usually powered by replaceable batteries [2–7]. This leads to problems associated with energy utilization during the operation of the network nodes. In order to overcome these limitations, several studies proposed ways for more energy-efficient use of mobile agents (MAs) for this kind of network. The technology of MAs is a relatively recent trend in distributed computing; it addresses scalability and flexibility issues of centralized models. A MA is a special type of program that migrates between sensors in a network to perform one or more autonomous and intelligent tasks [5–10]. This principle makes it possible to diminish the size of redundant information transmitted by the Source Nodes (SNs) and thus reduce energy consumption in the network and improve its lifespan. In a nutshell, the use of MA to deploy dynamically new applications in WSN is proving to be an effective method for issues related to energy consumption and network life. They are principally practical in facilitating the fusion and efficient dissemination of information in node networks [1, 2]. Indeed, MAs are mainly useful in facilitating efficient information fusion and dissemination in the field of node networks. In information-fusion tasks based on MAs, the choice of agent itineraries is of critical significance and affects the overall cost of energy consumption and hence the life of a network. A significant body of research has shown that the use of multimobile agents (MMA) for itinerary planning is better than that of a single-mobile agent in large-scale networks. The focus of our study is centered on increasing the lifespan of sensor networks and reducing the duration of the data collection tasks using the MMA paradigm. This work focuses more particularly on solving some problems associated with itinerary planning based on MMA in large-scale WSNs. In this context, we take into account the issue of load balancing between mobile agents, how to determine the number of MAs and how to group SNs. To achieve our goal, we propose a new approach, which allows itinerary planning between MMA. The proposed strategy may be described as a centralized planning model where itinerary planning is completely determined by the base station for which the problem of energy use is not a major constraint.The rest of the article is organized as follows.Section2 reviews other works related to the research presented in this article, while in Section 3, we define the objectives of the research. In Section 4, we propose our approach, which takes into consideration the criteria of (a) the appropriate number of mobile agents, (b) the appropriate grouping of source nodes, and (c) the optimal itinerary followed by each mobile agent to visit all of its source nodes. The structure of the mobile agent package is presented in Section 5. In Section 6, our approach is compared to other competitive approaches that have been found in the literature to solve the same problem through a series of simulations. Section 7 is devoted to the results and their analysis. Finally, Section 8 concludes the article.


## 2. Previous Work Related to the Present Research

In the WSN model based on the C/S paradigm, the information detected by the SNs is transmitted directly to the sink through sensor nodes. This generates a large amount of traffic on the network since the number of messages exchanged between the sensors is very high. The WSN model, based on the MA paradigm, surpasses the limit of the C/S model by moving the agent between network nodes autonomously to merge data [11]. However, using one mobile agent in WSNs applies to small networks only. For large-scale sensor networks, where several nodes must be visited, a Single-agent Itinerary Planning (SIP) has the following drawbacks:(i)
Significant delays when a single mobile agent has visited hundreds of source nodes(ii)
Nodes in the mobile agent’s itinerary use up energy faster than other nodes(iii)
The size of the MA increases as it visits more and more SNs, so during transmission, the agent will consume more energy in its itinerary back to the sink(iv)
Reliability is reduced with the increasing amount of data accumulated by the mobile agent(v)
When the MA migrates to multiple source nodes, the chance of being lost increasesThe performance of algorithms designed based on a single mobile agent is relatively low, particularly in large-scale WSNs. Therefore, this category is only suitable for small-scale WSNs. In order to solve the only mobile agent-based itinerary planning problems, many studies were conducted for Multiple-agent Itinerary Planning (MIP) in large-scale WSNs. These studies allowed the use of MMA in parallel, each visiting an appropriate number of sensors. In this case, several mobile agents worked in parallel to perform the task of merging data which leads to a considerable energy gain. The performance of this model can exceed that of a model based on a single mobile agent conceding two crucial parameters: the well-grouped nodes and well-designed itineraries.As such, the work proposed below is based on itinerary planning between MMA. It attempts to discover the best equilibrium between competence and performance. In addition, all the algorithms studied are centralized, that is to say, executed centrally by the base station. Thus, the itineraries of MAs are static and predetermined at the sink and are known as soon as they are created.Authors of [12, 13] showed that clustering is a fundamental technique in WSN. Their objective is to minimize the processing of data aggregation required at the sensor nodes and to move the load to the sink. The clustering algorithm uses a hierarchical classification, and the nodes organize themselves into groups and elect a cluster node as the leader. The latter collects aggregate information from the sensors in its group and transmits them to the sink. In this way, it achieves a significant reduction in energy consumption.Unfortunately, the authors avoided the construction of the clusters and the heads of the clusters, for three simple reasons:(i)
The cluster head may be a malicious node (it will affect all the nodes in its cluster and therefore the whole network)(ii)
To avoid overload on cluster heads(iii)
An imbalance at the level of source node groupings may occurChen et al. [14] proposed the CL-MIP (Center Location-based Multiagent Itinerary Planning) algorithm where the main idea was to consider the MIP solution as an extension of the SIP solution. With CL-MIP, the visits of a MA were determined by a circle centered at the epicenter of the visit; then, the SNs within the circular area are assigned to a MA. The CL-MIP uses one of the SIP algorithms proposed in [15–17] to determine the path of each MA [18]. In this strategy, the performance of SN grouping was also strongly affected by the radius of the circle, although the optimal value of the radius was not yet measured or analyzed explicitly [19].Cai et al. [20] proposed the GA-MIP (Genetic Algorithm for Multiple Itinerary Planning) algorithm. To achieve the GA-MIP algorithm, the sequence of the SNs and a group of these nodes are coded in numbers similarly to genes in genetic evolution. First, an investigative space filled with arbitrarily chosen qualities is set up, and after that, an iterative advancement approach is performed. At each iteration, operators of changes such as crossing and mutation were applied to increase the variety of genes. After these processes, the operator selects the most performing genes to survive the next generation, which is akin to natural selection in the real world. After a certain number of repetitions, the solution that corresponds to an adequate itinerary planning strategy was chosen. However, the high computational complexity made the use of GA-MIP still questionable [21].In [22], Mpitziopoulos et al. proposed the NOID (Near-Optimal Itinerary Design) algorithm. The NOID algorithm is aimed at finding the number of MAs that reduce the total cost of data fusion and to build the path according to geographical distance. The NOID algorithm adapts a method presented in Esau-Williams, namely, the Esau-Williams heuristic, which was designed for the constrained minimum tree problem in network design. The NOID algorithm iteratively groups the sensor nodes of the network to separate the subtrees that are progressively related to a sink. Finally, each subtree is assigned to a MA. NOID solves itinerary planning problems based on a single mobile agent, but it undergoes the constraints of low work speed and computational complexity.The works presented below are more directly associated with the research described in this article since they are carried out by the sink in a centralized way, because of the infinite energy source of the latter. The algorithms of this work divide the network into concentric (circular) zones around the sink. They determine the number of MAs to be used in routes, so the routes assigned to these agents are known as soon as they are created. The neighboring nodes that are in the sink area represent the beginning of each itinerary and chose the shortest paths from MAs to the sink.Gavalas et al. proposed another algorithm called Second Near-Optimal Itinerary Design (SNOID) in [23]. This algorithm improves the NOID algorithm taking into account the communication cost of the nodes. The SNOID decides the number of MAs that should be utilized and the itinerary they should follow by dividing the area around the base station into concentric zones and constructing the shortest paths from the MAs to the base station. The number of sensors in the radius of the initial zone includes the sink that represents the starting points of the mobile agent routes. The initial zone radius may be studied by a−rmax, where a is an input parameter in the array 0,1 and rmax is the maximum diffusion array of any sensor. The path of the mobile agent route starts from the interior areas closest to the sink and continues towards the exterior areas.Chen et al. in [24] proposed an algorithm called Directional Source Grouping-based MIP (DSG_MIP). This algorithm divided the network area into sectors whose centers are the sensors within the base station radius. The size of the sink area may be resolute by the same method in the SNOID algorithm a−rmax, where r is the maximum transmission interval and a is an input factor in the array 0,1. Then, the nodes in this area represent the starting points of each MA. By controlling the value of the factor a, the number of MAs can be determined. DSG_MIP’s contribution is that it isolated SNs that can be inserted into existing itineraries based on the metric of the shortest distance to the itinerary. However, the insertion of isolated SNs into existing routes could increase the MA delay, especially when isolated SNs are located far from existing routes. In addition, the DSG_MIP algorithm is unable to find the optimal deviation sill.Konstantopoulos et al. proposed the Tree-Based Itinerary Design (TBID) algorithm in [25], which improved the NOID [22] and SNOID [23] algorithms. TBID is a heuristic algorithm that operates at the level of the optimal MAs and determines their number. This algorithm also utilizes a greedy approach to build low-cost routes for all the agents that form a binary tree. TBID determines an extensive forest of trees in the WSN, calculates itinerary crossing orders, and ultimately assigns those itineraries to MAs. It is built around the idea of concentric zones with the sink as the center. The first zone includes all the nodes that are within a certain distance from the sink, and one MA is assigned to each itinerary rooted in these nodes. TBID produces low-cost routes for MAs, but the energy used is doubled in reverse itineraries and due to interference between vast amounts of branches.Gavalas et al. in [26] introduced a new algorithm for the planning of energy-efficient itineraries of MAs. This algorithm adopts a metaheuristic method called Iterated Local Search (ILS) to derive the hop sequence of several roaming MAs on the deployed SNs. Like other MIP algorithms, the ILS is executed at the base station level and determines the total number of routes (MAs) by taking into account a circular area around the sink. The nodes that are in the sink area will be the starting points for each route. Yet they differ from other preceding algorithms in that the ILS algorithm takes into account the increasing size of the MA together with the power expended to migrate to intermediate nodes along its route. Although the ILS algorithm performs better than NOID and SNOID, the MAs in this algorithm consumes twice the energy due to the reverse routes taken by these agents, especially when there is a huge amount of branches.


## 3. Problem Formulation

The use of the multiple mobile agent-based algorithms in large-scale sensor networks can reduce energy consumption and extend the network lifespan. In this case, several mobile agents work in parallel to perform the task of merging data leading to considerable energy saving. By grouping sensor nodes into multiple partitions, the packet size of a mobile agent will decrease. In addition, due to the distribution of data tasks, the task duration is reduced when MMA is applied. However, despite the advantages of using MMA, grouping sensor nodes together and finding the optimal itinerary from each MA to visit all SNs are a difficult problem to solve. The works published previously suggested different algorithms to find an optimal grouping of sensor nodes. Among the features of these algorithms that we applied in our approach are as follows:(i)
Due to the infinite energy of the base station, the approaches to this work are carried out centrally(ii)
The algorithms divided the WSN into concentric (circular) zones around the sink(iii)
The algorithms determine the number of MAs that should be used in the itineraries(iv)
The itineraries assigned to MAs are known as soon as they are created(v)
The sensor nodes located in the area around the sink will be the starting points for each itinerary(vi)
The way to partition the network and the ease of building the shortest paths from MAs to the sinkHowever, these approaches have certain weaknesses; most of these algorithms use node density as the primary factor in grouping sensor nodes. Using the density factor alone causes the following limitations:(i)
An imbalance occurs at the level of source node groupings where certain MAs will run in groups with high density and other agents with low density. This leads to an imbalance in the data required between the agents and causes a negative impact on the duration of the task and the amount of energy consumed(ii)
Unreliable determination of the number of MAs not following a specific formula where it is equal to the number of groups also causes an imbalance problemAn efficient algorithm for grouping the SNs will end in reduced and efficient energy exhaustion. However, our approach which is the optimal partitioning of the network must take into account several parameters such as density, communication cost, energy, and data size at each sensor, which we will discuss later.


## 4. Description of the Proposed Approach

The focal point of this work is to find solutions to some problems connected to itinerary planning based on MMAs in WSNs. Our study is aimed at finding a way to enhance the lifespan of sensor networks and diminish the duration of the data collection task. In order to achieve our goal, we proposed a new DSNG (Directional Source Node Grouping for multiagent itinerary planning) approach in wireless sensor networks. This approach allows itinerary planning between multimobile agents. The proposed approach may be classified as a centralized planning model where itinerary planning is totally determined by the base station while consuming a minimum amount of resources, including time and power. The structure of our strategy is shown in Figure1, which includes the following three steps.Figure 1
General diagram of a data collection.


### 4.1. Connection of the Sink with Neighboring Nodes

The number of MAs is a significant factor in solving the MIP problem. A high number of MAs causes more flow of these agents to transmit on the WSN, thus increasing energy consumption. Yet a small number of MAs can cause a delay in the duration of the task. In each of the existing studies on MIP, determining the number of agents does not follow a specific formula. In our work, the number of agents is equal to the number of nodes bordering a sink; therefore, we link the sink with its neighboring nodes by straight lines, as shown in Figure2.Figure 2
Connect the sink with neighboring nodes.


### 4.2. Source Node Grouping

The distance from a SN to a line corresponds to the length of the shortest segment separating the SN from the line. To determine the distance from a SN to a line, we must determine the length of the segment that perpendicularly joins the node to the line, as shown in Figure3.Figure 3
Determining the distance from a source node to a line.S: a source node that represents a point on the plane; D: a straight line that links the sink with one of its neighboring nodes; H: the orthogonal projection of the source node S on the line D.As Figure3 displays that the distance from the source node S to the line D is the distance SH, it is the smallest distance between any point on line D and source node S.For any pointM of the line D, we have SH≤SM.Using the equation of lineD and the coordinates of a source node S, we can find the distance between them by performing the following calculations.By providing the space with an orthonormal coordinate systemo,i⟶,j⟶, let (xS,yS) be the coordinates of point S and ax+by+c=0 be a Cartesian equation of D; the vector v⟶ with coordinate a,b is a normal vector of D, and for any point M of the line D, we have:(1)v⟶ab.NM⟶x−xSy−yS=v⟶·SH⟶⇔ax–xS+by–yS=v⟶SH⟶cosv⟶,SH⟶^⇔ax+by–axS–byS=a2+b2·SH·cosv⟶,SH⟶^,orMx,y,z∈D⟹ax+by+c=0⟹c=−ax–by,So:−axS–byS–c=a2+b2·SH·cosv⟶,SH⟶^,HenceaxS+byS+c=a2+b2·SHSH=axS+byS+ca2+b2.To check if a source node of the network is the closest to a line, we calculate its minimum distance from all the lines by formula (1), as shown in Figure 4. Then, for each neighboring node Ni, we group the source nodes closest to the line Di (linking the sink with the neighboring node Ni) in a vector Di.Figure 4
Source node grouping.According to formula (1), to group the source nodes closest to a line, we use Algorithm 1; that is to say, we have k nodes close to the sink; we determine the Di group with i∈1,2,⋯,k. In other words, Di contains the source nodes closest to the line Di (Di: a line which links the sink with its ith neighbor node).Algorithm 1: Source node grouping.
NotationE: set of source nodes to be grouped;S: source node;k: number of neighboring nodes at the Sink;D[i]: contains the source nodes closest to the line Di;Beginfor i :=1 to k doD[i] := {}; /∗ initialize D[i] ∗/end for;for each source node S in Edoi :=1;SH :=axS+byS+c/a2+b2; /∗ H is the orthogonal projection of S on the line Di ∗/min := SH; /∗ SH is the smallest distance between any point on the line Di and the source node S ∗/for j :=2 to k doSH :=axS+byS+c/a2+b2; /∗ H is the orthogonal projection of S on the line Dj ∗/if SH < min thenmin := SH;i := j;end if;end for;D[i] := D[i] ∪ {S};E := E – S;end for;End.Example 1.
We assume that among all the sensor nodes of the network, there are 11 source nodesE=S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11, and we suppose that the sink has k=3 neighboring nodes N1, N2, and N3.
D1 is the line that links the sink with N1, and the source nodes S2, S5, S7, and S3 are closest to line D1. The same principle applies to the two other lines D2 and D3; then,
D1: S2; S5; S7; S3
D2: S6; S10; S4; S1
D3: S9; S11; S8


### 4.3. Organization of Source Nodes

To calculate the distance between two SNs, we consider two source nodes as two points of coordinatesS1x1,y1 and S2x2,y2, as illustrated in Figure 5. We calculate the distance between these two points, that is, the length of the segment drawn between the two SNs.Figure 5
Sort the source nodes.Therefore, to calculate this length, we draw a right triangle allowing the use of the Pythagorean theorem:L2=x2–x12+y2–y12.Hence, the distance sought is(2)L=x2–x12+y2–y12.For each neighbor nodeNi to the sink, Algorithm 1 groups the source nodes closest to line Di (linking the sink with Ni) into vectors Di. In Algorithm 2, the sink calculated the distances between the neighboring nodes Ni and its source nodes and grouped them in Table 1 for each vector Di. Table 1 contains two fields for each source node, its identifier and its distance. Thus, to calculate the distances between the source nodes and a neighbor node at the sink, we used Algorithm 2.Algorithm 2: Calculate the distances between the neighbor node and its source nodes.
Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N do /∗ N: number of SNs of a neighboring node ∗//∗ let Ni(xi, yi) neighbor node of Sink and Sj(xj , yj) source node of D[i] ∗/Lij≔xi–xj2+yi–yj2 ; /∗ Calculate the distance between Ni(xi , yi) and Sj(xj , yj) ∗/T[i,j]@dis :=Lij;T[i,j]@id := Sj ;end for;end for;End.Example 2.
We continue on the previous example, as Table1 shows.Table 1
Orders of SNs according to their decreasing distances.
Ti,j1234IdDisIdDisIdDisIdDis1S22S55S77S332S66S1010S44S113S99S1111S88After the sink puts the identifiers and the distances of the source nodes in Table1, Algorithm 3 orders its nodes decreasingly according to their distances.Algorithm 3: Orders of source nodes according to their decreasing distances.
Var i, j, l, t, m: integer;Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N-1 do /∗ N: number of SNs in D[i] ∗//∗ D [i] contains the source nodes closest to the line Di ∗/m: = j;for l := j+1 to N doif T[i,l]@dis > T[i,m]@dis then m := l; /∗ we compare the distance of two SN in D[i] ∗/end for;if m <> j thenbegint1 := T[i,m]@dis; /∗ t1: memory cell contains the distance of SN number m in D[i] ∗/t2 := T[i,m]@id; /∗ t2: memory cell contains the identifier of SN number m in D[i] ∗/T[i,m]@dis := T[i,j]@dis; /∗ we overwrite T[i,m]@dis by the distance of SN number j in D[i] ∗/T[i,m]@id := T[i,j]@id; /∗ we overwrite T[i,m]@id by the identifier of SN number j in D[i] ∗/T[i,j]@dis := t1; /∗ we overwrite T[i,j]@dis by the distance of SN number m in D[i] ∗/T[i,j]@id := t2; /∗ we overwrite T[i,j]@id by the identifier of SN number m in D[i] ∗/end;end for;end for;End.Di contains the source nodes closest to the line Di (Di: a line which links the sink with its ith neighbor node), and N is the number of elements of Di.Example 3.
We applied Algorithm3 on the previous example.
For iterations, we only visualized the distance field so as not to complicate the example.
fori≔1tokdo /∗k=3: number of neighboring nodes N1,N2, and N3; the first iteration i=1∗/
forj≔1to N−1do/∗N=4: number of SNs in D1; the first iteration j=1∗/m=1;
t1=7
t2=S7
As a result, we foundT1,1 and T1,3 exchanged, as shown in Table 2.
The algorithm completed the exchange ofT1,1 and of T1,3; it went to the next iteration (j=2):
etc.Table 2
ExchangeT1,1 and T1,3.
Ti,j1234IdDisIdDisIdDisIdDis1S77S55S22S33We continue the operation until we find that the initial table in the example is sorted as shown in Table3Table 3
Orders of SNs according to their decreasing distances.
Ti,j1234IdDisIdDisIdDisIdDis1S77S55S33S222S1010S66S44S113S1111S99S88


## 4.1. Connection of the Sink with Neighboring Nodes

The number of MAs is a significant factor in solving the MIP problem. A high number of MAs causes more flow of these agents to transmit on the WSN, thus increasing energy consumption. Yet a small number of MAs can cause a delay in the duration of the task. In each of the existing studies on MIP, determining the number of agents does not follow a specific formula. In our work, the number of agents is equal to the number of nodes bordering a sink; therefore, we link the sink with its neighboring nodes by straight lines, as shown in Figure2.Figure 2
Connect the sink with neighboring nodes.


## 4.2. Source Node Grouping

The distance from a SN to a line corresponds to the length of the shortest segment separating the SN from the line. To determine the distance from a SN to a line, we must determine the length of the segment that perpendicularly joins the node to the line, as shown in Figure3.Figure 3
Determining the distance from a source node to a line.S: a source node that represents a point on the plane; D: a straight line that links the sink with one of its neighboring nodes; H: the orthogonal projection of the source node S on the line D.As Figure3 displays that the distance from the source node S to the line D is the distance SH, it is the smallest distance between any point on line D and source node S.For any pointM of the line D, we have SH≤SM.Using the equation of lineD and the coordinates of a source node S, we can find the distance between them by performing the following calculations.By providing the space with an orthonormal coordinate systemo,i⟶,j⟶, let (xS,yS) be the coordinates of point S and ax+by+c=0 be a Cartesian equation of D; the vector v⟶ with coordinate a,b is a normal vector of D, and for any point M of the line D, we have:(1)v⟶ab.NM⟶x−xSy−yS=v⟶·SH⟶⇔ax–xS+by–yS=v⟶SH⟶cosv⟶,SH⟶^⇔ax+by–axS–byS=a2+b2·SH·cosv⟶,SH⟶^,orMx,y,z∈D⟹ax+by+c=0⟹c=−ax–by,So:−axS–byS–c=a2+b2·SH·cosv⟶,SH⟶^,HenceaxS+byS+c=a2+b2·SHSH=axS+byS+ca2+b2.To check if a source node of the network is the closest to a line, we calculate its minimum distance from all the lines by formula (1), as shown in Figure 4. Then, for each neighboring node Ni, we group the source nodes closest to the line Di (linking the sink with the neighboring node Ni) in a vector Di.Figure 4
Source node grouping.According to formula (1), to group the source nodes closest to a line, we use Algorithm 1; that is to say, we have k nodes close to the sink; we determine the Di group with i∈1,2,⋯,k. In other words, Di contains the source nodes closest to the line Di (Di: a line which links the sink with its ith neighbor node).Algorithm 1: Source node grouping.
NotationE: set of source nodes to be grouped;S: source node;k: number of neighboring nodes at the Sink;D[i]: contains the source nodes closest to the line Di;Beginfor i :=1 to k doD[i] := {}; /∗ initialize D[i] ∗/end for;for each source node S in Edoi :=1;SH :=axS+byS+c/a2+b2; /∗ H is the orthogonal projection of S on the line Di ∗/min := SH; /∗ SH is the smallest distance between any point on the line Di and the source node S ∗/for j :=2 to k doSH :=axS+byS+c/a2+b2; /∗ H is the orthogonal projection of S on the line Dj ∗/if SH < min thenmin := SH;i := j;end if;end for;D[i] := D[i] ∪ {S};E := E – S;end for;End.Example 1.
We assume that among all the sensor nodes of the network, there are 11 source nodesE=S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11, and we suppose that the sink has k=3 neighboring nodes N1, N2, and N3.
D1 is the line that links the sink with N1, and the source nodes S2, S5, S7, and S3 are closest to line D1. The same principle applies to the two other lines D2 and D3; then,
D1: S2; S5; S7; S3
D2: S6; S10; S4; S1
D3: S9; S11; S8


## 4.3. Organization of Source Nodes

To calculate the distance between two SNs, we consider two source nodes as two points of coordinatesS1x1,y1 and S2x2,y2, as illustrated in Figure 5. We calculate the distance between these two points, that is, the length of the segment drawn between the two SNs.Figure 5
Sort the source nodes.Therefore, to calculate this length, we draw a right triangle allowing the use of the Pythagorean theorem:L2=x2–x12+y2–y12.Hence, the distance sought is(2)L=x2–x12+y2–y12.For each neighbor nodeNi to the sink, Algorithm 1 groups the source nodes closest to line Di (linking the sink with Ni) into vectors Di. In Algorithm 2, the sink calculated the distances between the neighboring nodes Ni and its source nodes and grouped them in Table 1 for each vector Di. Table 1 contains two fields for each source node, its identifier and its distance. Thus, to calculate the distances between the source nodes and a neighbor node at the sink, we used Algorithm 2.Algorithm 2: Calculate the distances between the neighbor node and its source nodes.
Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N do /∗ N: number of SNs of a neighboring node ∗//∗ let Ni(xi, yi) neighbor node of Sink and Sj(xj , yj) source node of D[i] ∗/Lij≔xi–xj2+yi–yj2 ; /∗ Calculate the distance between Ni(xi , yi) and Sj(xj , yj) ∗/T[i,j]@dis :=Lij;T[i,j]@id := Sj ;end for;end for;End.Example 2.
We continue on the previous example, as Table1 shows.Table 1
Orders of SNs according to their decreasing distances.
Ti,j1234IdDisIdDisIdDisIdDis1S22S55S77S332S66S1010S44S113S99S1111S88After the sink puts the identifiers and the distances of the source nodes in Table1, Algorithm 3 orders its nodes decreasingly according to their distances.Algorithm 3: Orders of source nodes according to their decreasing distances.
Var i, j, l, t, m: integer;Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N-1 do /∗ N: number of SNs in D[i] ∗//∗ D [i] contains the source nodes closest to the line Di ∗/m: = j;for l := j+1 to N doif T[i,l]@dis > T[i,m]@dis then m := l; /∗ we compare the distance of two SN in D[i] ∗/end for;if m <> j thenbegint1 := T[i,m]@dis; /∗ t1: memory cell contains the distance of SN number m in D[i] ∗/t2 := T[i,m]@id; /∗ t2: memory cell contains the identifier of SN number m in D[i] ∗/T[i,m]@dis := T[i,j]@dis; /∗ we overwrite T[i,m]@dis by the distance of SN number j in D[i] ∗/T[i,m]@id := T[i,j]@id; /∗ we overwrite T[i,m]@id by the identifier of SN number j in D[i] ∗/T[i,j]@dis := t1; /∗ we overwrite T[i,j]@dis by the distance of SN number m in D[i] ∗/T[i,j]@id := t2; /∗ we overwrite T[i,j]@id by the identifier of SN number m in D[i] ∗/end;end for;end for;End.Di contains the source nodes closest to the line Di (Di: a line which links the sink with its ith neighbor node), and N is the number of elements of Di.Example 3.
We applied Algorithm3 on the previous example.
For iterations, we only visualized the distance field so as not to complicate the example.
fori≔1tokdo /∗k=3: number of neighboring nodes N1,N2, and N3; the first iteration i=1∗/
forj≔1to N−1do/∗N=4: number of SNs in D1; the first iteration j=1∗/m=1;
t1=7
t2=S7
As a result, we foundT1,1 and T1,3 exchanged, as shown in Table 2.
The algorithm completed the exchange ofT1,1 and of T1,3; it went to the next iteration (j=2):
etc.Table 2
ExchangeT1,1 and T1,3.
Ti,j1234IdDisIdDisIdDisIdDis1S77S55S22S33We continue the operation until we find that the initial table in the example is sorted as shown in Table3Table 3
Orders of SNs according to their decreasing distances.
Ti,j1234IdDisIdDisIdDisIdDis1S77S55S33S222S1010S66S44S113S1111S99S88


## 5. Data Aggregation

### 5.1. Mobile Agent Structure

The sink has calculated the distances between its neighboring nodes and the source nodes and grouped them in tableT containing the identifiers of the source nodes with their distances. After the sink sorted the SNs using their distances in descending order, it put the IDs of the SNs of each group into a mobile agent. The latter is a data packet used to collect the data captured by the source nodes of each group, starting with the furthest source node. The data contained in an MA packet is shown in Table 4.Table 4
Mobile agent packet structure.
MA_NumGR_IdList_SrcNext_SrcDataThe two attributes MA_Num and GR_Id were used to identify the mobile agent. Each time the sink sent a new MA, it incremented the MA_Num. The List_Src list specified the source nodes of the GR_Id group, which was visited by the MA. The Next_Src attribute specified the succession of the identifiers of the SNs of the List_Src attribute that were to be visited by the MA. Data is the field of information to collect. The data size is zero when an MA is generated and increases as the MA moves between SNs.


### 5.2. Data Processing

In order for a mobile agent to avoid collecting redundant information between the source nodes, the size of the detected data accumulated by this MA is calculated using the method used by [27]. According to this method, a sequence of captured data can be combined with a fusion factor ρ.LetNi be the amount of detected data accumulated after the MA collects the result from the node SNi and Ri be the size of the captured data processed locally to be accumulated by the MA at the node SNi.So, we obtained:N1=R1 and Ni=R1+∑k=2iρ.Rki>1.If the sink hadk neighboring nodes, then we proposed k agent mobiles in order to collect the information captured by the nodes of the network.Algorithm 4: Mobile agent.
/∗fill in the MAs with the identifiers of the NSs∗/Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N do /∗ N : number of SNs in D[i] ∗/MA[i]@List_Src[j] := T[i,j]@id;/∗ fill in the identifiers of the SNs which are in table T in MA ∗/end for;end for;/∗send each MA to the SN furthest in its list∗/for i :=1 to k do /∗ k: number of neighboring nodes at the Sink or number of MAs ∗/Pass the MA[i] at MA[i]@List_Src [1];MA[i]@Data :=Ri1 ; /∗ Put the data from the furthest SN to the MA packet ∗/end for;for i :=1 to k dofor j :=2 to N doPass the MA[i] at MA[i]@List_Src[j];if the SN data is already existing in the MA[i]@data packet thenbreak; /∗ ignore data and move on to next (go back to loop) ∗/elseMA[i]@Data = MA[i]@Data +∑ρ . Rij ; /∗ add data to MA packet ∗/end if;end for;Pass the MA at Sink;end for;End.


## 5.1. Mobile Agent Structure

The sink has calculated the distances between its neighboring nodes and the source nodes and grouped them in tableT containing the identifiers of the source nodes with their distances. After the sink sorted the SNs using their distances in descending order, it put the IDs of the SNs of each group into a mobile agent. The latter is a data packet used to collect the data captured by the source nodes of each group, starting with the furthest source node. The data contained in an MA packet is shown in Table 4.Table 4
Mobile agent packet structure.
MA_NumGR_IdList_SrcNext_SrcDataThe two attributes MA_Num and GR_Id were used to identify the mobile agent. Each time the sink sent a new MA, it incremented the MA_Num. The List_Src list specified the source nodes of the GR_Id group, which was visited by the MA. The Next_Src attribute specified the succession of the identifiers of the SNs of the List_Src attribute that were to be visited by the MA. Data is the field of information to collect. The data size is zero when an MA is generated and increases as the MA moves between SNs.


## 5.2. Data Processing

In order for a mobile agent to avoid collecting redundant information between the source nodes, the size of the detected data accumulated by this MA is calculated using the method used by [27]. According to this method, a sequence of captured data can be combined with a fusion factor ρ.LetNi be the amount of detected data accumulated after the MA collects the result from the node SNi and Ri be the size of the captured data processed locally to be accumulated by the MA at the node SNi.So, we obtained:N1=R1 and Ni=R1+∑k=2iρ.Rki>1.If the sink hadk neighboring nodes, then we proposed k agent mobiles in order to collect the information captured by the nodes of the network.Algorithm 4: Mobile agent.
/∗fill in the MAs with the identifiers of the NSs∗/Beginfor i :=1 to k do /∗ k: number of neighboring nodes at the Sink ∗/for j :=1 to N do /∗ N : number of SNs in D[i] ∗/MA[i]@List_Src[j] := T[i,j]@id;/∗ fill in the identifiers of the SNs which are in table T in MA ∗/end for;end for;/∗send each MA to the SN furthest in its list∗/for i :=1 to k do /∗ k: number of neighboring nodes at the Sink or number of MAs ∗/Pass the MA[i] at MA[i]@List_Src [1];MA[i]@Data :=Ri1 ; /∗ Put the data from the furthest SN to the MA packet ∗/end for;for i :=1 to k dofor j :=2 to N doPass the MA[i] at MA[i]@List_Src[j];if the SN data is already existing in the MA[i]@data packet thenbreak; /∗ ignore data and move on to next (go back to loop) ∗/elseMA[i]@Data = MA[i]@Data +∑ρ . Rij ; /∗ add data to MA packet ∗/end if;end for;Pass the MA at Sink;end for;End.


## 6. Simulation Setup

### 6.1. Purpose of the Approach

The goal of our application was to establish a system for simulating communication between a set of sensor nodes and a base station forming a wireless sensor network. For our platform, we chose to use the Sinalgo simulator [28], given its qualities of simplicity, robustness, portability, and dynamism, in addition to handiness and ease of use.The Sinalgo simulator is an environment that allows modeling and simulating wireless sensor networks thanks to its model libraries.


### 6.2. The Initial Hypotheses

In order to design our simulator, we adopted the following assumptions:(i)
In the beginning, each sensor had an initial energy(ii)
The administrator chose the number of nodes, the radius, and the position of the sink(iii)
The number of sensors was limited by a minimum and a maximum value(iv)
The node positions were known(v)
We added sensors but before the nodes were activated(vi)
Deployment was random(vii)
Two sensors did not occupy the same coordinates(viii)
After the grouping step, each node was a sensor node or a source nodeSeveral simulations were carried out on an area of500m×500m for 1000 seconds by putting the sink in the center of the network. Wireless sensors with an 802.11b/g network interface were evenly distributed throughout the network. The radio range and data rate of each node were limited to 87 meters and 1 Mbps, respectively, as suggested in [29]. The transmit-and-receive energy parameters that directly influence the radio range were chosen from the ranges defined in the sunspot system [30].The local processing time was fixed at 40 ms, and these values were inspired by the work done in [31, 32], and the parameters are defined as shown in Table 5.Table 5
Basic simulation parameters.
Simulation parametersValuesNetwork size500m×500mNode distributionRandomRadio range87 mDebit1 MbpsSize of data captured per nodeVariable from 0.5 Ko to 4 KoData collection interval10 sSimulation time1000 sLocal processing time40 msProcessing size code0.4 KoFusion factor (ρ)01Number of sensor nodes200


## 6.1. Purpose of the Approach

The goal of our application was to establish a system for simulating communication between a set of sensor nodes and a base station forming a wireless sensor network. For our platform, we chose to use the Sinalgo simulator [28], given its qualities of simplicity, robustness, portability, and dynamism, in addition to handiness and ease of use.The Sinalgo simulator is an environment that allows modeling and simulating wireless sensor networks thanks to its model libraries.


## 6.2. The Initial Hypotheses

In order to design our simulator, we adopted the following assumptions:(i)
In the beginning, each sensor had an initial energy(ii)
The administrator chose the number of nodes, the radius, and the position of the sink(iii)
The number of sensors was limited by a minimum and a maximum value(iv)
The node positions were known(v)
We added sensors but before the nodes were activated(vi)
Deployment was random(vii)
Two sensors did not occupy the same coordinates(viii)
After the grouping step, each node was a sensor node or a source nodeSeveral simulations were carried out on an area of500m×500m for 1000 seconds by putting the sink in the center of the network. Wireless sensors with an 802.11b/g network interface were evenly distributed throughout the network. The radio range and data rate of each node were limited to 87 meters and 1 Mbps, respectively, as suggested in [29]. The transmit-and-receive energy parameters that directly influence the radio range were chosen from the ranges defined in the sunspot system [30].The local processing time was fixed at 40 ms, and these values were inspired by the work done in [31, 32], and the parameters are defined as shown in Table 5.Table 5
Basic simulation parameters.
Simulation parametersValuesNetwork size500m×500mNode distributionRandomRadio range87 mDebit1 MbpsSize of data captured per nodeVariable from 0.5 Ko to 4 KoData collection interval10 sSimulation time1000 sLocal processing time40 msProcessing size code0.4 KoFusion factor (ρ)01Number of sensor nodes200


## 7. Results and Analysis

In order to reveal the performance of our DSNG (Directional Source Node Grouping for multiagent itinerary planning) approach in wireless sensor networks, we compared it with two approaches with which very good results were obtained concerning the criteria of growing the lifetime of the sensor networks and reducing the period of the data collection task according to the literature. We compared it with Tree-Based Itinerary Design (TBID) algorithms in [25] and Iterated Local Search (ILS) in [26]. These two algorithms were more directly associated with the algorithm represented in this article since they were executed by the sink in a centralized way, according to infinite energy of the latter. These two algorithms separated the network into concentric regions around the sink. They established the number of mobile agents that should be employed in itineraries. Thus, the ones assigned to MAs were known as soon as they were created. The neighboring nodes that were in the sink area were the starting points for each itinerary. They built the shortest itineraries from mobile agents to the base station. These properties allowed a direct comparison of these two algorithms with the algorithm projected in this paper.The energy of the sensor nodes was limited, except for the sink which was supposed to have an endless energy input. It was also assumed that the sink and the sensor nodes were stationary.To verify the scaling property of our algorithms, we chose a500m×500m network, with 200 nodes, and thus, we set the number of source nodes from 05 to 50 in steps of 05. T5he total simulation time was 1000 seconds, and the goal was to get a set of results for every case.In this section, we present the principal performance criteria and the basis of their evaluation through our simulations.


### 7.1. Average Communication Energy

We looked at the effect of the number of source nodes on the energy performance criterion. Hence, energy utilization is the factor that defined the lifetime of the wireless sensor network. Thus, the communication energy used to designate the total consumption of communication energy in the network, comprising transmission, reception, retransmission, listening, and collision, to get the sensory data from all source nodes was taken into account. This parameter was considered the most important criterion, so we estimated the performance of our proposal according to this factor (see Figure6).Figure 6
Comparison of energy consumption.As Figure6 demonstrates, the performance of the three proposals in terms of energy was markedly different in terms of energy consumption. First, we saw that as the number of source nodes increased, energy required to perform tasks varied from one algorithm to another. It should be noted that the approach proposed in this work was the most efficient regardless of the number of source nodes. On the other hand, the advantage of our DSNG proposal over the other two became increasingly clear, and this difference became more pronounced with the increase in the number of source nodes.It is true that at first the difference between the three approaches was not significant; however, from 25 source nodes, the rate of energy consumed by ILS and TBID began to increase in comparison with DSNG. However, from 45 source nodes, energy consumption rate following the proposed approach became significantly lower than the other two with 23% for ILS and 29.5% for TBID. The explanation for these satisfactory results is that our algorithm generated low-cost itineraries for mobile agents; therefore, energy consumption was reduced. However, in the TBID and ILS algorithms, mobile agents consume twice as much energy due to the reverse itineraries (round trip) taken by these agents, especially when there was a huge amount of branches.Thus, it is clear that the DSNG approach proposed in this work was significantly more efficient in terms of energy consumption, regardless of the number of source nodes.


### 7.2. Duration of the Task

In the C/S model, the task duration was used to calculate the average latency time necessary to carry messages from source nodes to the sink. For the case of itinerary planning based on a single mobile agent, the duration of the task was equal to the reported average end-to-end delay, which is the average delay between the time a mobile agent was sent by the sink and the time it took to arrive to the sink. In the case of itinerary planning based on the multimobile agent, the duration of the task was equal to the average end-to-end reporting time, from the moment a mobile agent was distributed by the base station to the moment where the agent returned to the base station. Since a number of mobile agents were working in parallel in our algorithm, there was a mobile agent which was the last to return to the base station; therefore, the duration of the task was the delay of that agent.Figure7 illustrates the comparison between the performance of our model and that of the TBID and ILS models in terms of task duration.Figure 7
Comparison in terms of task duration.According to Figure7, the performance in terms of task duration varies from one approach to another. It should be noted that the proposed solution was better because the duration of the task was less than those described in the state of the art even with a high number of source nodes. The number of source nodes had a greater effect on task delay than on energy performance. When the number of source nodes became large, additional time became necessary for the mobile agents to complete the tasks for each of the 3 proposals. However, the time required for each task increased with the augmentation in the number of source nodes due to the fact that there were more source nodes to visit, so the size of a mobile agent became larger and larger thus requiring no more transmissions to make. Here again, it was possible to notice that the proposed solution was more advantageous compared to the two others. The difference continued to grow as the number of source nodes increased. As an illustration, ILS and TBID consumed 38% to 46% more time than DSNG, respectively. The proposed approach therefore proved to be advantageous when the number of source nodes increases, and this is at a rate of 50 source nodes. The plausible interpretation of these results is that a mobile agent took extra time to collect data from its entire child agents sent through itineraries in branches, as in ILS and TBID. Such action resulted in greater latency from the source nodes that could spread throughout the network. In contrast, in our solution, there was no additional waiting time for a mobile agent to collect data from all source nodes that were in the same itinerary.


### 7.3. Size of Captured Data

In another experiment, we changed the size of the data captured at every source node from 0.5 Ko to 0.4 Ko. The results procured are represented in Figure8.Figure 8
Energy consumption according to size.From Figure8, we can see clearly an almost linear relationship between the rate of energy consumption during packet transmission/reception and the size of the packet. As the amount of data detected in the WSN increased, energy consumption became larger and larger.The analysis allowed us to conclude that more and more energy is required to perform the tasks of each of the 3 proposals as the packet size became larger. As the graph above shows, in terms of energy consumption, DSNG was a little lower than the two other proposals, when the packet size was not large. When the size of the packets was small, i.e., between 0.5 kb and 2 kb, the energy consumption rate of our proposal was almost 5% lower than that of the others. We can say that our proposal was not interesting in a nondense network. The gap between our proposal and the other 2 began to widen with the increase in packet size by the time the packet size of source data reached 2 kb. Thus, between 2.5 kb and 4 kb, our algorithm achieved an additional energy saving of 18% and 27% greater than those of ILS and TBID, respectively. To conclude this comparison, the solution of our proposal exhibited better energy performance with the increase in packet size.


## 7.1. Average Communication Energy

We looked at the effect of the number of source nodes on the energy performance criterion. Hence, energy utilization is the factor that defined the lifetime of the wireless sensor network. Thus, the communication energy used to designate the total consumption of communication energy in the network, comprising transmission, reception, retransmission, listening, and collision, to get the sensory data from all source nodes was taken into account. This parameter was considered the most important criterion, so we estimated the performance of our proposal according to this factor (see Figure6).Figure 6
Comparison of energy consumption.As Figure6 demonstrates, the performance of the three proposals in terms of energy was markedly different in terms of energy consumption. First, we saw that as the number of source nodes increased, energy required to perform tasks varied from one algorithm to another. It should be noted that the approach proposed in this work was the most efficient regardless of the number of source nodes. On the other hand, the advantage of our DSNG proposal over the other two became increasingly clear, and this difference became more pronounced with the increase in the number of source nodes.It is true that at first the difference between the three approaches was not significant; however, from 25 source nodes, the rate of energy consumed by ILS and TBID began to increase in comparison with DSNG. However, from 45 source nodes, energy consumption rate following the proposed approach became significantly lower than the other two with 23% for ILS and 29.5% for TBID. The explanation for these satisfactory results is that our algorithm generated low-cost itineraries for mobile agents; therefore, energy consumption was reduced. However, in the TBID and ILS algorithms, mobile agents consume twice as much energy due to the reverse itineraries (round trip) taken by these agents, especially when there was a huge amount of branches.Thus, it is clear that the DSNG approach proposed in this work was significantly more efficient in terms of energy consumption, regardless of the number of source nodes.


## 7.2. Duration of the Task

In the C/S model, the task duration was used to calculate the average latency time necessary to carry messages from source nodes to the sink. For the case of itinerary planning based on a single mobile agent, the duration of the task was equal to the reported average end-to-end delay, which is the average delay between the time a mobile agent was sent by the sink and the time it took to arrive to the sink. In the case of itinerary planning based on the multimobile agent, the duration of the task was equal to the average end-to-end reporting time, from the moment a mobile agent was distributed by the base station to the moment where the agent returned to the base station. Since a number of mobile agents were working in parallel in our algorithm, there was a mobile agent which was the last to return to the base station; therefore, the duration of the task was the delay of that agent.Figure7 illustrates the comparison between the performance of our model and that of the TBID and ILS models in terms of task duration.Figure 7
Comparison in terms of task duration.According to Figure7, the performance in terms of task duration varies from one approach to another. It should be noted that the proposed solution was better because the duration of the task was less than those described in the state of the art even with a high number of source nodes. The number of source nodes had a greater effect on task delay than on energy performance. When the number of source nodes became large, additional time became necessary for the mobile agents to complete the tasks for each of the 3 proposals. However, the time required for each task increased with the augmentation in the number of source nodes due to the fact that there were more source nodes to visit, so the size of a mobile agent became larger and larger thus requiring no more transmissions to make. Here again, it was possible to notice that the proposed solution was more advantageous compared to the two others. The difference continued to grow as the number of source nodes increased. As an illustration, ILS and TBID consumed 38% to 46% more time than DSNG, respectively. The proposed approach therefore proved to be advantageous when the number of source nodes increases, and this is at a rate of 50 source nodes. The plausible interpretation of these results is that a mobile agent took extra time to collect data from its entire child agents sent through itineraries in branches, as in ILS and TBID. Such action resulted in greater latency from the source nodes that could spread throughout the network. In contrast, in our solution, there was no additional waiting time for a mobile agent to collect data from all source nodes that were in the same itinerary.


## 7.3. Size of Captured Data

In another experiment, we changed the size of the data captured at every source node from 0.5 Ko to 0.4 Ko. The results procured are represented in Figure8.Figure 8
Energy consumption according to size.From Figure8, we can see clearly an almost linear relationship between the rate of energy consumption during packet transmission/reception and the size of the packet. As the amount of data detected in the WSN increased, energy consumption became larger and larger.The analysis allowed us to conclude that more and more energy is required to perform the tasks of each of the 3 proposals as the packet size became larger. As the graph above shows, in terms of energy consumption, DSNG was a little lower than the two other proposals, when the packet size was not large. When the size of the packets was small, i.e., between 0.5 kb and 2 kb, the energy consumption rate of our proposal was almost 5% lower than that of the others. We can say that our proposal was not interesting in a nondense network. The gap between our proposal and the other 2 began to widen with the increase in packet size by the time the packet size of source data reached 2 kb. Thus, between 2.5 kb and 4 kb, our algorithm achieved an additional energy saving of 18% and 27% greater than those of ILS and TBID, respectively. To conclude this comparison, the solution of our proposal exhibited better energy performance with the increase in packet size.


## 8. Conclusion

In this work, we proposed a new approach called DSNG (Directional Source Node Grouping for multiagent itinerary planning), in order to minimize energy consumption and decrease the task duration of a WSN. Our proposal can be classified as a centralized planning model where itinerary planning is completely determined by the sink and is not subject to energy loss. Therefore, we proposed a more direct solution to the problem of determining low-cost mobile agent itineraries, based on the branch balance functionality for the sink-rooted trees. The algorithms of our proposed approach were executed at the base station level and determined the number of mobile agents by considering a circular area around the base station. The nodes that were in this area were the starting points for each itinerary. For each itinerary, a mobile agent was sent to collect data from its source nodes. The advantage with DSNG was that energy utilization and task duration, which were the most important criteria, were always lower than those of ILS and TBID, regardless of the number of source nodes. The reason for these results was that in sink-rooted tree algorithms in WSNs, such as TBID and ILS, mobile agents used dual itineraries (round trip). As a result, mobile agents consumed more energy and therefore additional time was needed for each task due to the reverse itineraries taken by these agents, particularly when there was a big amount of branches. This resulted in additional energy utilization with greater time latency for the migration of agents within the network.



---

*Source: 5584581-2021-07-08.xml*