Next Article in Journal
Use of Digestate as Organic Amendment and Source of Nitrogen to Vegetable Crops
Previous Article in Journal
An Efficient Data-Balancing Cyber-Physical System Paradigm for Quality-of-Service (QoS) Provision over Fog Computing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks

by
Ourania Tsilomitrou
1,* and
Anthony Tzes
2
1
Electrical and Computer Engineering Department, University of Patras, 26500 Rio, Greece
2
Electrical Engineering and Center for Artificial Intelligence and Robotics, New York University Abu Dhabi, Abu Dhabi 129188, United Arab Emirates
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(1), 247; https://doi.org/10.3390/app12010247
Submission received: 25 October 2021 / Revised: 22 December 2021 / Accepted: 23 December 2021 / Published: 27 December 2021

Abstract

:
This article is concerned with collecting stored sensor data from a static Wireless Sensor Network utilizing a group of mobile robots that act as data mules. In this scenario, the static sensor nodes’ locations are known a priori, and the overall optimization problem is formulated as a variation of the Traveling Salesman Subset-tour Problem (TSSP). The constraints that are taken into account include: (a) the pairwise distance between static nodes, (b) the maximum time interval between consecutive visits of each static node, (c) the service time that is required for the collection of the sensor data from the mobile element that visits this sensor node, and (d) the energy efficiency for the mobile nodes. The optimal mobile robot paths are computed using an enhanced Mobile Element Scheduling scheme. This scheme extracts the sequential paths of the mobile elements in an attempt to eliminate any sensor data loss.

1. Introduction

Wireless Sensor Networks (WSNs) [1] have been used in sensing automation tasks combining sensing, data processing, and communication capabilities in a unified platform. The data collected by each node are further relayed via the network towards the base station, which demands the utilization of several relay nodes and the integration of multi-hopping routing protocols [2,3].
In [4], an alternative to static-relay nodes is suggested, using Mobile Elements (MoEls) as data MULEs (Mobile Ubiquitous Local area network Extensions), which travel within the sparse deployment of the sensor nodes and collect their stored data. This data-collection method by MoEls within a WSN is known as “data harvesting” and is subject to the hardware limitations of sensor nodes, such as the nodes’ limited storage capacity and the requirement for increased node lifetime. Since the frequency of data generation in sensor nodes depends on the event occurrence frequency, it can result in buffer overflow, whereas on the other hand, the adoption of a multi-hopping routing protocol may result in high energy consumption rates. The aforementioned work was extended in [5], where the robotic data mules’ routes were assigned for gathering data in an efficient manner. Therefore, an MoEl motion planning is extended to the Mobile Element Scheduling (MES) problem [6]. This is defined as the problem of scheduling the visits of an MoEl to sensor nodes with the objective being the elimination of data loss due to the sensors’ hardware limitations.
In [7,8], the examined problem is defined as the Message Ferrying scheme, where each node communicates only with the message ferries, thus avoiding any long-distance communication and increasing the lifetime for the WSN. Furthermore, this lifetime is further extended as the MoEls can easily be recharged periodically at a base station, as opposed to sensor nodes, which do not possess energy replenishment capabilities. In addition, in the case of disconnected networks, the use of MoEls may be the only viable solution to ensure the network’s connectivity. In this case, data mules are incorporated in a WSN in order to extend the functionality within the network, since the mobility of these systems accounts for the filling of the connectivity gaps inside the monitored area.
Research in data harvesting within a WSN using an MoEl, includes routing optimality and fair resource management. These requirements impose the adoption of adaptive sink mobility schemes [9,10], and path planning optimization problems are formulated to ensure reduced data delivery latency and adjustment of the sensor nodes’ transmission ranges, so as the total sensor node energy consumption is minimized [11,12].
In order to extract the locations that need to be visited by MoEls, the Traveling Salesman Problem (TSP) [5,13,14] is employed. Similar optimization approaches used in path planning are the Orienteering Problem (OP) [15,16] and the Vehicle Routing Problem (VRP) [17,18]. Other relveant works that focus on the MoEls’ scheduling for data harvesting in a WSN formulate the problem as a Mixed Integer Linear Programming (MILP) optimization problem [6,19,20], or follow greedy-like approaches [21].
If a MoEl is used for data harvesting purposes, it is expected that the nodes, which store data with a higher rate or collect critical measurements, have to be visited more frequently by the MoEl. The procedure used in this work eliminates the loss of the sensors’ stored data or measurements due to the sensors’ limited storage capacity. In [22], the time-window constraint is introduced in the formulation of OP, which is also the case as the MoEl visits a number of locations, albeit within specific time spaces. Furthermore, in this formulation, there is no constraint that restricts the total duration of the route as a time budget B. The maximized profit function indirectly measures only the visits to the static locations, relying on a heuristic algorithm that takes into account neither the route length nor its duration. Similarly, the authors of [23] formulated an OP with time windows (OPTW) where the timestamp x i j t is added to all transitions x i j between nodes i and j. The advocated problem counts a transition if it occurs within its assigned time window, and thus the optimization problem can be viewed as a time-connectivity formulation rather than in terms of minimum route length. The aforementioned MILP problems for a single MoEl do not account for the service time/visiting duration to a location, nor is there a constraint that imposes the route to start and end at the same depot node and thus cannot easily be extended to repeatable extraction of consecutive paths for one MoEl or a fleet with M MoEls.
Reference [24] formulates the underlying TSP so as to minimize the duration of a route, along with the service time that is spent on the visited locations/nodes. Other path planning formulations, which take into consideration the time windows for the visiting nodes, are examined as Time-Dependent [23,24], where the MoEl waits for a time interval after it visits a node and before it visits the next node, so as to be synchronized with the time window of the node that follows. This case results in additional delays, along with higher energy consumption for the MoEl. Rather than formulating the problem as a TSP, OP, or variations, the need to revisit nodes necessitates a different approach similar to [25], where a message ferrying algorithm that accounts for sensors’ buffer overflow is presented. A similar approach, that of [6], utilizes a MES scheme, where the objective is the elimination of data loss due to the sensors’ hardware limitation.
In the case of the Multiple TSP (MTSP) using several MoEls, different heuristic approaches have been proposed in the literature due to the problem’s issues with increased dimensionality. Reference [26] presents a heuristic approach, where one function minimizes the longest tour length, while a second one minimizes the total length of all tours. A learning-based approach to optimize the MTSP is presented in [27], which indirectly addresses the prohibitive combinatorial increase in the search space. The reduction of the MTSP search space’s complexity is divided into two parts: the first assigns locations to agents and the other to small-scale TSP planning, resulting in suboptimal solutions.
In [28], in order to avoid the exhaustive search of an exact solution over an MTSP, the number of locations to be visited is initially partitioned into several groups. Then, each group is assigned to a single agent, for which the shortest path between the locations of the assigned group has to be found using TSP solvers. Ref. [29] presents the formulation of a TSP with profits that consider priority prizes as an MILP; this generates itineraries that maximize the total value of the attractions/locations visited and minimizes the total travel cost involved. Only one route is extracted, and the priorities are not introduced as visiting deadline constraints in the problem to ensure that the prioritized locations are visited early in the extracted route.
In [30], the revisit period constraint is introduced for a set of task locations that need to be inspected by a group of MoEls. In this routing problem, the gathering of data from a set of specified locations and their delivery to a control station is considered. Given each task’s priority, a different refresh rate is imposed for each task. Then, the objective for each MoEl is to minimize the maximum of the delivery times of all the tasks’ data to the single control station (depot), while also satisfying each task’s revisit period constraint. This problem differs from the Persistent Intelligence, Surveillance, and Reconnaissance (PISR) problem in the sense that the constraints are not dictated by the MoEl (UAV in the current case) but by the tasks that the MoEl visits. Nevertheless, a critical assumption of this work is that each task is serviced by the same MoEl in the consecutive routes. Accordingly, the revisit period constraints are not dynamically changed between the consecutive routes. An extension to this problem appeared in [31], formulated as a multiple depot TSP.
Our distinguishing contribution relies on using prioritized nodes rather than fixing a priori time windows for visiting them. Taking into account the nodes’ capacity and the total time budget for the route B, which is imposed by the energy reserves of the MoEls, deadlines are assigned to WSN’s static nodes. The extraction of iterative routes via the proposed MES scheme is devised using an MILP formulation, which utilizes these deadline to iteratively visit the nodes in successor routes. Hence, this combined implementation ensures the extraction of optimal routes, along with the requirement to re-visit the nodes.
This paper is organized as follows. Section 2 is devoted to the problem description. In Section 3, the optimization problem is formulated with respect to the imposed constraints, whereas in Section 4, the MES-scheme includes the MILP-problem solution. The proposed scheme is validated by simulation studies in Section 5, and conclusions are drawn in Section 6.

2. Problem Description

The case of a single MoEl [32] is extended to multiple M-MoEls acting as data mules. The MoEls are used either as an intermediate way to interconnect isolated WSNs or as an alternative to multi-hop relay-based approaches within a sparse WSN that suffers from poor link quality and requires data retransmissions. Thus, the data harvesting concept resembles that of Figure 1, where the mobile robots act as data mules within the N-node WSN.
The data harvesting optimization problem’s objective for every MoEl is to visit as many static nodes as possible and receive their stored sensor measurements. The constraints that are used in the formulation of the optimization problem are: (a) the pairwise distance between the static nodes, (b) the maximum time interval between consecutive visits of each static node that is imposed by the sensor data generation rate and its hardware limitations, (c) the service time that is required for the collection of the sensor data by the MoEl that visits this sensor node, (d) the energy efficiency of the mobile nodes, and (e) the effective assignment of groups of static sensor nodes to each one of the data mules.
Regarding the service time that each MoEl spends in order to gather the stored data from the static node that it has visited, real time delays from our previous experimental work [33] are taken into account. In this work, the Rime communication stack [34,35] was adopted over the Contiki operating system [36]. The application was performed using embedded computing devices (Motes) equipped with hardware that supports the IEEE 802.15.4 communication protocol.
A variation of the combinatorial optimization Traveling Salesman Subset-tour Problem (TSSP) is used to compute the paths for the M MoEls. TSSP is a relaxed variant of the TSP in which a feasible tour may not include a visit to every vertex. Such a tour varies from visiting no vertices (other than the start node) to visiting all the vertices. This approach is further extended to an MES scheme that accounts for the extraction of consecutive trajectories for the MoEls. These trajectories concurrently satisfy the priority, energy, and inter-visit duration constraints, in order to visit at least the set of nodes that have priority in each trajectory. Hence, an MILP-problem is generated along with the MES-scheme, and both assure that the MoEls return on time to the depot node for charging prior to their energy-drain, while eliminating data loss due to the nodes’ buffer overflow.

3. Optimization Problem Formulation

Let G = ( V , E ) be an edge-weighted graph with profits on its nodes. Profit assignment on nodes is used in the OP, where the goal is to determine a path, that visits some vertices and maximizes the sum of the collected profits. Thus, profits are used as a motivation for the MoEl to visit the static nodes. Given a node acting concurrently as starting node (source) and terminal (sink, or noted as depot), a positive time limit (budget) B and an inter-visit duration e j for each node j, the goal is to find sequential routes starting and ending at the depot node with maximum duration B while respecting the imposed inter-visit duration, such that the defined cost is maximized.
Let N be the number of nodes labeled by 1 , , N , where node ‘1’ is selected as the source and sink node as well, with M MoEls. Assume that p j is the profit of visiting node j, v t j the visiting/service time at visiting node j, and c i j the cost (traveling time) of traveling from i to j node using constant speed. Furthermore, let P r be the set of nodes that have to be visited/serviced by the MoEl in the extracted route, in order to avoid nodes’ buffer overflow. Priority can also be given to a set of nodes that collect critical data. For every route, if node i is followed by node j, the variable x i j is set to 1; otherwise, it is set to 0.
The MILP optimization problem [32] is:
max m = 1 M i = 1 N j = 1 N ( p j c i j v t j ) x i j m
The objective function consists of three parts: (a) the first refers to the profit that is collected by the M MoEls when they visit the static nodes. The profit that is assigned to the static nodes is not the same within a cycle of the m concurrent trajectories, which are to be followed by the M MoEls. Each static node’s profit varies in correspondence with the priority that is assigned to this node. This priority is defined based mainly on the nodes’ consecutive visit intervals that are imposed by the importance of the stored sensors’ measurements and nodes’ hardware constraints; (b and c) the second and third elements of the objective function penalize the exported trajectories. These respectively refer to the travel costs between the couple of vertices, and the visiting time to a vertex that is actually a delay for the MoEl during its trip.
The constraints in the MILP problem are:
Equalities
m = 1 M j = 2 N x 1 j m = M ,
m = 1 M i = 2 N x i 1 m = M .
(1) and (2) ensure that each MoEl’s path starts and ends at node 1 (depot).
m = 1 M j = 1 p j N x p j m = 1 , nodes p P r N ,
m = 1 M i = 1 i p N x i p m = 1 , nodes p P r N .
(3) and (4) ensure that nodes j P r are included once in any of the extracted m routes.
i = 1 i j N x i j m k = 1 k j N x j k m = 0 ,   nodes   j = 1 , , N ,       MoEls   m = 1 , 2 , , M .
(5) ensures that a visit to node j by the mth-MoEl has a corresponding departure.
Inequalities
m = 1 M ( x i j m + x j i m ) 1 , nodes i , j = 1 , , N , i j .
(6) indicates the existence of a complete directed graph between the WSN’s static nodes.
i J j J j i x i j m | J | 1 , subset J N , | J | > 2 , MoEls m = 1 , 2 , , M ,
where the symbol | J | refers to the cardinality of set J .
(7) is formed separately for each MoEl and eliminates sub-tours. A sub-tour is defined as a subset of locations that are connected within a route, which excludes the depot node.
m = 1 M i = 1 i r N x i r m 1 , nodes r = 2 , , N ,
m = 1 M j = 1 j r N x r j m 1 , nodes r = 2 , , N .
(8) and (9) account for the requirement for connectivity within a route; these ensure that each route that starts from the depot node ends at the same node as well via a set of transitions between the vertices/nodes. Furthermore, each static node is visited at most once and only by one MoEl during the cycle of the concurrent M routes that are followed by the equal number MoEls.
j = 2 N x 1 j m 1 , MoEls m = 1 , 2 , , M .
(10) ensures that each MoEl visits a different static node after leaving from the depot node.
i = 1 N j = 1 N i j ( c i j + v t j ) x i j m B , MoEls m = 1 , 2 , , M .
(11) accounts for the requirement that each one of the M routes meets the defined time budget B. This limit in time budget is imposed by the energy consumption of the MoEls and the requirement for their periodical recharging that takes place every time an MoEl returns to the depot node.
i T j T j i ( c i j + v t j ) x i j m e j , subset T N , j nodes P r N , MoEls m = 1 , 2 , , M ,
where T refers to the subsets of nodes that start at node 1 and end at node j P r N .
(12) ensures that the time intervals e j between consecutive visits to each static node/vertex j meet j P r . This constraint handles the described scenario and is differentiated by Time-Dependent and Time Windows TSP versions that are reviewed in [37].
x i j m { 0 , 1 } nodes i , j = 1 , , N , i j , MoEls m = 1 , 2 , , M .
(13) describes the binary nature of the decision variables.
The extracted route contains the prioritized nodes, whose profits are assigned accordingly and taken into account in the MILP objective function, whereas the equalities (3) and (4) and inequalities set (12) account for the prioritization constraints.

4. Mobile Element Scheduling Scheme

After the optimization problem formulation that provides the paths for the M MoEls, an optimal solution results in feasible paths under the imposed constraints. In order to obtain an iterative extraction of these paths for the M mobile nodes, it is important to create an MES. Such a scheme accounts for the extraction of consecutive M paths while satisfying the constraints of the aforementioned optimization problem. In particular, the consecutive visits’ interval limit (or expiration time) e j for each static node-j is monitored, since this denotes either the criticality of a sensor’s stored data or its storage limitation and imposes a priority in visiting for each static node j. The adopted MES scheme [32] was adapted to expand the case of a static WSN for data harvesting purposes by M MoEls.
The structure of the MES scheme is presented in (a) Algorithm 1, in which the problem variables are initialized, and (b) Algorithm 2, which explains the main steps of the overall procedure. Furthermore, Algorithms 3 and 4 are devoted to the calculation of expiration time e j , definition of priority set P r , and the corresponding re-calculation of each static node’s profit based on its priority. The last two algorithmic processes take place after every iteration and solution of the optimization problem, and the resulting values are imported as inputs towards the extraction of the next M MoEl paths. The main Algorithm 2 of the scheme also accounts for the case that the optimization problem cannot find any feasible solution. In this case, lines 15–31 of this algorithm are executed recursively until the optimization problem finds a solution for a subset of nodes that belong to the priority set P r . When a solution is extracted, the initially prioritized nodes, which are not included in the extracted M paths at the end, are stored as data loss.
Algorithm 1 Initialization phase of Mobile Element Scheduling scheme
1:
procedure Initialize the input data for the MES scheme
2:
    Set static nodes and depot node locations
3:
    Set the time budget B for the M routes
4:
    Set the charging time ( c h a r g i n g _ t i m e ) at depot for the MoEl
5:
    Set storage limit for each static node
6:
    Calculate the visiting/service time v t j for each MoEl at each static node (time to
      transmit the stored data from the static node to the MoEl)
7:
    Initialize the expiration time e j (consecutive visits interval) for each static node
8:
    Initialize each static node priority ( p r i o r i t y j ) based on e j
9:
    Calculate distances between nodes’ locations d i j
10:
    Calculate the corresponding traveling time c i j for the case of a uniform motion
11:
    Calculate the time constraint x i j as
     t i m e _ c o n s t r a i n t ( x i j ) = t r a v e l i n g _ t i m e ( x i j ) + v i s i t i n g _ t i m e ( j ) = c i j + v t j
12:
    Initialize profit p j collected by visiting each node
13:
end procedure
Algorithm 2 Mobile Element Scheduling scheme
1:
procedure Main algorithm
2:
   Apply Initialization Algorithm 1
3:
main loop:
4:
   Solve the Optimization Problem (from Section 4) and find the routes for all M
    MoEls
5:
   if Optimization Problem has solution then
6:
    for r o u t e o f M r o u t e s do
7:
     for n o d e j r o u t e do
8:
      Calculate the traveling duration from depot to node j ( d e p o t 2 n o d e _ d u r a t i o n )
9:
      Reset e j and p r i o r i t y j ( P r set) (presented in Algorithm 3)
10:
      Reset profit p j (presented in Algorithm 4)
11:
     end for
12:
    end for
13:
    goto main loop
14:
   else
15:
case loop:
16:
    while Optimization Problem has no solution do
17:
     Take a subset of the prioritized nodes P r sorted by their e j
18:
     Solve the Optimization Problem and find the routes for all M MoEls
19:
     if Optimization Problem has solution then
20:
      for r o u t e o f M r o u t e s do
21:
       for n o d e j P r a n d r o u t e do
22:
        Calculate the traveling duration from depot to node j ( d e p o t 2 n o d e _ d u r a t i o n )
23:
       Reset e j and p r i o r i t y j ( P r set) (presented in Algorithm 3)
24:
       Reset profit p j (Algorithm 4)
25:
       end for
26:
      end for
27:
      for n o d e j P r b u t i n M r o u t e s do
28:
       Regard its data as data loss
29:
      end for
30:
     else if (Optimization Problem has no solution
       and there are still subsets of the prioritized nodes P r )
31:
      goto case loop
32:
     else
33:
      for n o d e j P r do
34:
       Regard its data as data loss
35:
      end for
36:
      break
37:
     end if
38:
    end while
39:
   end if
40:
   goto main loop
41:
end procedure
Algorithm 3 Reset nodes’ expiration time and priority function
1:
procedure Reset nodes’ expiration time and priority
2:
   for n o d e j r o u t e do
3:
    e j = e _ i n i t i a l j c h a r g i n g _ t i m e ( r o u t e _ d u r a t i o n d e p o t 2 n o d e _ d u r a t i o n j )
4:
   end for
5:
   for n o d e j P r b u t r o u t e do
6:
    e j = e _ i n i t i a l j c h a r g i n g _ t i m e
7:
   end for
8:
   for n o d e j do
9:
    if e j ( 1 + ϵ ) × ( b u d g e t + c h a r g i n g _ t i m e ) ( ϵ 0.2 in our simulation studies) then
10:
     Include node j in the priority set P r for the next route
11:
    end if
12:
   end for
13:
end procedure
Algorithm 4 Reset nodes’ profit function
1:
procedure Reset nodes’ profit
2:
   Sort expiration time vector e j for all static nodes
3:
   Give each node j a profit p j by multiplying the standard initial profit with a value
    related to its order in the priority list
4:
end procedure

5. Simulation Studies

5.1. Data Mule for Low Complexity Sparse WSN ( N = 7 )

A scenario of a sparse WSN with seven deployed static nodes is adopted in order to evaluate the efficiency of the proposed MES scheme along with the formulated optimization MILP problem. This scenario is similar to [32], where only one MoEl was used to accomplish the data harvesting process over a deployment of static nodes.
In the first (top-left) sub-Figure 2, the static sensor nodes’ deployment is presented along with the depot node ‘1’. The charged MoEls start and end their routes at the depot node, in which the MoEls’ stored data are transmitted and stored. Furthermore, in the same Figure, the circular sensing/communicating regions of each static node are designed, resulting in a disconnected network.
The profit value p j assigned to each static node depends on its priority; a standard profit value is multiplied by a factor that is proportional to each node’s priority (e.g., the highest priority node’s profit is multiplied with the greater number of the vector [ 1 , , 6 ] ). The initial value for the profit is given by p _ i n i t i a l = m e d i a n ( c + v ) , where the cost c is calculated as c = d i s t _ v e c t o r / s p e e d . Specifically, d i s t _ v e c t o r is a vector that includes the distances per pair of static nodes and per MoEl and uniform s p e e d = 0.2 m / s . In addition, v is a vector of v t j , which is the visiting time of the MoEl at a static node j and is defined by the static node’s storage capacity and the corresponding required data transmission duration experimentally estimated in [33]. The static nodes profits are recalculated in every iteration of the MES scheme algorithm based on the Algorithm 4 and each profit is related to the edge x i j m that leads to the vertex j.
The vector v t j depends on the storage capacity of the static nodes defined in the presented scenario as the vector [ 0 , 3 , 8 , 1 , 2 , 4 , 5 ] for the set of static nodes expressed in Kbytes of stored data. The corresponding visiting time vector is [ 0 , 24 , 68 , 7 , 15 , 34 , 39 ] s based on [33]. The initial expiration time for the nodes is set as e _ i n i t i a l = [ 0 , 1080 , 1200 , 900 , 600 , 720 , 720 ] s . This vector denotes the frequency that every node has to be visited by an MoEl and hsa to transmit the stored data, due to these data criticality/storage limitations. Hence, this expiration time vector further determines the priority order of the nodes. It is used in the inequality set (12) and constrains the travel time of an MoEl towards a prioritized static node. This constraint sets an upper limit to the MoEl’s travel time starting from the depot and visiting the prioritized node j; this limit is imposed by the dynamically calculated deadline e j , after each iteration of the combined MES scheme. Finally, the time budget B that is set as a duration limit for the extracted routes is set as 360 s , while the charging duration value is 60 s . The optimization MILP problem was solved using Matlab’s i n t l i n p r o g routine of the Optimization Toolbox.
It should be noted that the utilized storage WSN capacity and the download rate in setting the simulation parameters came from our previous work [33], where the communication protocol and data packet transfer were considered for a more realistic simulation study. The objective here is to evaluate the MES scheme efficiency and to investigate the number of data mules/MoEls that could guarantee no data loss within the network.

5.1.1. M = 2 MoEls Case

In the first simulation case, M = 2 MoEls are employed, and the first five iterations of the MES scheme and the extracted routes are presented in Figure 2. In Table 1, the estimated values for the optimization problem variables for the first 15 iterations are stored. The first column of this table notes the iteration steps, whereas the extracted routes for each one of the two MoEls are presented in the second column. Each route duration is shown in the third column, and it is actually bounded by the time budget B that was set as upper limit for the route duration in equality (11). The timestamp of the route by which the MoEl visits each static node is noted in the next column ( d e p o t 2 n o d e _ d u r a t i o n ). This timestamp vector in the fourth column has as many elements as the number of static nodes, so as each element index is the visit timestamp for the corresponding node in order. A zero value in this vector means that this node was not visited during the current route. Furthermore, the first element of each vector in this column coincides with the corresponding route duration, since the MoEls return always to the depot node after visiting the assigned static nodes.
The fifth and sixth columns include the priority nodes and the expiration time vector as calculated after the extraction of the M routes for the current iteration. These two variables function as input for the next iteration and contribute to the formulation of the priority-related constraints of the MILP problem. Thus, the p r i o r i t y   n o d e s column shows the nodes that have to be visited in the next route by an MoEl; otherwise, the stored data of such a node will be taken as data loss. These priority nodes are extracted based on the values of the expiration time vector e given the condition that is checked in lines 8–12 of Algorithm 3. Therefore, nodes are indicated as prioritized only those for which this condition holds. Otherwise, each node has its order in the priority list, but it is not critical to visit them in the successor route. Vector e imposes the upper bound of the visit timestamp for each static node in the next route. The values of e that are over the aforementioned condition bound denote exactly these non-critical to visit in the upcoming route nodes. In the case of no visit to a node within the time period imposed by the vector e, this node’s stored data are counted as data loss. The last column of this table presents the nodes whose data are finally regarded as lost in the current M routes. Thus, the expiration time of such a node is re-initialized for the next iteration of the algorithm.

5.1.2. M = 3 MoEls Case

The simulation study using M = 3 MoEls is similarly presented in Figure 3 and Table 2. This comparison clearly indicates that no data loss occurred in the data retrieval when one extra date-mule was used, despite the tight limits in the intervals of the sequential visits to the static nodes.

5.2. Data Mule for Medium Complexity WSN ( M = 3 , N = 13 )

In the next case study, a deployment of 13 static sensor nodes served by M = 3 MoEls is assumed. The storage capacity of these nodes is set to [ 0 , 3 , 8 , 1 , 2 , 4 , 5 , 6 , 1 , 2 , 3 , 2 , 1 ] Kbytes, which corresponds to visiting/service time v t j = [ 0 , 24 , 68 , 7 , 15 , 34 , 39 , 48 , 7 , 15 , 24 , 15 , 7 ] s . The expiration time for the nodes is initialized as e _ i n i t i a l = [ 0 , 1800 , 1500 , 1200 , 1200 , 1500 , 1500 , 1800 , 2400 , 2400 , 2400 , 1200 , 1800 ] s . The time budget limit for each route is B = 400 s , while the charging duration value is 60 s . Following the same approach of the combined MES scheme and MILP formulation, the simulation results are presented in Figure 4 and Table 3. In this Figure, the routes of the 5th–9th iterations of the algorithm are presented.
In Table 3, it can be seen in the fifth, sixth, and eighth iteration rows that the estimated corresponding high prioritized nodes are 9, 3, and 11. These are the nodes that it is critical to be visited within the M successor routes; otherwise, their stored data will be counted as data loss. Indeed, it can be seen in Figure 4 that the aforementioned nodes are visited in the sixth, seventh, and ninth iteration extracted routes. Actually, since the initial expiration times e _ i n i t i a l for the distant nodes 9 and 11 were both set to 2400 s , these nodes do not need to be visited quite frequently. Hence, the MoEls do not need to spend extra energy to meet these distant nodes in each iteration, and based on the estimated priority, these nodes are visited when it is critical for them to be served.
In the fifth iteration, we observe that the route of MoEl 3 passes close to the static node 8 without visiting it. This happens since in the fourth iteration of the algorithm, the expiration time for node 8 was calculated as 1500.6 s , which corresponds to low priority for the next iteration compared to the rest of the static nodes. The same occurs also for the same node in the eightth iteration route of MoEl 1. Hence, the MoEls try to visit the nodes that are in the first places of the prioritized list, while concurrently needing to meet the defined limit of each route time budget B.

5.3. Data Mule for Medium Complexity WSN ( M = 3 , N = 13 )—No Priorities Assigned

In this section, we consider the aforementioned case study having deactivated the prioritized nodes scheme. Hence, despite the estimation of priority nodes set P r via the MES scheme after each iteration, the corresponding re-calculation of each static node’s profit based on its priority (Algorithm 4) is not applied. The profit p j is equal for all the static nodes, and equalities (3) and (4) and inequalities set (12), which account for the prioritization constraints not being used anymore.
In Figure 5 and Table 4, the extracted routes along with the estimated values for the optimization problem variables for the first 10 iterations are stored. The optimization extracts exactly the same routes in each iteration, as shown in this Figure and in the second column of the aforementioned Table. This behavior resulted from the assumption that the prioritized nodes are no longer considered as input for the next iteration of the algorithm. Thus, the solution of the MILP problem provides the same routes, which tend to visit as many nodes as possible in order to collect higher profit and concurrently meet the time budget limit B that is assigned for each route. Due to this profit collection, the MoEl ‘prefers’ to visit more nodes within its route rather than visiting just one distant node (e.g., node 9 or 11). In a similar way, the extracted routes do not include node 3, despite its closeness compared to nodes 9 and 11, because this node has a capacity of 8 Kbytes requiring a visiting time of v t j = 68 s , thus resulting in higher travel and service cost.
The priority nodes and the estimated expiration time for all the nodes appear in the fifth and sixth columns of Table 4 for each iteration. However, this priority is not considered in the next iteration, resulting in these nodes’ data loss in the upcoming iteration (last column of the Table).

5.4. Discussion

The presented concept is similar to that of [30], where each task/monitoring location has to be serviced by the same MoEl throughout a mission having fixed revisit intervals. In our implementation, these intervals are dynamically calculated among the consecutive paths via the proposed MES scheme. Then, the successor routes for the M MoEls are calculated again by the MILP problem, resulting in different MoEl routes between consecutive iterations. Thus, in the current work, the static nodes are not assigned to specific MoEls.
We should note that this formulation does not provide the minimum number of MoEls in order not to experience any data loss. This is a separate problem and requires a reformulation of the overall objective.
Furthermore, the computational complexity of the suggested MILP problem increases significantly with the number of the MoEls and the static nodes. In this case, sub-optimum solvers need to provide an initial estimate of the a solution, and the algorithm needs to be properly initialized.

6. Conclusions and Topics for Further Research

The data harvesting problem over a WSN using several MoEls acting as data mules is considered in this article. The problem is formulated as a Mobile Element Scheduling scheme, along with a MILP-optimization problem. Both account for the extraction of the routes to be travelled by the data mules within the network. The optimization problem is formulated based on individual time, distance, and energy constraints for both the static and the mobile nodes. With this iterative implementation, the objectives of continuous collection of sensor measurements and the data delivery to the base station in a periodic mode are achieved. Simulation studies are used to validate the advocated MES-scheme/MILP optimization problem.
A possible extension is the reformulation of the MILP problem, which will allow the static nodes to be visited more than once in a route by different MoEls. Furthermore, rather than using straight line segments, different types of paths can be employed (Dubins paths or Bezier curves). In this case, non-holonomic vechicles can be used as MoEls involving their kinodynamic equations in the MILP formulation.

Author Contributions

Conceptualization, O.T. and A.T.; methodology, O.T. and A.T.; software, O.T.; investigation, O.T. and A.T.; data curation, O.T.; writing—original draft preparation, O.T. and A.T.; writing—review and editing, O.T. and A.T.; visualization, O.T.; supervision, A.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
data muledata Mobile Ubiquitous Local area network Extensions
MoElMobile Element
MESMobile Element Scheduling
MILPMixed Integer Linear Programming
MTSPMultiple Traveling Salesman Problem
NP-hardNon-deterministic Polynomial-time hard
OPOrienteering Problem
OPTWOrienteering Problem with Time Windows
PISRPersistent Intelligence, Surveillance, and Reconnaissance
TSPTraveling Salesman Problem
TSSPTravel Salesman Subset-Tour Problem
UAVUnmanned Aerial Vehicle
VRPVehicle Routing Problem
WSNWireless Sensor Network

References

  1. Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. Wireless sensor networks: A survey. Comput. Netw. 2002, 38, 393–422. [Google Scholar] [CrossRef] [Green Version]
  2. Kandris, D.; Tsioumas, P.; Tzes, A.; Nikolakopoulos, G.; Vergados, D.D. Power conservation through energy efficient routing in wireless sensor networks. Sensors 2009, 9, 7320–7342. [Google Scholar] [CrossRef]
  3. Akkaya, K.; Younis, M. A survey on routing protocols for wireless sensor networks. Ad Hoc Netw. 2005, 3, 325–349. [Google Scholar] [CrossRef] [Green Version]
  4. Bhadauria, D.; Isler, V. Data gathering tours for mobile robots. In Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, St. Louis, MO, USA, 10–15 October 2009; pp. 3868–3873. [Google Scholar]
  5. Bhadauria, D.; Tekdas, O.; Isler, V. Robotic data mules for collecting data over sparse sensor fields. J. Field Robot. 2011, 28, 388–404. [Google Scholar] [CrossRef] [Green Version]
  6. Somasundara, A.A.; Ramamoorthy, A.; Srivastava, M.B. Mobile element scheduling for efficient data collection in wireless sensor networks with dynamic deadlines. In Proceedings of the 25th IEEE International Real-Time Systems Symposium, Lisbon, Portugal, 5–8 December 2004; pp. 296–305. [Google Scholar]
  7. Zhao, W.; Ammar, M. Message ferrying: Proactive routing in highly-partitioned wireless ad hoc networks. In Proceedings of the Ninth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS 2003), San Juan, PR, USA, 30 May 2003; pp. 308–314. [Google Scholar] [CrossRef]
  8. Zhao, W.; Ammar, M.; Zegura, E. A message ferrying approach for data delivery in sparse mobile ad hoc networks. In Proceedings of the 5th ACM International Symposium on Mobile Ad Hoc Networking and Computing, Tokyo, Japan, 24–26 May 2004; pp. 187–198. [Google Scholar]
  9. Jarry, A.; Leone, P.; Nikoletseas, S.; Rolim, J. Optimal data gathering paths and energy-balance mechanisms in wireless networks. Ad Hoc Netw. 2011, 9, 1036–1048. [Google Scholar] [CrossRef] [Green Version]
  10. Kinalis, A.; Nikoletseas, S.; Patroumpa, D.; Rolim, J. Biased sink mobility with adaptive stop times for low latency data collection in sensor networks. Inf. Fusion 2014, 15, 56–63, Special Issue: Resource Constrained Networks. [Google Scholar] [CrossRef]
  11. Lai, Y.L.; Jiang, J.R. A genetic algorithm for data mule path planning in wireless sensor networks. Appl. Math 2013, 7, 413–419. [Google Scholar] [CrossRef]
  12. Xu, R.; Dai, H.; Jia, Z.; Qiu, M.; Wang, B. A piecewise geometry method for optimizing the motion planning of data mule in tele-health wireless sensor networks. Wirel. Netw. 2014, 20, 1839–1858. [Google Scholar] [CrossRef]
  13. Martinez-de Dios, J.R.; Lferd, K.; de San Bernabé, A.; Núnez, G.; Torres-González, A.; Ollero, A. Cooperation between uas and wireless sensor networks for efficient data collection in large environments. J. Intell. Robot. Syst. 2013, 70, 491–508. [Google Scholar] [CrossRef]
  14. Yuan, B.; Orlowska, M.; Sadiq, S. On the optimal robot routing problem in wireless sensor networks. IEEE Trans. Knowl. Data Eng. 2007, 19, 1252–1261. [Google Scholar] [CrossRef] [Green Version]
  15. Golden, B.L.; Levy, L.; Vohra, R. The orienteering problem. Nav. Res. Logist. 1987, 34, 307–318. [Google Scholar] [CrossRef]
  16. Vansteenwegen, P.; Souffriau, W.; Van Oudheusden, D. The orienteering problem: A survey. Eur. J. Oper. Res. 2011, 209, 1–10. [Google Scholar] [CrossRef]
  17. Dantzig, G.B.; Ramser, J.H. The truck dispatching problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
  18. Caceres-Cruz, J.; Arias, P.; Guimarans, D.; Riera, D.; Juan, A.A. Rich vehicle routing problem: Survey. ACM Comput. Surv. (CSUR) 2015, 47, 32. [Google Scholar] [CrossRef]
  19. Ma, M.; Yang, Y.; Zhao, M. Tour planning for mobile data-gathering mechanisms in wireless sensor networks. IEEE Trans. Veh. Technol. 2013, 62, 1472–1483. [Google Scholar] [CrossRef]
  20. Li, Y.; Yuan, X.; Zhu, J.; Huang, H.; Wu, M. Multiobjective scheduling of logistics UAVs based on variable neighborhood search. Appl. Sci. 2020, 10, 3575. [Google Scholar] [CrossRef]
  21. Konstantopoulos, C.; Mpitziopoulos, A.; Gavalas, D.; Pantziou, G. Effective determination of mobile agent itineraries for data aggregation on sensor networks. IEEE Trans. Knowl. Data Eng. 2010, 22, 1679–1693. [Google Scholar] [CrossRef]
  22. Labadie, N.; Mansini, R.; Melechovskỳ, J.; Calvo, R.W. The team orienteering problem with time windows: An lp-based granular variable neighborhood search. Eur. J. Oper. Res. 2012, 220, 15–27. [Google Scholar] [CrossRef]
  23. Verbeeck, C.; Sörensen, K.; Aghezzaf, E.H.; Vansteenwegen, P. A fast solution method for the time-dependent orienteering problem. Eur. J. Oper. Res. 2014, 236, 419–432. [Google Scholar] [CrossRef]
  24. Taş, D.; Gendreau, M.; Jabali, O.; Laporte, G. The traveling salesman problem with time-dependent service times. Eur. J. Oper. Res. 2016, 248, 372–383. [Google Scholar] [CrossRef]
  25. Chang, J.H.; Jan, R.H. Message ferry routing algorithm for data collection in partitioned and buffer-limited wireless sensor networks. J. Inf. Sci. Eng. 2012, 28, 655–669. [Google Scholar]
  26. Soylu, B. A general variable neighborhood search heuristic for multiple traveling salesmen problem. Comput. Ind. Eng. 2015, 90, 390–401. [Google Scholar] [CrossRef]
  27. Hu, Y.; Yao, Y.; Lee, W.S. A reinforcement learning approach for optimizing multiple traveling salesman problems over graphs. Knowl.-Based Syst. 2020, 204, 106244. [Google Scholar] [CrossRef]
  28. Yang, C.; Szeto, K.Y. Solving the traveling salesman problem with a multi-agent system. In Proceedings of the 2019 IEEE Congress on Evolutionary Computation (CEC), Wellington, New Zealand, 10–13 June 2019; pp. 158–165. [Google Scholar]
  29. da Silva, A.A.; Morabito, R.; Pureza, V. Optimization approaches to support the planning and analysis of travel itineraries. Expert Syst. Appl. 2018, 112, 321–330. [Google Scholar] [CrossRef]
  30. Manyam, S.G.; Rasmussen, S.; Casbeer, D.W.; Kalyanam, K.; Manickam, S. Multi-UAV routing for persistent intelligence surveillance & reconnaissance missions. In Proceedings of the 2017 International Conference on Unmanned Aircraft Systems (ICUAS), Miami, FL, USA, 13–16 June 2017; pp. 573–580. [Google Scholar]
  31. Scott, D.; Manyam, S.G.; Casbeer, D.W.; Kumar, M. Market approach to length constrained min-max multiple depot multiple traveling salesman problem. In Proceedings of the 2020 American Control Conference (ACC), Denver, CO, USA, 1–3 July 2020; pp. 138–143. [Google Scholar]
  32. Tsilomitrou, O.; Evangeliou, N.; Tzes, A. Mobile robot tour scheduling acting as data mule in a wireless sensor network. In Proceedings of the 2018 5th International Conference on Control, Decision and Information Technologies (CoDIT), Thessaloniki, Greece, 10–13 April 2018; pp. 327–332. [Google Scholar]
  33. Tsilomitrou, O.; Tzes, A.; Manesis, S. Mobile robot trajectory planning for large volume data-muling from wireless sensor nodes. In Proceedings of the 2017 25th Mediterranean Conference on Control and Automation (MED), Valletta, Malta, 3–6 July 2017; pp. 1005–1010. [Google Scholar]
  34. Dunkels, A. Rime—A lightweight layered communication stack for sensor networks. In Proceedings of the European Conference on Wireless Sensor Networks (EWSN), Delft, The Netherlands, 29–31 January 2007. [Google Scholar]
  35. Dunkels, A.; Österlind, F.; He, Z. An Adaptive Communication Architecture for Wireless Sensor Networks. In Proceedings of the 5th International Conference on Embedded Networked Sensor Systems (SenSys ’07), Sydney, Australia, 6–9 November 2007; ACM: New York, NY, USA, 2007; pp. 335–349. [Google Scholar]
  36. Dunkels, A.; Gronvall, B.; Voigt, T. Contiki—A lightweight and flexible operating system for tiny networked sensors. In Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks, Tampa, FL, USA, 16–18 November 2004; pp. 455–462. [Google Scholar]
  37. Cacchiani, V.; Contreras-Bolton, C.; Toth, P. Models and Algorithms for the Traveling Salesman Problem with Time-dependent Service times. Eur. J. Oper. Res. 2020, 283, 825–843. [Google Scholar] [CrossRef]
Figure 1. Data Mule Concept with 3 MoEls and 13 static nodes ( M = 3 , N = 13 ).
Figure 1. Data Mule Concept with 3 MoEls and 13 static nodes ( M = 3 , N = 13 ).
Applsci 12 00247 g001
Figure 2. Mobile Element Scheduling Routes with 2 MoEls and 7 Nodes.
Figure 2. Mobile Element Scheduling Routes with 2 MoEls and 7 Nodes.
Applsci 12 00247 g002
Figure 3. Mobile Element Scheduling Routes with 3 MoEls and 7 Nodes.
Figure 3. Mobile Element Scheduling Routes with 3 MoEls and 7 Nodes.
Applsci 12 00247 g003
Figure 4. Mobile Element Scheduling Routes with 3 MoEls and 13 Nodes.
Figure 4. Mobile Element Scheduling Routes with 3 MoEls and 13 Nodes.
Applsci 12 00247 g004
Figure 5. Mobile Element Scheduling Routes with 3 MoEls and 13 Nodes—No priorities assigned.
Figure 5. Mobile Element Scheduling Routes with 3 MoEls and 13 Nodes—No priorities assigned.
Applsci 12 00247 g005
Table 1. MES Routes Results for 7 Static Nodes and 2 MoEls.
Table 1. MES Routes Results for 7 Static Nodes and 2 MoEls.
Iteration StepsRoute NodesRoute Duration ( s )depot2node_duration ( s )Priority Nodese ( s )Data Loss Nodes
1[1 4 7 1]
[1 6 5 1]
324.5
301.6
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 223.5 134.1 0]
[5 6][0 695.5 815.5 596.8 439.0 469.6 581.7][-]
2[1 4 7 1]
[1 6 5 1]
324.5
301.6
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 223.5 134.1 0]
[2 3 5 6][0 311.0 431.0 596.8 439.0 469.6 581.7][-]
3[1 2 5 1]
[1 3 1]
352.1
346.6
[352.1 126.6 0 0 274.0 0 0]
[346.6 0 207.3 0 0 0 0]
[4 5 7][0 794.5 995.2 184.8 461.9 660.0 169.7][6]
4[1 6 5 1]
[1 7 4 1]
301.6
324.5
[301.6 0 0 0 223.5 134.1 0]
[324.5 0 0 250.2 0 0 117.3]
[2 5 6 7][0 410.0 610.7 765.7 439.0 469.6 452.8][-]
5[1 5 6 1]
[1 7 2 1]
301.6
353.9
[301.6 0 0 0 93.1 201.4 0]
[353.9 251.3 0 0 0 0 117.3]
[3 4 5 7][0 917.4 196.9 351.8 279.2 507.6 423.4][-]
6[1 5 6 1]
[1 4 7 1]
301.6
324.5
[301.6 0 0 0 93.1 201.4 0]
[324.5 0 0 81.3 0 0 246.2]
[5][0 532.9 1140.0 596.8 308.6 536.9 581.7][3]
7[1 5 6 1]
[1 2 7 1]
301.6
353.9
[301.6 0 0 0 93.1 201.4 0]
[353.9 126.6 0 0 0 0 275.6]
[4 5][0 792.7 726.1 183.0 279.2 507.6 581.7][-]
8[1 4 7 1]
[1 5 6 1]
324.5
301.6
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 93.1 201.4 0]
[2 3 5][0 408.2 341.7 596.8 308.6 537.0 581.7][-]
9[1 2 5 1]
[1 3 1]
352.1
346.6
[352.8 126.6 0 0 274.0 0 0]
[346.6 0 207.3 0 0 0 0]
[4 5 6 7][0 794.5 995.2 184.8 461.9 124.9 169.7][-]
10[1 5 6 1]
[1 7 4 1]
301.6
324.5
[301.6 0 0 0 93.1 201.4 0]
[324.5 0 0 250.2 0 0 117.3]
[2 5 7][0 410.0 610.7 765.7 308.6 536.9 452.8][-]
11[1 5 6 1]
[1 2 7 1]
301.6
353.9
[301.6 0 0 0 93.1 201.4 0]
[353.9 126.6 0 0 0 0 275.6]
[3 4 5][0 792.7 196.9 351.8 279.2 507.6 581.7][-]
12[1 4 5 1]
[1 3 1]
274.6
346.6
[274.6 0 0 81.3 196.5 0 0]
[346.6 0 207.3 0 0 0 0]
[2 5 6 7][0 386.2 1140.0 574.8 389.9 101.0 175.2][-]
13[1 7 2 1]
[1 6 5 1]
353.9
301.6
[353.9 251.3 0 0 0 0 117.3]
[301.6 0 0 0 223.5 134.1 0]
[4 5 7][0 917.4 726.1 160.9 409.6 660.0 423.4][-]
14[1 7 4 1]
[1 5 6 1]
324.5
301.6
[324.5 0 0 250.2 0 0 117.3]
[301.6 0 0 0 93.1 201.4 0]
[3 5 7][0 532.9 341.7 765.7 308.6 537.0 452.8][-]
15[1 3 1]
[1 2 5 1]
346.6
352.1
[346.6 0 207.3 0 0 0 0]
[352.1 126.6 0 0 274.0 0 0]
[4 5 6][0 794.5 995.2 353.6 461.9 124.9 660.0][7]
Table 2. MES Routes Results for 7 Static Nodes and 3 MoEls.
Table 2. MES Routes Results for 7 Static Nodes and 3 MoEls.
Iteration StepsRoute NodesRoute Duration ( s )depot2node_duration ( s )Priority Nodese ( s )Data Loss Nodes
1[1 2 6 1]
[1 7 1]
[1 4 5 1]
339.8
195.5
274.6
[339.8 126.6 0 0 0 239.6 0]
[195.5 0 0 0 0 0 117.3]
[274.6 0 0 81.3 196.5 0 0]
[5 7][0 806.8 800.2 581.6 396.7 559.9 437.5][-]
2[1 4 1]
[1 5 6 1]
[1 7 1]
155.7
301.6
195.5
[155.7 0 0 81.3 0 0 0]
[301.6 0 0 0 93.1 201.4 0]
[195.5 0 0 0 0 0 117.3]
[2 3 5 7][0 445.3 438.7 619.8 331.5 559.9 475.7][-]
3[1 3 1]
[1 6 5 1]
[1 7 2 1]
346.6
301.6
353.9
[346.6 0 207.3 0 0 0 0]
[301.6 0 0 0 223.5 134.1 0]
[353.9 251.3 0 0 0 0 117.3]
[4 5 6 7][0 917.4 993.4 205.9 409.6 440.3 423.4][-]
4[1 5 4 1]
[1 7 1]
[1 2 6 1]
274.6
195.5
339.8
[274.6 0 0 200.2 93.1 0 0]
[195.5 0 0 0 0 0 117.3]
[339.8 126.6 0 0 0 239.6 0]
[5 7][0 806.8 593.7 700.5 293.3 559.9 437.5][-]
5[1 3 1]
[1 4 7 1]
[1 5 6 1]
346.6
324.5
301.6
[346.6 0 207.3 0 0 0 0]
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 93.1 201.4 0]
[2 5][0 400.3 1000.7 574.8 286.5 514.9 559.7][-]
6[1 2 6 1]
[1 7 1]
[1 4 5 1]
339.8
195.5
274.6
[339.8 126.6 0 0 0 239.6 0]
[195.5 0 0 0 0 0 117.3]
[274.6 0 0 81.3 196.5 0 0]
[5 7][0 806.8 600.9 581.6 396.7 559.9 437.5][-]
7[1 4 1]
[1 5 6 1]
[1 7 1]
155.7
301.6
195.5
[155.7 0 0 81.3 0 0 0]
[301.6 0 0 0 93.1 201.4 0]
[195.5 0 0 0 0 0 117.3]
[2 3 5 7][0 445.3 239.4 619.8 331.5 559.9 475.7][-]
8[1 3 1]
[1 5 6 1]
[1 7 2 1]
346.6
301.6
353.9
[346.6 0 207.3 0 0 0 0]
[301.6 0 0 0 93.1 201.4 0]
[353.9 251.3 0 0 0 0 117.3]
[4 5 7][0 917.4 993.4 206.0 279.2 507.6 423.4][-]
9[1 7 1]
[1 6 2 1]
[1 5 4 1]
195.5
339.8
274.6
[195.5 0 0 0 0 0 117.3]
[339.8 237.2 0 0 0 134.1 0]
[274.6 0 0 200.2 93.1 0 0]
[5 6 7][0 917.4 593.7 700.5 293.3 454.4 437.5][-]
10[1 4 7 1]
[1 5 6 1]
[1 3 1]
324.5
301.6
346.6
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 93.1 201.4 0]
[346.6 0 207.3 0 0 0 0]
[5][0 510.8 1000.7 574.8 286.5 514.9 559.7][-]
11[1 7 1]
[1 2 6 1]
[1 4 5 1]
195.5
339.8
274.6
[195.5 0 0 0 0 0 117.3]
[339.8 126.6 0 0 0 239.6 0]
[274.6 0 0 81.3 196.5 0 0]
[5 7][0 806.8 600.9 581.6 396.7 559.9 437.5][-]
12[1 4 1]
[1 5 6 1]
[1 7 1]
155.7
301.6
195.5
[155.7 0 0 81.3 0 0 0]
[301.6 0 0 0 93.1 201.4 0]
[195.5 0 0 0 0 0 117.3]
[2 3 5 7][0 445.3 239.4 619.8 331.5 559.9 475.7][-]
13[1 3 1]
[1 5 6 1]
[1 7 2 1]
346.6
301.6
353.9
[346.6 0 207.3 0 0 0 0]
[301.6 0 0 0 93.1 201.4 0]
[353.9 251.3 0 0 0 0 117.3]
[4 5 7][0 917.4 993.4 205.9 279.2 507.6 423.4][-]
14[1 7 1]
[1 6 2 1]
[1 5 4 1]
195.5
339.8
274.6
[195.5 0 0 0 0 0 117.3]
[339.8 237.2 0 0 0 134.1 0]
[274.6 0 0 200.2 93.1 0 0]
[5 6 7][0 917.4 593.7 700.5 293.3 454.4 437.5][-]
15[1 4 7 1]
[1 5 6 1]
[1 3 1]
324.5
301.6
346.6
[324.5 0 0 81.3 0 0 246.2]
[301.6 0 0 0 93.1 201.4 0]
[346.6 0 207.3 0 0 0 0]
[5][0 510.8 1000.7 574.8 286.5 514.9 559.7][-]
Table 3. MES Routes Results for 13 Nodes and 3 MoEls.
Table 3. MES Routes Results for 13 Nodes and 3 MoEls.
Iteration StepsRoute NodesRoute Duration ( s )depot2node_duration ( s )Priority Nodese ( s )Data Loss Nodes
1[1 4 3 12 1]
[1 7 2 1]
[1 5 6 1]
390.0
341.9
301.6
[390.0 0 224.3 81.3 0 0 0 0 0 0 0 310.0 0]
[341.9 219.4 0 0 0 0 117.3 0 0 0 0 0 0]
[301.6 0 0 0 93.1 201.4 0 0 0 0 0 0 0]
[-][0 1569.3 1274.3 831.3 843.1 1251.4 1167.2
1350.0 1950.0 1950.0 1950.0 1060.0 1350.0]
[-]
2[1 4 3 12 1]
[1 8 7 1]
[1 6 5 1]
390.0
377.9
301.6
[390.0 0 224.3 81.3 0 0 0 0 0 0 0 310.0 0]
[377.9 0 0 0 0 0 299.6 150.6 0 0 0 0 0]
[301.6 0 0 0 223.5 134.1 0 0 0 0 0 0 0]
[-][0 1119.3 1274.3 831.3 973.4 1184.1 1349.6
1500.6 1499.9 1499.9 1499.9 1060.0 899.9]
[-]
3[1 6 5 12 1]
[1 7 10 4 1]
[1 2 13 1]
372.3
385.7
375.7
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[385.7 0 0 311.4 0 0 117.3 0 0 214.3 0 0 0]
[375.1 146.6 0 0 0 0 0 0 0 0 0 0 230.1]
[-][0 1500.8 828.6 1065.7 977.7 1188.4 1171.5
1054.8 1054.2 2168.5 1054.2 1046.6 1584.3]
[-]
4[1 12 3 4 1]
[1 11 5 1]
[1 8 7 1]
390.0
367.8
377.9
[390.0 0 233.7 315.7 0 0 0 0 0 0 0 95.0 0]
[367.8 0 0 0 289.7 0 0 0 0 0 187.2 0 0]
[377.9 0 0 0 0 0 299.6 150.6 0 0 0 0 0]
[-][0 1050.8 1283.7 1065.7 1039.7 738.3 1349.6
1500.6 604.1 1718.5 2137.2 845.0 1134.3]
[-]
5[1 7 10 4 1]
[1 12 5 6 1]
[1 2 13 1]
385.7
372.3
375.1
[385.7 0 0 311.4 0 0 117.3 0 0 214.30 0 0]
[372.3 0 0 0 163.9 272.2 0 0 0 0 0 95.0 0]
[375.1 146.6 0 0 0 0 0 0 0 0 0 0 230.1]
[9][0 1500.8 837.9 1065.7 918.1 1326.4 1171.5
1054.8 158.4 2168.5 1691.5 849.3 1584.3]
[-]
6[1 9 1]
[1 5 1]
[1 4 12 1]
397.0
171.2
232.2
[397.0 0 0 0 0 0 0 0 202.0 0 0 0 0]
[171.2 0 0 0 93.1 0 0 0 0 0 0 0 0]
[232.2 0 0 81.3 0 0 0 0 0 0 0 152.2 0]
[3][0 1043.8 380.9 824.3 836.1 869.4 714.5
597.8 2145.0 1711.5 1234.5 895.2 1127.3]
[-]
7[1 6 5 1]
[1 12 3 4 1]
[1 7 8 1]
301.6
390.0
377.9
[301.6 0 0 0 23.5 134.1 0 0 0 0 0 0 0]
[390.0 0 233.7 315.7 0 0 0 0 0 0 0 95.0 0]
[377.9 0 0 0 0 0 117.3 275.3 0 0 0 0 0]
[-][0 593.8 1283.7 1065.7 973.4 1184.1 1167.2
1625.2 1695.0 1261.5 784.4 845.0 677.3]
[-]
8[1 13 2 1]
[1 12 5 6 1]
[1 7 10 4 1]
375.1
372.3
385.7
[375.1 252.5 0 0 0 0 0 0 0 0 0 0 152.0]
[372.3 0 0 0 163.9 272.2 0 0 0 0 0 95.0 0]
[385.7 0 0 311.4 0 0 117.3 0 0 214.3 0 0 0]
[11][0 1606.7 837.9 1065.7 918.1 1326.4 1171.5
1179.5 1249.2 2168.5 338.7 849.3 1506.3]
[-]
9[1 5 11 1]
[1 8 7 1]
[1 4 3 12 1]
367.8
377.9
390.0
[367.8 0 0 0 93.1 0 0 0 0 0 204.6 0 0]
[377.9 0 0 0 0 0 299.6 150.6 0 0 0 0 0]
[390.0 0 224.3 81.3 0 0 0 0 0 0 0 310.0 0]
[-][0 1156.7 1274.3 831.3 843.1 876.4 1349.6
1500.6 799.2 1718.5 2154.5 1060.0 1056.2]
[-]
10[1 6 13 1]
[1 5 12 4 1]
[1 9 1]
396.1
299.2
397.0
[396.1 0 0 0 0 134.1 0 0 0 0 0 0 251.1]
[299.2 0 0 224.9 93.1 0 0 0 0 0 0 162.00]
[397.0 0 0 0 0 0 0 0 202.0 0 0 0 0]
[-][0 699.7 817.3 967.9 836.1 1177.1 892.6
1043.6 2145.0 1261.5 1697.5 905.0 1594.1]
[-]
Table 4. MES Routes Results for 13 Nodes and 3 MoEls—No priorities assigned.
Table 4. MES Routes Results for 13 Nodes and 3 MoEls—No priorities assigned.
Iteration StepsRoute NodesRoute Duration ( s )depot2node_duration ( s )Priority Nodese ( s )Data Loss Nodes
1[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[-][0 1354.3 1054.3 835.6 977.7 1188.4 1361.7
1504.9 1954.3 2140.7 1954.3 1046.6 1554.9]
[-]
2[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[-][0 908.5 608.5 835.6 977.7 1188.4 1361.7
1504.9 1508.5 2140.7 1508.5 1046.6 1554.9]
[-]
3[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[2 3][0 462.8 162.8 835.6 977.7 1188.4 1361.7
1504.9 1062.8 2140.7 1062.8 1046.6 1554.9]
[-]
4[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[-][0 1740.0 1440.0 835.6 977.7 1188.4 1361.7
1504.9 617.0 2140.7 617.0 1046.6 1554.9]
[2 3]
5[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[9 11][0 1294.3 994.3 835.6 977.7 1188.4 1361.7
1504.9 171.3 2140.7 171.3 1046.6 1554.9]
[-]
6[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[3][0 848.5 548.5 835.6 977.7 1188.4 1361.7
1504.9 2340.0 2140.7 2340.0 1046.6 1554.9]
[9 11]
7[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[2][0 402.8 1440.0 835.6 977.7 1188.4 1361.7
1504.9 1894.3 2140.7 1894.3 1046.6 1554.9]
[3]
8[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[-][0 1740.0 994.3 835.6 977.7 1188.4 1361.7
1504.9 1448.5 2140.7 1448.5 1046.6 1554.9]
[2]
9[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[3][0 1294.3 548.5 835.6 977.7 1188.4 1361.7
1504.9 1002.8 2140.7 1002.8 1046.6 1554.9]
[-]
10[1 8 13 1]
[1 4 10 7 1]
[1 6 5 12 1]
372.3
345.6
385.7
[345.6 0 0 0 0 0 0 150.6 0 0 0 0 200.6]
[385.7 0 0 81.3 0 0 307.5 0 0 186.5 0 0 0]
[372.3 0 0 0 223.5 134.1 0 0 0 0 0 292.3 0]
[-][0 848.5 1440.0 835.6 977.7 1188.4 1361.7
1504.9 557.0 2140.7 557.0 1046.6 1554.9]
[3]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Tsilomitrou, O.; Tzes, A. Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks. Appl. Sci. 2022, 12, 247. https://doi.org/10.3390/app12010247

AMA Style

Tsilomitrou O, Tzes A. Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks. Applied Sciences. 2022; 12(1):247. https://doi.org/10.3390/app12010247

Chicago/Turabian Style

Tsilomitrou, Ourania, and Anthony Tzes. 2022. "Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks" Applied Sciences 12, no. 1: 247. https://doi.org/10.3390/app12010247

APA Style

Tsilomitrou, O., & Tzes, A. (2022). Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks. Applied Sciences, 12(1), 247. https://doi.org/10.3390/app12010247

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop