Heuristic Drone Pathfinding over Optimised Charging Station Grid

We proposed a novel optimisation framework for drone-based operations which consists of the optimised Charging Station (CS) grid and the pathfinding heuristics for the drone. The proposed pathfinding heuristics are assessed for two different (triangular and square) CS grid configurations that are optimised for the drone range. We presented the case study of a boat rescue operation that is carried out in the sea. The minimisation of the "flight distance" and "number of chargings" are the objectives for the drone party and the minimisation of the "average waiting distance" (AWD) is the objective for the boat party. We studied the "single drone with many entities" case which is a form of Travelling Salesman Problem (TSP). We presented mathematical analysis and simulation results for the effectiveness of the pathfinding heuristic which we called the "red-grey path" heuristic. A novel and fast TSP heuristic was also proposed as part of the pathfinding heuristics and its performance was assessed.


I. INTRODUCTION
With today's technology, it is possible to package many electronic devices into drones. The utilization of sensors and communication devices on the drones make these flying devices very versatile, vital, and economic option for many important operations. Among these operations monitoring, search and rescue, industrial inspection, communication, and delivery applications can be listed. The study in [1] presents an extensive survey on the application areas of drones.
Since the drones can fly directly to the desired location without being subjected to any obstacle, they can reach quickly and economically to the desired mission region. A small onboard communication module enables drones to transmit data and receive commands related to the operation. If necessary, they can carry important medical supplies or other necessary items. The main problem for such an operation involving drones is the limited amount of onboard energy available to the drone. This problem can be solved by deploying CSs over the "mission region" in optimised grid configurations. Such a CS grid gives an optimised (min number of CSs and no blind-spot) coverage of the mission region. However, for the drone, the path to the targets via CSs should also be optimised for energysaving. The drone can charge or swap its battery on the individual CSs. In our work, we addressed these problems and proposed heuristics to carry out drone-based missions in an optimised way. Just to give a real-life context to our work, we can consider a consumer-grade drone the DJI Inspire 2 (https://www.dji.com/it/inspire-2). This drone can be seen in Figure 1a.  It has a 4280 mAh battery which can provide a drone 27 min flight. The drone can reach a max speed of 94 km/h achieving about 40 km maximum range. Generally, VOLUME X, 2021 the battery can be charged in 30 min with linear quick charging. However, the recently emerging technologies reduced the charging time to 5 min [2]. The charging stations can charge the drone with a "contact-based" charging system (https://skycharge.de/charging-pad-outdoor) that can be seen in Figure 1b. The charging system has stainless steel landing platform and it is designed for outdoor environments (IP65 grade). The pad provides 500W loss-free charging system for the drones. In our work, the terms "drone" and "UAV" are used interchangeably. In this context, our work proposes a framework that can help drones to cover and operate on the mission region by deploying CSs in a static grid configuration over the mission region. Although we proposed this framework for general-purpose drone operations, the "boat rescue" case study is used as a presentation tool in our article. The choice of the boat rescue case study is also partly inspired by the regional project once attempted in the Marche region of Italy. The project is aborted due to a lack of finances. However, the proposed framework can be easily adapted to ground-based operations. One of the differences between sea and groundbased operations can be CS deployment. On the sea, the CS deployment has more freedom. However, for the groundbased operations, there could be locations that deploying CSs can not be possible. In these cases, the CS grid will have "holes". But the pathfinding heuristics can just go around these holes. Another difference can be in the network connection technologies that are used in these cases. For the ground-based operations connection is easier as the coverage is better on the ground. For sea-based operations, longrange connection technologies should be used for drone communication. The current work is an extension of the previous study in [3]. In the previous study, only the CS grid deployment was analysed and the sketches of the pathfinding algorithms were presented. Mostly theoretical aspects were presented in the previous work. Also, the synergy between CS grid deployment and the pathfinding heuristic was not concretely established in the previous work. The current work proposed and implemented a heuristic pathfinding algorithm and presented performance evaluation through simulations and benchmarks. In addition to that, the synergy between CS grid deployment and the heuristic pathfinding is explained through simulations. The degree that red-grey paths provide savings according to the CS grid deployment is measured in the simulations.
We aimed to design a drone dispatcher system by considering multiple static boat configurations and a single mission drone. This dispatcher system can be utilized in an event or time-based simulation. This version of the problem is related to the Traveling Salesman Problem (TSP). On the other hand, the multiple drone version of the rescue problem is related to the generic Vehicular Routing Problem (VRP). However, the fact that off-shore flights are required over a regular geometric CS grid makes it a special and novel variant for both TSP and VRP. In this sense, it can be said that the framework we proposed offers novel contributions to mainstream TSP and VRP research. In addition to that, many concepts and methods can be borrowed from TSP and VRP research. Both TSP tour [4] and VRP [5] are known as NP-Hard problems. For this reason, we proposed novel heuristic algorithms for finding the optimum path for the mission drone.
The proposed framework consists of the deployment of CSs, the novel TSP heuristic algorithm we called "con-caveTSP", and the energy-saving pathfinding heuristic we called the "redGreySP" heuristic (hereafter "redGreySP", red-Grey Shortest Path). We presented a mathematical analysis for different CS deployment strategies in connection with the proposed "redGreySP" heuristic method. The proposed novel TSP heuristic algorithm is analyzed and benchmarked against the other standard approximation algorithms by considering various standard TSPLIB datasets and custom datasets. The savings from the proposed "red-GreySP" heuristic are tabulated by comparing the results of the same rescue operation with and without the heuristic. The proposed CS deployment schemes ensure no blind-spot mission region coverage. The proposed TSP heuristic finds the "best order" for rescuing the boats. Finally, the proposed "redGreySP" heuristic by using a modified shortest path algorithm finds the "best path" from one boat that frog-leaps on the deployed CSs to the next boat. The "graph" structure that represents the system is dynamically augmented with the red, grey edges when there is a rescue call. After the boat is rescued these red and grey edges are deleted. The mission drone leaves the BS and after completing the rescue mission returns to the BS. In this sense, the TSP tour starts from the BS, visits boats via CSs, and returns to the BS.
The multi-objective and multi-party optimisation is integrated into the proposed framework for the boat rescue case study. While for the drone the shortest rescue (min energy) path is important, for the boats the less AWD is desirable. A weighted scenario-based scheme can be used for these objectives. For urgent missions, the shortest tour for the drone can be completely overridden in favour of the least AWD (or least average waiting time) for the boats. The boats can be prioritized according to the type of the necessary rescue operation. The effectiveness of the proposed rescue framework is evaluated in simulation in which randomly distributed rescue calls are generated over the real-life region over the Adriatic Sea close to the shores of Marche, Italy.
We designed simulations and benchmarks to assess the performance of the proposed concaveTSP heuristic against other standard TSP heuristics. Also, the effectiveness of the proposed redGreySP heuristic is assessed by estimating the savings over the base case (without heuristic). The red-GreySP heuristic provides about 17% path length savings for the triangular grid and about 10% for the square grid. While the proposed TSP method is on a par with the standard TSP heuristics in small dataset (less than 1000 vertices) simulations, for the bigger (1000+ vertices) datasets it offers faster solutions. Especially for regular grid datasets, it is better than the other heuristics in every aspect. In its essence, our work proposes a novel framework solution to the generic problem of region coverage with CSs and a special TSP heuristic for visiting the entities in the covered region in an optimum way. This flexible framework can be used in various drone-based operations like search and rescue, delivery, and monitoring.
The rest of the paper is organized as follows: In Section II we presented related work. Section III presents the elements of the proposed framework in subsections with mathematical analysis and experimental results on the case studies. The basic elements of the proposed framework consist of the CS deployment (Section III-A), the proposed concaveTSP heuristic (Section III-B), the redGreySP heuristic (Section III-C). The experimental results are discussed in Section III-D. The conclusions and ideas for future work are listed in Section IV.

II. RELATED WORK
Drones can reach many places with ease and they can provide economic ways for many important operations. They can be fully automated and can be used in operations that are dangerous for human health. Real-life examples of search and rescue operations can be found in [6,7,8]. A list of advantages of using drones in such operations is presented in [9,10,11]. The paper [12] presents a review of the applications of the drones and details on the types of drones.
Regarding autonomy, the operation modes of drones can be classified mainly into two groups: Autonomous and manual. In the case of autonomous mode, drones are either make decisions by themselves or they communicate with other drones to carry out the mission. When the decision making is from the operator, the manual mode is engaged. The mission can be planned and scheduled centrally by BS or it can be planned in a distributed manner involving swarms of autonomous drones. The work [13] presents a study on the use of swarms of drone related to the "smart city" concept. In our research we proposed centrally planned and scheduled mission for the autonomous drone. However, once the drone reaches the operation cite the mode can be changed to autonomous mode for various tasks. Like panning the onboard camera or focusing it on the various locations.
The deployment of CSs is an important design element for the operations involving electric vehicles. Especially for drones since they carry a limited amount of energy, the coverage of the mission region depends on the range of the vehicle and on the CS deployment configuration. "Refuelling" techniques can provide partial solution to the energy problem of the drone. However, the operation range/effectiveness of the drone depends on the deployed CS grid. In the case of drone that uses electrical energy, the battery can be charged even replaced with various technologies. The work [14] even suggested "drone-swapping" to address the limited onboard energy problem. The charging technologies can be "contact-based" or "contactless". One example of contact-based technology can be found in [15]. In [16], Wireless Power Transfer (WPT) by using electromagnetic waves is presented as one of the contactless "charging" technologies. The Laser-Powered UAV wireless communication system is studied in [17]. While the drone can charge its battery with the contact based technologies ( [15]), An example battery swapping technology is presented in [18]. Beside the cost and deployment/maintenance aspects, these technologies should be evaluated for their "energy refuelling time" and "energy capacity" that they can offer to the electrically energized drones. Other important aspects are the location and conditions that these technologies can be deployed and operated. The priorities of these parameters are important for the type of operation that drones are utilized for. For example in the case of important rescue operations the "quick refuelling" may have the highest priority.
The problem of optimally deploying CSs is studied in [19,20]. These studies proposed adjustable CS deployment strategies. As it is stated in [19], the UAV routing research can be grouped into three classes: The delivery truck-drone cooperation, transporting drones mostly with public transportation and deployed CS grid assistance. However, the last group, namely CS grid assistance, can be further classified into two groups based on the research that is done: The CS grid can consist of mobile CSs or static CSs. Our study considers optimum static deployment.
Historically the similar routing/pathfinding problems were studied under the title of "Fuel Constrained, UAV Routing Problem" (FCURP). In the seminal work [5], the foundational questions related to the problem is studied by considering cars and gas stations with symmetric travel costs. This framework is extended by considering UAVs and asymmetric travel costs in [21]. The study [22] considered the "cooperation" between routing and CS grid in the context of CS mobility. It proposed "mobile refuelling stations" and optimal routing related to the CS deployment labelling the problem as "Fuel Constrained UAV Routing Problem using Mobile Refuelling Stations" (FCURP-MRS). While these studies considered the generic routing problem, they did not propose synergy between CS grid configuration and the routing algorithms. The operation region is assumed to be completely covered by the CS grid.
Delivery operations with truck-drone systems are getting widely used as drones can fly without much traffic problems. TSP with Drone (TSP-D) is a very widely studied topic. The delivery truck is paired with drones that can serve the customer request. While the truck goes on its way the drone or drones assist the delivery, helping the truck in the TSP tour. The review of such delivery systems and the variants of them can be found in [23,24,25,26,27,28] In our study, a single drone from a single static BS (depot) goes and serves the static boat requests. This is a classical TSP case. However, the necessity of charging for the drone and the specific configuration of the CS grid makes the problem a variant of TSP. In our framework, there is no VOLUME X, 2021 moving truck but the static BS. The path of the drone is determined by the CS grid configuration. On the other hand, the configuration of CSs should be adjusted according to the range of the drone that is utilized. In this sense, while the boats can be regarded as "the clients", the CSs on the way can be regarded as special clients or depots that should be visited. In addition to these differences, we aimed to evaluate the TSP tour by considering multiple objectives. Especially the consideration of AWD of the TSP tour is a novel contribution we proposed in our framework. Further details and methods on the Multi-Objective TSP (MOTSP) can be found in [29,30,31].
The classical TSP literature is very rich since the problem has been around for a long time. The works [32] and [33] are two seminal works from which many of the heuristic methods were germinated. The studies [34] and [35] are two excellent works that give rather detailed explanations and analyses on the heuristic methods that are used in the TSP approximation algorithms. The TSP, in the graphtheoretic domain, is studied by focusing on the edge distances and vertices. However, the geometric TSP instances contain coordinates of the vertices. This extra information is essential for the approximation algorithms that are based on the geometric configuration of the vertices. Computational geometry offers various tools for "grouping", "connecting", and "shaping" of the vertices on the Euclidean Plane. The convex hull, or in general "characteristic hull" methods are useful for fitting a "shape" to the points scattered on the plane [36,37]. In this way, if not all, some of the points can be grouped into a closed curve. This is a useful method for creating an initial sub-optimum tour. In studies [38,39], the use of convex hull in the context of TSP is discussed. The concave hull is another useful tool that can be used in the same manner [40,41]. The proposed concaveTSP uses a concave hull in a novel way during the sup-optimum tour creation phase. The "improvement" phase in which the created concentric hulls are merged follows this "construction" phase. The proposed improvement heuristics are utilized in an "on-the-fly" manner during the merging phase.
Our study proposes novel static CS grid deployment strategies and synergistically integrated optimised pathfinding heuristics. By unifying these two research fields in a synergistic way, we believe our study filled a research gap in the drone-related literature. The studies that proposed routing coupled with the CS grid strategy did not elaborate on the analyses on the different CS grid configurations. However, in our work not only do we propose optimum coverage configurations with different geometries, but we also proposed an optimum pathfinding heuristic synergistically adapted to the CS grid configuration. Mathematical analyses were also presented related to the CS grid configurations we proposed. Our study proposed novel metrics for assessing the coverage-effectiveness of the CS grid. Although the proposed framework presented with a case study of boat rescue operations, our study can impact many drone-assisted applications.

III. PROPOSED FRAMEWORK
We presented a brief overview in the Introduction I for the proposed framework. Here we like to discuss the design principles and give a bit of the analysis we have carried out on various elements of the framework. The heuristic algorithms that we designed for optimised pathfinding will be discussed as well. The basic elements of the proposed framework consist of these: • Optimised CS grid by using min number of CSs to cover the mission region without "blind spots". Presented in Section III-A. • The TSP heuristic, concaveTSP, for finding the optimum permutation to visit entities (rescue boats). Presented in Section III-B. • The shortest path heuristic redGreySP, for finding the "best" path from one entity (boat) to another. Presented in Section III-C. Simulations and benchmarks are designed to assess the performance of the proposed framework. Design principles and experimental results are presented and discussed in Section (III-D). Figure 2 shows the representative configuration of the envisioned case study which we called the drone-assisted boat rescue operation. The physical entities consist of a static CS grid, BS at a static location, and the rescue drone. The mission is centrally controlled by the BS. Upon reception of the rescue request or requests, the optimum path depending on the objectives is estimated and the drone is dispatched for the mission. Currently, the dynamic rescue requests that can be arrived during the flight of the drone are not considered.
For the deployment of CSs, the drone range is the crucial parameter. The CS grid spacing depends on the max drone range and is fundamental for the proposed "redGreySP" heuristic. We assumed that the drones can not be charged on the boats. In any case, having a charging facility on the boats does not prevent the utilization of the proposed heuristic. The "redGreySP" heuristic searches for a pathlength (energy) saving pair of "red" and "grey" edges on the frog-leaping path of the drone from one CS to another on its way to rescue the "boat". The "grey" edge is the edge that the drone can fly to/from any CS. The "red" edge is the one-way edge for the drone to/from the CS. The "red-grey path" is the pair of red and grey edges in which the total distance is less than or equal to the max drone range. Sometimes the drone can find a shorter rescue path to the boat when it flies over such an edge pair. The energy budget (battery, fuel tank) constraint of the drone should be checked over such a rescue path to ensure the safe arrival of the drone to the boat without depleting all the onboard energy available. If the CS spacing is not adjusted to the drone range there is a danger of creating "blind spots" in the mission region where boats can not be reached. For this reason, the geometric configuration of the CS grids should be arranged depending on the drone range. The rescue drone should find the shortest TSP tour that starts at the Base Station (BS), visits all the boats, and returns to the BS. On its way, the drone goes frog-leaping from one CS to another charging its battery and utilizing the proposed "redGreySP" heuristic. While the proposed "redGreySP" heuristic considers the shortest path between boats, the custom-designed TSP heuristic algorithm, "concaveTSP", proposes the approximate shortest TSP tour (permutation) for the mission drone according to the current BS and boat configuration. The proposed TSP heuristic algorithm designed for the drone in our framework considers CW (clockwise) and ACW (anti-clockwise) tours for selecting the best rescue path according to tour length and AWD. For our experiments, instead of a weighted scheme, the shortest tour (between CW and ACW) is chosen. In the case of equal tour lengths, the tour with the least AWD is chosen as the best rescue tour.
A prototype research software is developed to study the proposed framework in which the user can configure the mission region and select boat positions on a real-world map. The software converts the geographical configuration of the entities to a graph structure and simulates the selected algorithm. The user can see both the geographical configuration and the annotated graph structure used by the heuristic algorithms. A screenshot is given in Figure 3 for this research software. In Algorithm 1 a pseudo-code is given for the proposed rescue framework. 1: Grid ← NULL 2: VtxList ← NULL BS and CS Deployment and Boat position selection 3: Grid ← Grid + asVertex(userSelect(BS)) 4: VtxList ← VtxList + asVertex(userSelect(BS)) 5: Grid ← Grid + asGraph(deployCS(RescuePoly, userSelect(GridType), DroneRange)) 6: Grid ← Grid + asGraph(userSelect(BoatPos)) 7: VtxList ← VtxList + asVertex(userSelect(BoatPos)) Find the Best TSP tour for the BS + Boats for the drone 8: concaveTSPTour ← concaveTSP(VtxList) Find the Best Rescue Path for the drone 9: RescueTour ← redGreySP(concaveTSPTour, Grid) 10: Return(RescueTour) Firstly, the best TSP tour is searched with the proposed "concaveTSP" heuristic ( 2) in the algorithm. For this part, we utilized geometrical distance between vertices (BS + Boats) not the red-grey path distances. In the domain of the red-grey heuristic the edge/path distances are dynamical and direction sensitive. The edges of the red-grey edge/path are removed from the data structures when the associated boat is "visited". CW and ACW approaches may not use the same set of red-grey edges or paths. For this reason in finding the approximate TSP tour, we simplified the algorithm with this scheme. This TSP tour is the "best" (the approximate shortest TSP tour of the BS + Boats for the drone) rescue order for the boats. Then, with the proposed red-grey shortest path heuristic, called "redGreySP" ( 3), the "best" rescue tour is returned. In general, the rescue tour is a multi-objective optimised tour. Namely, the flight distance, AWD, and the number of chargings are the objectives that can be weighted for optimisation. However, for simplicity, in our simulations, we selected the min flight distance by considering the CW and ACW (with respect to BS) versions of the rescue tour. In case of equality, the tour with the min AWD is selected. By default, the algorithm chooses the CW tour in case of equal distance and AWD values. Because of the directional sensitivity of the red-grey edge scheme, CW and ACW tours may differ in total rescue VOLUME X, 2021 distance. In Algorithm 1, the functions like asVertex(), userSelect(), asGraph(), and deployCS() are used to explain generic procedures. While the asVertex() function selects the vertex of the structures, the asGraph() function selects vertices and the edges of the structures. The userSelect() function represents user interactions via mouse clicks or menu selections. The deployCS() function tries to deploy CSs in an optimum way according to the DroneRange parameter without any "blind spots" (inaccessible points for the boats in the rescue region).

A. THE CS DEPLOYMENT
The first step in the construction of the mission infrastructure is CS deployment. For the deployment of CSs so far we studied two different deployment configurations. Namely square grid and triangular grid. To prevent "blind spots" in the mission region, CSs should be spaced in a special geometry and according to the range of the drones that are selected for the rescue missions. Throughout our study, we normalized distances according to the drone range unit as it is the fundamental parameter for the proposed rescue framework. For each case, blind spots should be avoided by estimating the optimum (min number of CSs and no blind spot) inter CS spacing. For any selected geometry for the CS grid, if the inter CS spacing is less than the optimum spacing there will be no blind spots. But more than necessary CSs will be required. If the inter CS spacing is greater than the optimum spacing, then there will be blind spots in the mission region. In Figures 4a and 4b, these situations are depicted.  In Figure 5 actual CS grid deployments are shown on the selected rescue mission region on the sea of Marche, Italy. For the same region, triangular grid coverage requires 24 CSs. For the square grid, the same coverage can be achieved with 30 CSs. The average shortest path length from the BS to all the other CSs for the triangular grid is 2.06 drone range units. For the square grid, the average shortest path length is 2.07 drone range units. The green-coloured edges represent the adjacency. In other words, for the drone, they are possible drone flight paths.
The regularity of the CS grid can be exploited in various ways. The proposed "red-grey path" heuristic is one of them. In Section III-C we explained in detail how the "red-grey path" heuristic can be used to find a better flight path for the mission drone. We also presented mathematical analysis for the savings that can be obtained from the "red-grey path" heuristic associated with the selected grid configuration.

B. THE PROPOSED TSP HEURISTIC
The crucial step in the rescue operation is to find the "best" order to visit the boats. Considering that the boats have equal priority, the TSP tour of the boats is the shortest tour starting from BS and returning to BS. For this purpose, we proposed a custom TSP heuristic algorithm called "concaveTSP".
The proposed algorithm can be classified as a hybrid of a geometry-based method with custom "nearest insertion" and "2-Opt-like" (3-edge) heuristics. The algorithm takes the coordinates of the vertices and produces deterministic output. In the first phase, the proposed algorithm constructs concentric "rings" by using the concave hull method proposed in [42]. For the next phase, the constructed rings are merged (if more than one) based on the nearest insertion and 3-edge heuristics we proposed. The concave hull algorithm is based on the geometry of the vertices. The intuition behind using such a sub-tour (concave hull) generation technique was our observations of the actual optimum TSP tours from the TSPLIB (http://elib.zib.de/pub/mp-testdata/ tsp/tsplib) datasets. For the optimum tours, we observed, the overall shape was a "non-self-crossing loop" [32]. This is logical as self-crossing may introduce some overhead for the tour cost. We imagined modifying the "outmost" hull to "visit" all the other vertices in a non-self-crossing way. For this task, our first idea was to merge (insert) the remaining vertices into that outmost sub-tour in a systematic way. We think that if we put the remaining vertices onto concentric hulls, this could help us in the neighbour selection process for the merging phase. The levelled concentric hulls sort the vertices according to the distance (and directional order) from the outmost sub-tour and place them into a merging queue. Adjacent concentric concave hulls or rings are very useful for fast neighbour discovery. They kind of play the role of "geometric priority buffer". This scheme enables the algorithm to search for "nearest neighbors" in a speedy manner.
In Algorithm 2 the pseudo-code is given for the proposed TSP heuristic. The proposed algorithm follows a top-down manner. The inner sub-tours iteratively merged into the outmost sub-tour starting from the outmost inner sub-tour. For each inner subtour vertex the nearest "merged sub-tour" vertex is selected. We call this method "nearest vertex merging heuristic". This selection is faster than the standard "nearest insertion" or "nearest neighbour" as the nearest vertex is searched only among the vertices of the merged sub-tour. For this phase, using a distance matrix type buffering speeds up the processing. We also experimented with different vertex selection techniques. Among them, we can list the "nearest edge" and the "nearest edge midpoint". These heuristics are computationally expensive selection techniques. Following the vertex selection, the decision should be made on whether to make the inner sub-tour vertex a successor or a predecessor of the selected nearest merged vertex. For this, we proposed a simple heuristic that considers and compares the cost of three edges shown in Figure 6. Namely, if the cost of "Pre Dist + Post2Vtx Dist" is less than or equal to the cost of "Post Dist + Pre2Vtx Dist", the path labelled as "A" is chosen. Otherwise, the path labelled as "B" is chosen and the vertex order in the merged ring is updated accordingly. This simple and computationally lightweight heuristic is also based on the geometric positions of the vertices. Functionally, it is a form of the on-the-fly 2-Opt method. We call it a "3-edge heuristic". At the final stage, if there are any, the vertices that do not belong to any sub-tours are also merged in the same way.
According to the paper [42], the time complexity of the concave hull generation for N vertices is dominated by the term O (N log N). However, we generated hulls one after another removing the vertices that are already used in the previous hulls. The number of iterations (number of rings) depends on the geometric positions of the vertices. If we use k for the necessary number of iterations (generating k rings) to exhaust all the vertices up to two vertices for ring generation, then the time complexity of the construction phase becomes O(kN log N). For the second phase which is the merging phase, again the time complexity depends on the number of the rings generated in the previous phase and on the number of the vertices on these rings. However, assuming a linear search, O(N), for the nearest vertex, the time complexity of the merging phase is bounded by O(cN 2 ), where c is a constant value 0 < c < 1. If more than one ring is created then each iteration of the second phase passes a fraction of the total N vertices, but never all of them since, for each vertex merging, the nearest vertex selection search considers only the previous ring vertices but not all of the vertices. Basically, every time there are more than one ring, a fraction of the all vertices will be on the merged ring (O(rN), 0 < r < 1) and other fractions will be on other rings (O((1 − r) × N), 0 < (1 − r) < 1). For the merging, every inner ring vertex is paired with a vertex on the ring merged so far (O((r − r 2 )N), 0 < r < 1). We can think of the worst-case in which two rings are created and each having N 2 vertices (r = 1 2 ). Then, for each of the inner vertices, the other outmost ring vertices will be checked. This gives us roughly O( N 2 4 ) processing. As a result, in the worst case, the algorithm is bounded by the merging phase with time complexity of O(N 2 ). The merging phase can be further optimised computationally if we use a type of data structure that restricts the search to a specific region or radius. Instead of linear search some kind of priority queue like "minheap" can be used for an effective minimum search with O(logN) time complexity cost (for insertion). So, the proposed algorithm can offer O(N log N) time complexity.
The performance of the algorithm is assessed against similar TSP heuristics and the results are tabulated in Section (III-D). The proposed TSP algorithm is generally fast. We observed that it is better than the other similar TSP heuristics in all the metrics we studied when the "cities" are in a big (1000+ vertices) regular square or triangular grid. For a better understanding of the working of the proposed algorithm, we presented several graph plots that show the various running stages of the algorithm. Figure 7 shows the standard TSPLIB dataset "pr76" (http: //elib.zib.de/pub/mp-testdata/tsp/tsplib/tsp/pr76.tsp) with 76 vertices labeled with red colour.  Figure 8 shows the generated 2 "rings" by concave hull with different colors. The vertices are numbered with the standard TSPLIB numbers (blue, on top of the vertices) and also with the ring-specific numbers (black, on the vertices). The outer ring with pink colour is the first ring and the inner ring with green colour is the second ring.   In Figure 9 vertex number 20, the first vertex of the second ring is paired with the vertex number 5 (ring 1 vertex 19, coloured with blue) of the merged (the first) ring. The next vertex in the merge buffer is vertex number 9 (ring 2 vertex 2) which is coloured with red. In the last merging round vertex number 19 (the last vertex of the second ring) is merged to vertex number 31 which was previously merged to ring 1 ( Figure 10).  Figure 11 shows the final "merged ring" (the approximate tour from the proposed algorithm) in green colour. The 3edge heuristic worked well for the vertex chain 6-9-10-5. However, the vertex chain 29-31-19-30 was not a very costefficient path. Lightweight post-processing can be carried out to improve such paths. The optimum tour is 1-76-75-2-3-4-5-6-...-24-25-21-22-23-1, which is marked with a dashed line.

C. THE PROPOSED RED-GREY PATH HEURISTIC
Assuming that the drone does not do charging on the boats, after the rescue operation it should have enough energy to reach any CS. Otherwise, the mission can not continue and the drone can not return to the BS. The drone can safely return to any CS that is in the 50% of its range of any boat. The optimum CS configuration guarantees that any boat anywhere can be reached in this way. Any "edge" between any boat and any CS that is less than or equal to half of the drone range is called "grey edge". The drone VOLUME X, 2021 can safely go, rescue the boat, and come back to the CS or go to another CS. Every boat is guaranteed to have at least one grey edge in the CS grid. If there is an edge greater than half of the drone range but less than the drone range is called "red edge". The drone can go and rescue the boat but can not return on the red edges. However, in some situations, the combination of "red-grey" edges can make the rescue operation possible if the sum of their lengths is less than or equal to the drone range. We call such an edge pair "good red-grey path". These conditions related to drone range are explained in Figure 12.  In Figure 13 the situation of "good red-grey path" is depicted. The red-grey path edges are dynamically added to the graph structure as the boats make rescue calls. This red-GreySP heuristic is a general heuristic that can be integrated into any optimum path-finding algorithm like Shortest Path and A * . After the good red and grey edges are added to the graph structure, the path-finding algorithm can just find the optimum path to the boat. However, whether the final destination of the path is a boat or the CS after the grey edge should be considered for the next traversal. If the red edge is used the drone should find and use the grey edge to reach the nearest CS. If it gives a shorter path, the drone can use a red edge after the grey edge. But the red edge should end up at a CS.
Assuming that the boats can ask for rescue at any point on the grid with equal probability, we can present an analysis on the frequency of having such a red-grey edge pair. This analysis can justify the importance of using such a heuristic and can verify the effectiveness of the grid coverage. Figures 14a and 14b helps us to understand the analysis focused on the triangular and square regions among different CS grid configurations.
The CSs are at the vertices of the triangles and squares. The circles represent the rescue region of the drone from the CSs. Any point in the circle of the associated CS has a grey edge leading to it from the station. Outside of the circle points are connected with the "red" edge to the associated CS. The green areas represent the locus of the rescue points with "good red-grey paths" (the sum of distance is less than or equal to drone range) pairs. The red regions represent the locus of the "bad red-grey" edges (when a total distance is greater than the drone range). The probability of having a good red-grey path is simply the ratio between the green area and the total area of the triangle. A point sampling is carried out in the triangular and square regions. Then for each sampled point, the type of the point and the edge distances to vertices are analyzed.   On Tables 1 and 2 point statistics are presented for triangular and square grids respectively. Small letters "b" and "g" represent bad and good respectively, whereas capital "R" is for Red and "G" is for Grey. "1gR+1G+1bR" means the point that is connected to vertices with 1 good Red edge, 1 Grey edge, and 1 bad Red edge. The total number of points marked with "(*)" gives the total number of points with at least one good red-grey edge pair. The probability of having at least one good red-grey path is the ratio between the total number of points with at least one good red-grey edge pair and the total number of points. For the triangular CS grid, sampling with 69483 points gives us 0.78 and for the square CS grid, sampling with 160801 points gives us 0.82. This means for each rescue call, about 78% of the time for the triangular grid and about 82% of the time for the square grid, we can have a good red-grey edge pair that can give us a better shortest path for the mission. Because of the rounding and choice for considering boundary conditions with equality or without equality (when comparing the distances), the numbers in Tables 1 and 2 contains some errors.
After finding the probability of having a red-grey edge pair we need to find out the probability of benefiting from this heuristic. For this, the direction of the drone and the direction of the red-grey path should be aligned in a special VOLUME X, 2021 way in order to benefit from this heuristic. If the drone meets the grey edge first, it will just save the boat and return to BS via that grey edge. But, if the drone meets the red edge first, it will utilize the red-grey path with savings and return to BS. Figure 15 summarizes all possible directions drone can approach the red-grey edge pair and the outcome of these directions for the triangular grid. A similar analysis can be made for the square grid. Now we can estimate the probability of benefiting from the redGreySP heuristic by using data from Tables 1 and 2. Firstly, we should have a "good direction" (gD in Equations 1 and 2) for the boat in which there is a good red-grey path. For the triangular grid Figure 15 suggests that we can have 1 3 probability to choose a direction for the drone in the case of the triangular grid when we have a single good Red edge (1gR). In Equation 1 the probability of benefiting from the red-grey path is given as 0.45. Similar to the triangular grid case, for the square grid the drone can approach the good red-grey edge pair from one of the 4 directions. In Equation 2 the probability of benefiting from the red-grey path is given as 0.31.
P(Bene f it Tri ) = P(1gR) × P(gD) + P(2gR) × P(gD) (1) = 0.21 × 0.333 + 0.57 × 0.666 = 0.45 P(Bene f it Sq ) = P(1gR) × P(gD) + P(2gR) × P(gD) + P(3gR) × P(gD) (2) = 0.3964 × 0.25 + 0.415 × 0.5 + 0.0046 × 0.75 = 0.31 Finally, we need to know the actual savings from this heuristic. For this we need to consider the edge statistics given on Tables 3 and 4.  The edge length metrics on these tables are normalized according to the drone range. On tables, "gG" (good Grey) refers to the grey edges that can be part of any red-grey edge pair and "bG" (bad Grey) edge type refers to the grey edges that can not be part of any red-grey edge pair. In short, if a pairing (total edge distance less than nor equal to Drone Range) is possible, both red and grey edges become "good".
The actual savings depends on the path length, the number of boats that can be saved in a single tour, and other factors. However, for the actual savings, we can analyze the last part of the rescue path and present actual figures. The first column, gRG (good Red-Grey Pair), of Table 3 suggests that when we have a good red-grey edge pair, the average total length is about 0.914 units (times the Drone Range in the case of a triangular grid). This edge pair can save us from using an edge between CSs which has a distance of 0.866 unit and a grey edge which has an average length of 0.334 units. In total the length of this path is 0.866 + 0.334 = 1.2 unit. Assuming that we use a "good grey" edge which has an average length of 0.271 units, the total length with an edge between CSs becomes 0.866 + 0.271 = 1.137 units. So we need 1.137 units to reach the boat without using any red edge. With the red-grey edge pair, we can reach the boat in 0.652 units by using the red edge. Here the saving in reaching the boat is about 43%. If we consider the fact that we need to take the grey edge every time we take the red edge then the saving becomes about 19.3% with a 0.914 unit path. This saving is for the last edges of the path. This case is shown in Figure 16.  To find out the actual saving amount for the square grid configuration, Figure 17 shows an example scenario in which the comparison can be seen between the regular shortest path and the shortest path with the redGreySP heuristics.  The average length of the "Good Red-Grey Pair" (gRG) is listed as 0.839 units on Table 4. This edge pair can save us from using the diagonal edge between CSs which has a distance of 1 unit and a grey edge which has an average length of 0.334 units. In total the length of this path is 2 × 0.71 + 0.334 = 1.754 units. Assuming that we use a "good grey" edge which has an average length of 0.254 units, the total length of the path becomes 2 × 0.71 + 0.254 = 1.674 units. So we need 1.674 units to reach the boat without using any red edge. With the red-grey edge pair, we can reach the boat in 0.608 units by using the red edge. Here the saving in reaching the boat is about 64%. If we consider the fact that we need to take the grey edge every time we take the red edge then the saving becomes about 50% with a 0.839 unit path. This saving is for the last edges of the path. This case is shown in Figure 17.
The other comparison that should be made is the coverage effectiveness of the CS grid configurations. For this, we investigated the area per CS ratios and presented analysis in Figures 18a and Figure 18b by taking the limits when the number of vertices approaches infinity. VOLUME X, 2021  The triangle grid limit approaches 2 triangular areas per CS while the square grid approach value of 1 square area per CS. Considering the analysis we have presented above and assuming drone range as a unit of measurement for distances, triangular grid without "blind spots" (Figure 4a) gives 2 times the area o f the triangle = √ 3 * ×0.866 2 = 1.30 unit 2 per CS. On the other hand, the square grid without "blind spots" (Figure 4b) gives Area o f the square = 0.71 2 = 0.5 unit 2 per CS. This means a triangular grid can cover 2.6 times more area with the same number of CSs. In other words, a triangular grid needs fewer CSs for the same mission region. On Table 5 we have summarized our findings for both CS deployment configurations. The "AVG SP from BS", the average length of any path from BS to any CS in the grid, is given in drone range units. This path length is specific to the CS grid configurations shown in Figure 5. While the square grid deployment can provide a better probability of savings and a better amount of savings from the redGreySP heuristics, the number of CSs necessary for the mission is higher compared to the triangular grid. This trade-off should be considered in the CS deployment phase of the rescue mission. In Table 5 the columns Savings 1-way and Savings Return represent savings just for the last two edges of the optimised path shown in Figures 16a and in 17a. In Algorithm 3 the pseudo-code is given for the proposed shortest path algorithm combined with the red-grey heuristic method. Return(RescueTour) 15: else 16: prevBoat ← B1 17: while (BoatPerm ̸ = NULL) do 18: nextBoat ← getNext(BoatPerm) Dynamically augment Grid with the related boats 19: E(Grid) ← E(Grid) + redAndgreyEdges(prevBoat) 20: V(Grid) ← V(Grid) + asVertex(prevBoat) 21: E(Grid) ← E(Grid) + redAndgreyEdges(nextBoat) 22: V(Grid) ← V(Grid) + asVertex(nextBoat) 23: SP ← shortestPath(Grid, src=lastVertex(RescueTour), dst=nextBoat) 24: if colour(lastEdge(SP)) == "red") then 25: appendEdge(SP) ← E(findAdjacentGoodGreyCS(nextBoat)) 26: appendVertex(SP) ← V(findAdjacentGoodGreyCS(nextBoat)) 27: end if 28: RescueTour ← RescueTour + SP 29: BoatPerm ← BoatPerm -nextBoat Dynamically de-augment Grid with the related boats The algorithm is given the optimum boat rescue permutation from the proposed TSP heuristic presented in Algorithm 2 as an input along with the graph representation of the BS, CS grid, and boats. This graph is dynamically augmented with red and grey edges according to the positions and rescue order of boats. The algorithm returns the optimum rescue tour that starts from the BS and ends on the BS after rescuing boats with the help of the CS grid. The algorithm augments the graph data structure dynamically and temporarily with the start and end boats (consecutive boats on the TSP tour) along with the incident red and grey edges when it tries to find the shortest path between these boats. As the red-grey heuristic is designed to be an "add-on" to any generic shortest path algorithm, this augmenting scheme ensures that the shortest path algorithm follows the order of the boats suggested by the TSP heuristic algorithm. Several functions used in the algorithm are self-explanatory. The "E()" and "V()" functions are helper functions that return edges and vertices given the structures respectively. The "findAdjacentGoodGreyCS()" is the function that returns the CS that can be paired with the "red edge" so that the total length of them will not exceed the drone range. The "redAndgreyEdges()" return incident red and grey edges given the vertex id of the boat. The "asVertex()" function creates a vertex instance given the boat id.

D. EXPERIMENTAL RESULTS AND DISCUSSIONS
We designed simulations and benchmarks to assess various performance characteristics of the proposed heuristics. In the simulations, a full rescue operation is simulated in which the drone leaves the BS, rescues boats and returns to the BS. In each simulation, the optimum rescue tour is estimated and the measurements are made by considering various performance metrics. The simulations are carried out on both triangular and square grid configurations by considering small scale datasets (less than 1000 vertices). These datasets consist of different numbers (20,40,60,80, and 100 boats) of randomly generated boats for rescuing. For each simulation, we considered pathfinding with redGreySP heuristic and pathfinding only with a grey edge. Several standard TSP heuristics are also considered for finding the best order of boats for rescuing for each simulation. Each TSP heuristic is simulated 20 times by considering redgrey and only grey edge versions. For the simulations, we considered the real-life mission region we have presented in Section III-A in Figure 5. In the simulations, we wanted to see how much improvement the proposed "redGreySP" can offer for each metric we considered compared to the base case method which was pathfinding with only grey edges.
The tentative benchmarks and simulations showed us that the selected TSP heuristics did not perform very much differently (the t-test did not show any significant statistical difference) from each other for small datasets in which about 100 or fewer vertices (boats) were used. For this reason, the proposed TSP heuristic, "concaveTSP", is benchmarked separately against other standard TSP heuristic algorithms using similar heuristic techniques, with bigger datasets (1000+ vertices). It performs better than the other similar heuristics as the number of vertices increases and as the regularity (grid-like geometry) of the vertex configuration increases. These aspects of the concaveTSP heuristic make it a good candidate for delivery (so many vertices) and rescue operations (sub-optimal but fast response is desired). However, the concaveTSP heuristic can be improved by considering more elaborate insertion and sub-tour (path) optimisation. While the proposed redGreySP heuristic gives savings (tour cost) independent of the selected TSP heuristic, the selection of the TSP heuristic becomes important for a big number of vertices.
In Table 6 details for these big datasets are listed. The proposed TSP heuristic is a hybrid of the standard TSP insertion heuristic and k-Opt TSP heuristic. While the concaveTSP uses the nearest vertex insertion heuristic during the concave-hull merging stage, at the same time it performs "k-opt" (k=2) type path heuristic. For this reason, we selected the "farthest insertion" (FI) and "2-Opt" heuristics. The "farthest insertion" heuristic is regarded as the best insertion heuristic in [35] producing better tours compared to the nearest insertion, cheapest insertion, and the nearest neighbour. The "nearest neighbour" (NN) heuristic was chosen with the idea that it can produce tours with the lowest AWD values. If the lesser cost edges are added to any tour earlier than the other edges, this can decrease the AWD of the tour. However, the "nearest neighbour" heuristic by doing this sometimes introduces risks of not being able to find lesser cost edges as it goes further and increases the AWD of the tour so much for returning to the starting vertex. We wanted to research this in the benchmarks.
The HW/SW specifications of the system that benchmarks and simulations were carried out are as follows: • AMD Ryzen ™ Threadripper ™ 3960X, 24C/48T CPU • 128 GB 3200MHz DDR4 RAM • openSUSE Tumbleweed 64-bit Linux with kernel 5.14.6 • R version 4.1.1 (2021-08-10) -"Kick Things" To explain the metrics we used for the performance assessment, we tried to give a mathematical formalization of them in the following paragraphs. The TSP tour (or rescue tour) that is presented in Figure 19 , τ = (V 1 , . . . ,V 8 ), can be an example for the metrics we explained below. Vertices can be instances of CSs or boats. The first vertex can be regarded as the BS.
• Tour cost: The total "tour cost" is the sum of all the edge distances. The cost (Euclidean edge distance) between vertices V i and V j can be given as Here V 1 is the starting vertex (BS in our case study) of the tour. The tour cost (cyclical) can be given with the following equation 3 below: The TSP tour cost is rotation and direction invariant. The total cost of the tour does not change regardless of the starting vertex and the travelling direction. This cost is in the interest of the drone's party. • Running time: It is the amount of CPU time consumed by the algorithm or the simulation. We measured it in seconds. • AWD: Another cost that can be estimated for the TSP tour is the Average Waiting Time (AWT), which is in the interest of the boats' party. We assumed that the speed of the drone is constant over the tour. For simplicity, we ignore the "service time" for vertices and just consider the distance instead of time. Average total distances from the starting vertex (V 1 , it is the BS) to the other vertices can be considered an alternative measure for the AWT if we want to generalize this type of cost for performance evaluation of the algorithms on the same TSP. We used AWD instead of AWT. AWD is independent of the speed and specific to the tour. However, AWD is a rotation and direction-dependent measure. The value of AWD not only depends on the starting vertex but also on the direction of the travel. Since the problem involves finding a tour, the drone should return to the BS after the rescue mission. In this sense, the "cyclical AWD" is estimated. The cyclical AWD of tour τ which is given in the equation 4 below: For the "non-cyclical AWD" the return to the first/starting vertex is not important. However, in some cases, the TSP algorithms (Nearest Neighbor type) use heuristics that the path they follow goes so much further away from the starting vertex that the last tour-closing edge introduces a significant cost for the overall tour cost. The "cyclical AWD" is such a metric that considers this penalty. On the other hand, if the only important thing is the time or distance that all the vertices are served except the starting vertex (depot), then the use of "non-cyclical AWD" should be considered, which is formulated in the equation 5.
As we said, the AWD is "rotation and direction sensitive". The same tour can give different AWD values depending on the starting vertex and on the direction. If the tour has long edges to the earlier vertices on its way, as these long edges will be summed over and over again for all the paths to other vertices, this type of tour will have a longer AWD value. In this sense, the "AWD optimum" tour should try to visit "closer" vertices first to get a smaller AWD value. This is similar to the "shortest service/seek time first" (SSTF) disk scheduling algorithm. In the opposite case, when the farthest vertex is visited first, the "convoy effect" increases the AWD so much. The optimum tour starting from a specific vertex does not necessarily give the min AWD. The AWD is a novel metric we proposed and measured. It is important in multi-party multi-objective optimisation problems. • Number of Chargings: In the framework, the BS is also a CS. We assumed that the drone every time visits any CS charges its battery. In this sense, the number of chargings is the number of CSs drone visits on its way. This can be given by the equation 6.
• Savings: In order to see improvements that the redgrey path heuristic offers, the savings for each metric we explained above are calculated. Basically, we calculated the percentage of the improvements (Metric G − Metric RG ) from the red-grey path heuristic (Metric RG ) over the base case of using only the grey edges (Metric G ). The negative savings mean loss. This can be given by the equation 7.
The tour costs and AWD is in meters for the simulations. However, for the big dataset benchmarks, they are in pixel units. The TSP heuristic used in the path-finding framework is very important. The savings can be big with the redGreySP heuristic. But if the TSP heuristic does not output a good tour in a reasonable time the savings will not be profitable to the system, as there can be a shorter tour giving overall lesser tour cost.
The simulation results are summarized in tables below (7, 8, 9, 10, and 11) by finding the averages and standard deviations of 20 simulations. While the tables list detailed numerical results for each simulation and for each number of boats, figures ( 20a, 20b, 21a, 21b, 22a, 22b, 23a, and 23b) are provided to show the trend line across varying boat numbers. The standard deviations are also listed along with the averages to show the dispersion of the samples. The pairwise statistically significant differences of the averages are tested with the t-test. In tables, averages that are statistically different from all the others are marked with grey colour. The tour cost savings from the redGreySP is in the range of 10-17 % when we consider both types of CS grid configurations. This is regardless of the TSP heuristic that is utilized. The differences between triangular and square grids suggest that the tour cost savings depend on the type of grid. A triangular CS grid is better in this sense. However, the tour cost is higher in the case of the triangular CS grid. In general, the triangular CS grid provides higher savings for the red-grey heuristic over only the grey edge method. But, the tour cost, AWD, and the number of chargings are also higher. On the other hand, the triangular CS grid uses a fewer number of CSs. In Table 12 comparisons are presented for each performance metrics according to the simulation results for different CS grid configurations.   In Figures 20a, 20b, 21a, 21b, 22a, 22b, 23a, and 23b tabular data is presented as plots for triangular and square grids. In these plots, only the algorithms that utilized the red-grey heuristic is considered. Both tables and plots suggest that all the algorithms more or less have similar performance, except for the Nearest Neighbor algorithm in some cases.
For the big dataset benchmarks, pairwise t-tests verified statistically significant differences for each metric. The best results for each metric and dataset are marked with green colour. The results from Tables 13, 14, and 15 suggest that the proposed concaveTSP heuristic is very competitive compared to other TSP heuristics. In general, it gives faster results with a close margin when we consider tour costs. Especially in a regular hexagonal grid, the proposed algorithm gives the best results in every metric we considered in the benchmarks.   For the big datasets instead of simulations, we have just benchmarked the TSP heuristic part of the framework as we wanted to see the performance of TSP heuristics under big datasets. Here the reader should note that the redGreySP savings happen between paths from one boat to another. In this sense, for the same TSP heuristic used in the framework, the number of boats does not affect the saving percentage performance of the overall framework. This can be seen from small dataset result tables below (7, 8, 9, 10, and 11). Looking at the "Cost saving" rows this claim can be verified. In Tables 13, 14, and 15 custom datasets are used to benchmark algorithms with big number of vertices (1000+). In delivery operations, the number of vertices can be much bigger than the rescue operations. These datasets although do not represent real-life delivery configurations can be useful for comparison purposes. We had two goals for creating these custom datasets. The first goal was to see how the proposed TSP heuristics perform with bigger datasets compared to other heuristics since for small datasets there were no big statistically significant differences. The second goal was based on our observation during trial simulations that the proposed TSP heuristic performed better then the other heuristics in the regular geometric layout of the vertices. To test these we created regular and hexagonal lattice layouts with varying sizes in TSPLIB format. These lattices are also deformed by randomly removing 25% of the vertices from the regular layout. The datasets and the detailed results can be downloaded from https://github.com/kk-1/boat-rescue.

IV. CONCLUSIONS AND FUTURE WORKS
We tried to address a very specific instance of a novel problem of optimised pathfinding in general drone-based operations assisted with an optimised CS grid. Namely, we considered the "single drone-multiple entities" case, which is an instance of the classical TSP. We tried to highlight the synergy between the regularity of the proposed optimised CS grid and the proposed heuristics. The optimised CS grid provides complete coverage of the mission region with the min number of CSs and without any blind-spot. In Section III-D we listed the trade-offs associated with the CS grid configurations we studied.
The proposed redGreySP heuristic depends on the CS grid configuration and provides savings for the tour cost.
The proposed concaveTSP heuristic is not the best TSP heuristic but it is a fast approximation heuristic. It offered a good synergy between insertion heuristic and 2-Opt like sub-tour improvement heuristic.
The novelties and contributions of our current work can be listed as follows: • Proposal of a novel framework that consists of the generic region coverage method with CSs and the optimum pathfinding for the entities in the covered region. • Proposal of novel CS grid configurations for optimum coverage of the mission region with the minimum number of CSs and without "blind spots" (points in the mission region where the drone can not reach). • Proposal of a new and flexible geometry-based paradigm, "concaveTSP", that can be integrated with various existing and new heuristics for the TSP heuristic algorithms. • Proposal of a novel add-on type heuristic, "redGreySP", for a generic shortest path algorithm that exploits the geometric regularities of the proposed CS grid. Currently, the redGreySP heuristic is designed as an addon for any generic shortest path algorithm. In this sense, there can be some trade-offs. As future work, we can suggest integrating it fully and creating a special shortest path algorithm. This algorithm should work with dynamic data structures.
The "jumps" from one boat to another are not included in our study for simplicity. For this, we considered augmenting the graph data structures with "yellow" edges to represent possible jumps among boats that are very close to each other. This may happen in the regions bounded by multiple CSs. However, this scheme introduces another NP-Hard problem, namely "bin-packing". The algorithm should see the yellow edge distances as "weights" and should try to fit them into "bins" as large as "drone range". The min number of "bins" should be found for an energy-optimised path.
Multiple drones from single/multiple BS cases can be studied. They are special Vehicular Routing Problem (VRP) cases. For the multiple BS case, we can offer the Voronoi Tessellation method used in the study [43] for dividing the large mission region into smaller regions based on the BS positions. By using this division scheme the drone-based delivery or rescue operations can be done in parallel over each sub-region.
PROFESSOR LEONARDO MOSTARDA (Member, IEEE) received his PhD degree from the Computer Science Department, University of L'Aquila, in 2006. Afterwards, he cooperated with the European Space Agency (ESA) on the CUSPIS FP6 project to design and implement novel security protocols and secure geo tags. In 2007, he was a Research Associate at the Distributed System and Policy Group, Computing Department, Imperial College London, where he was working on the UBIVAL EPRC project in cooperation with Cambridge, Oxford, Birmingham, and UCL for building a novel middleware to support the programming of body sensor networks. In 2010, he was a Senior Lecturer at the Distributed Systems and Networking Department, Middlesex University. He is currently an Associate Professor at Computer Science Department, Camerino University, Italy and CEO of Bilancio CO 2 zero. His main research activities are in the area of wireless sensor networks, middleware, security and various aspect of distributed systems.