Mobile Data-Mule Optimal Path Planning for Wireless Sensor Networks

: 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 efﬁciency 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.


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 ijt is added to all transitions x ij 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.

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.

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 ij 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 ij is set to 1; otherwise, it is set to 0.
The MILP optimization problem [32] is: 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: (1) and (2) ensure that each MoEl's path starts and ends at node 1 (depot).
(3) and (4) ensure that nodes j ∈ P r are included once in any of the extracted m routes.
(5) ensures that a visit to node j by the mth-MoEl has a corresponding departure.
(6) indicates the existence of a complete directed graph between the WSN's static nodes.
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.
(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.
(10) ensures that each MoEl visits a different static node after leaving from the depot node.
(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.
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].
(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.

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. 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 (priority j ) based on e j 9: Calculate distances between nodes' locations d ij

10:
Calculate the corresponding traveling time c ij for the case of a uniform motion 11: Calculate the time constraint ∀x ij as time_constraint(x ij ) = traveling_time(x ij ) + visiting_time(j) = c ij + v t j 12: Initialize profit p j collected by visiting each node 13: end procedure if Optimization Problem has solution then 6: for ∀route o f M routes do 7: for ∀node j ∈ route do 8: Calculate the traveling duration from depot to node j (depot2node_duration) 9: Reset e j and priority 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 ∀route o f M routes do 21: for ∀node j ∈ P r and ∈ route do 22: Calculate the traveling duration from depot to node j (depot2node_duration) 23: Reset e j and priority j (P r set) (presented in Algorithm 3) 24: Reset profit p j (Algorithm 4) 25: end for 26: end for 27: for ∀node j ∈ P r but / ∈ in M routes 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 ∀node j ∈ P r do 34: Regard its data as data loss 35: end for 36 for ∀node j ∈ route do 3: e j = e_initial j − charging_time − (route_duration − depot2node_duration j ) 4: end for 5: for ∀node j ∈ P r but / ∈ route do 6: e j = e_initial j − charging_time 7: end for 8: for ∀node j do 9: if e j ≤ (1 + ) × (budget + charging_time) ( 0.2 in our simulation studies) then 10: Include node j in the priority set P r for the next route 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

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_initial = median(c + v), where the cost c is calculated as c = dist_vector/speed. Specifically, dist_vector is a vector that includes the distances per pair of static nodes and per MoEl and uniform speed = 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 ijm 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_initial = [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 intlinprog 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.

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 (depot2node_duration). 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 priority nodes 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.

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. 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_initial = [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_initial 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.

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 Pr 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).

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.

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.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: