1 Introduction

The importance of effective communication and efficient data/knowledge transfer is essential for the coordination of life-saving activities in regions affected by natural or man-made disasters. The organizations and groups involved range from disaster relief, governmental and non-governmental organizations at the macro level, to actual teams of emergency rescue responders on the ground at the micro-level. Emergency rescue teams have also recently been supported by heterogeneous robotic assistants. As can be observed, there has been an increasing number of natural disasters that include wildfires, hurricanes, earthquakes, and floods that require a state-of-the-art emergency response to minimize loss of life and property damage.

In a seminal article, Denning [1], pointed out the importance of establishing HastilyFormedNetworks (HFNs) in the broader sense as “the ability to form multi-organizational networks rapidly” and as being crucial to disaster relief. Here, Denning’s focus was on effective human communication and the use of autonomous systems in emergency rescue operations was not yet prevalent. Additionally, the term conversation space was introduced for the medium in which such communication takes place.

The original concept was very much focused on setting up the physical layer for communication in order to support the conversation space. Proposed components of the conversational space were the physical systems, the players involved, and the interaction practices. The latter include situation awareness, acquiring and sharing information, planning, making decisions, coordination, and command and control required by the players and teams involved. All these practices are essential to modern-day emergency support missions.

In a report describing the international rescue efforts after the 2010 earthquake in Haiti [2], the authors emphasized that within one hour of the earthquake all telecommunication systems were totally inoperative and mobile phone networks did not fully recover until after the formal end of the rescue operation. Initially, satellite phones were used, but the satellite communication became saturated and no phone calls could be made or received. “Reliable communication with the teams in the field was unpredictable during the entire operation and this caused difficulties in planning. In addition, and more importantly, it involved a security risk since many teams could not notify the Operations Cell (OPC) of their whereabouts or of possible security threats.”

The work presented in this paper is part of a larger infrastructural framework being developed with the goal of leveraging the use of heterogeneous teams of Unmanned Aerial Vehicles (UAVs) in providing services and supplies to rescuers on the ground in collaboration with other human resources in disaster relief scenarios [3]. In many disaster scenarios such as earthquakes, floods or hurricanes, existing communication infrastructures are knocked out either partially or wholly. Therefore, one of the first tasks at hand is to rapidly restore or set up ad hoc communication networks in affected areas. In particular, this is prioritized in those areas where rescuers have to rapidly enter in order to acquire first-response situation awareness and convey this information to operations centers for additional decision support and mission planning.

The focus of this paper is on the base functionalities required for UAV-based rapid deployment of an ad hoc communication infrastructure in the initial phases of rescue operations. Figure 1 presents an example of such a mission scenario where a fleet of UAVs are tasked to deliver a set of communication nodes which would serve as the physical communication infrastructure for a specific region. The idea is that teams of UAVs can be used to dynamically deliver router nodes via air delivery that are then used in an ad hoc network. A proof of concept design of a UAV deliverable communication node prototype has been developed for this purpose [4]. It also includes efficient deployment technology based on autonomous release mechanisms and airdrop by parachute.

Fig. 1
figure 1

Example mission scenario for deployment of an ad hoc communication network in search and rescue environment

Assuming access to this technology, one important research question that is targeted in this paper, is in determining the optimal or semi-optimal placement of communication nodes in a physical region that can form a viable ad hoc wireless mesh network. Wireless Mesh Networks (WMNs) are an emerging technology that is well suited for applications where ad hoc network infrastructure needs to be deployed rapidly. WMNs offer advantages over many other technologies, such as satellite links, by being cost-efficient, robust, and easy to expand or repair on demand.

In short, the proposed hybrid WMN consists of a set of router nodes (RNs) organized in a mesh topology that make up the backbone of a network. The connection between the RNs is realized using radio waves; thus no cable connections are required. The RNs considered use low-power COTS router devices following the IEEE 802.11a/n standard [4]). A WMN client connected to the network can communicate with other clients of the network since RNs serve as access points and relay traffic.

Generally, WMNs consisting only of RNs do not scale well and offer limited throughput as the number of nodes in the network increases, both in the case of single-channel networks [57] as well as in the multi-channel case [8]. There are primarily two reasons for this: traffic increases with the total number of nodes in the network, and nodes need to relay more traffic when paths in the network become longer, further contributing to the total traffic increase. In order to alleviate the scaling problem of large WMNs consisting of hundreds or thousands of nodes covering a large region, some of the RNs can be resourced to act as gateways to other networks.

Typically, the gateway nodes (GNs) considered in common deployment scenarios [9, 10], provide Internet access through a wired connection mixing wireless multi-hop mesh networks with traditional wired LAN networks. This increases the capacity of the network, where most often traffic goes from RNs to gateways with gateways acting as sinks in the network. That is how the total capacity of the network is increased.

In the applications targeted in this paper, the use of wired LAN infrastructure by gateway nodes is not guaranteed as it may be physically impossible to deploy such infrastructure in the short period of time required during a rescue operation. Instead, inspired by previous work [11, 12], a hybrid WMN topology is proposed that utilizes gateways capable of using long-range wireless radio links for GN-GN communications. These gateway nodes can increase the total network capacity by acting as bridges between nodes that are far apart in multi-hop mesh networks reducing the amount of traffic that would otherwise be required to be relayed by a number of RNs. Additionally, they can provide a means for client connectivity to the main Command and Control Centers (C2).

Using a hybrid network design that relies heavily on wireless radio technologies may potentially suffer from performance problems caused by radio wave interference. One assumption made in the proposed hybrid WMN infrastructure is that gateways used in the targeted applications utilize an alternative wireless technology working with different frequencies than the basic RNs, so that their operation does not interfere with RN-RN links. Example technologies that are currently available and could be used for that purpose include communication nodes based on the IEEE 802.16 WiMAX standard or mobile LTE cellular stations. Due to their nature, such as longer range, capacity, and power requirements, gateway nodes are more expensive than RNs, and their number should be minimized. Additionally, the GNs may require manual installation and deployment as opposed to their smaller, battery-powered counterparts, RNs, that can be autonomously delivered and set up by using UAVs.

Designing efficient and robust WMN network infrastructure is a challenging task with many aspects to consider. Included among them are two fundamental problems: 1) calculating the RN placement (RNP) to maximize overall network coverage while maintaining its connectivity; 2) and, finding a minimal number of gateway node placements (GNP) to ensure a sufficient level of Quality of Service (QoS) based on criteria such as maximum communication delay, relay load for each RN and capacity limits of gateway nodes.

In general, these problems have been shown to be in the class of NP-hard problems [13, 14], which rules out efficient polynomial-time algorithms that can provide optimal solutions. This being the case, the vast majority of approaches to these problems are heuristic-based. Due to the complexity of these problems individually, they are most often considered separately, with the exception of work in [10, 15] which uses an approach based on Integer Linear Programming, but requires extensive computational time and where node placement is limited to a set of predefined locations.

In the work presented in this paper, the initial focus is on solving an extended version of the RNP problem to create a fully connected WMN consisting of RNs (i.e. the WMN backbone). The hybrid multi-hop WMN infrastructure considered is depicted in Fig. 2. The RNP presented is an extended version of a common model considered previously in the literature [16, 17], but extended to guarantee line-of-sight constraints between RNs in order to increase the robustness of communication links in a real-world deployment.

Fig. 2
figure 2

Overview of the proposed hybrid Wireless Mesh Network topology

A second focus is then placed on solving a combined RNP-GNP problem by leveraging an efficient heuristic algorithm proposed for the RNP problem. In the example network presented in Fig. 2, the RNP problem consists of calculating the optimal spacial locations for 21 RNs (r1,r2,…,r20) restricted by a number of constraints. The RNP-GNP problem, on the other hand, considers finding a minimum number of GNs and their locations within an existing WMN backbone topology to guarantee certain QoS properties that directly influence the performance of the network. In the case considered in Fig. 2, three locations for GNs were found (at r3,r11 and r14) creating three distinct sub-networks (clusters).

Typically, formal models proposed in the literature [13, 17] targeting the design of WMNs consisting solely of RNs, use the two network performance measures: network connectivity and client coverage. Network connectivity measures the degree of connectivity between router nodes and client coverage measures the number of client nodes connected to the WMN. Finding router node placement (RNP) in a specific geographical area for a WMN that optimizes both performance measures has been the focus of several recent research publications [16, 18, 19], although not in the context of UAV deployment.

When solving the RNP problem from the practical application perspective of deploying WMNs in emergency rescue scenarios, a special set of assumptions, different from those found in more theoretical research [16, 17] is required. In fact, this set of assumptions was derived through actual experimentation with UAV-deployed WMNs.

One strong assumption used in previous work [13, 17] is that user/client positions are known beforehand. Although in some environments typical client positions could be assumed or estimated (e.g. populated urban areas) due to urban structure, this cannot be assumed in emergency rescue scenarios where the environments are often unstructured, the network clients (rescuers or victims) are highly mobile, and where responders are usually required to perform an exhaustive search of the disaster area in question. This leads to an alternative network coverage performance measure that is expressed as the total area covered by the WMN.

Another assumption used in previous work [16, 17] relates to network connectivity, where obstacles in the environment are not dealt with at all. The signal strength of a mesh router depends not only on the distance to another router, but also on any physical structures, such as obstacles, present in the space between them. Consequently, to fully utilize the range of a mesh router, obstacles in the environment have to be taken into account when calculating the RNP.

For this reason, two additional constraints are proposed and used when calculating a solution for an RNP problem: 1) enforcing line-of-sight requirement between two connected mesh routers, and 2) excluding obstacles from possible node placements. The latter constraint relates to the example mission scenario depicted in Fig. 1, where one wants to avoid delivery of mesh router nodes on collapsed building structures or densely vegetated areas with trees in order to increase the robustness of the network connections.

Given these additional constraints, the RNP problem becomes fundamentally more difficult, but its solution is radically more applicable in real-life scenarios. One major part of the solution to this problem is to develop an algorithm for RNP that is incremental in nature and appeals to intuitions derived from the motion planning domain where the optimization problem is combined with the use of the Rapidly Exploring Random Trees (RRT) [20] algorithm used in motion planning. This algorithm is generic in nature in that it can be viewed as searching through a search space, RNP graphs in this case, both incrementally and with a random exploration of that search space.

The most common formulation of the GNP problem used in previous work [14, 21, 22], assumes that the router node placement is given and the goal is to find a minimum number of gateways and their placement so that network QoS constraints are guaranteed. This is done by dividing the WMN backbone network, represented as a graph, into a set of disjoint clusters (sub-networks) covering the entire network. A single gateway, called a clusterhead, is then assigned to each cluster that will serve all RNs assigned to that particular cluster. To maximize network performance, the location of clusterheads is chosen while considering a set of QoS constraints. Most often, three QoS constraints are used: 1) maximum communication delay (RQoS); 2) maximum relay load for each RN (LQoS); 3) gateway throughput (SQoS). Assuming each router generates an equal amount of one unit of traffic and using a graph representation of the given WMN backbone network topology, the first constraint that represents the delay can be formulated as the maximum number of hops (RQoS) information has to travel in between a router node and the gateway to which the RN is assigned to, as each re-transmission adds to the total delay. Thus, the RQoS is an upper bound on the cluster radius. In the example presented in Fig. 2, three clusters are created with r3,r11 and r14 nodes chosen as clusterheads and the RQoS being equal to 2.

Similarly, the second constraint (LQoS) is placed to guarantee a throughput within each cluster as information sent to the particular gateway may need to be re-transmitted by intermediate RNs. Thus, the LQoS is an upper bound on the number of router nodes that rely on re-transmission in shortest paths that lead to a gateway from all RNs. In the example network depicted in Fig. 2, LQoS=1 in Clusters 1-2, and LQoS=2 in the case of Cluster 3, since the data from two RNs (i.e. r17 and r21) has to be re-transmitted by node r20.

Finally, the third constraint (SQoS), considers the bandwidth capacity of gateway nodes since the total traffic within each cluster has to be potentially served by a gateway. The SQoS is defined as an upper bound on the cluster size. In the example presented in Fig. 2, SQoS=7 in Cluster 1, SQoS=6 in Cluster 2 and SQoS=8 in Cluster 3.

In this paper, two alternative algorithms are proposed for solving the combined RNP-GNP problem. These alternatives are depicted in Fig. 3. The first approach, Sequential RNP-GNP, uses a combination of the RRT-WMN algorithm and a popular and well-established graph clustering technique called Weighted Recursive Dominating Set (WeightedRecursiveDS) [22]. The RRT-WMN is used to efficiently solve an RNP problem for the entire target region of deployment. The resulting WMN backbone network topology is then used as an input to the WeightedRecursiveDS graph clustering algorithm to solve the specified GNP problem. The RRT-WMN algorithm ensures that the network topology graph in the entire environment is fully connected and reaches the required network coverage, minimizing the number of router nodes used. The graph clustering technique selects a minimum number of gateways and their placement required in the network to satisfy the given QoS constraints.

Fig. 3
figure 3

Overview of two alternative algorithms proposed for solving the combined RNP-GNP problem

The second approach, WMNbyAreaDecomposition, is a novel algorithm that uses a divide-and-conquer strategy to decompose the RNP-GNP problem into a set of single RNP problems solved concurrently. This is done by using a recursive algorithm that partitions the initial target deployment area into a set of equally sized disjoint sub-regions where smaller RNP problems can be solved efficiently with the RRT-WMN. A single gateway is assigned in each sub-region. The algorithm continues the decomposition with an increasing number of sub-regions until the QoS constraints are satisfied, thus finding the minimum number of gateways.

1.1 Contributions

This papers makes the following contributions:

  • It provides a new definition of the RNP problem taking into account both technical constraints associated with WMNs and structural constraints commonly associated with areas affected by disasters.

  • It provides an extended version of the RRT (Rapidly Exploring Random Trees) algorithm [20], called RRT-WMN, first reported in [23] for solving the extended RNP problem. The RRT-WMN algorithm uses the RRT algorithm as a basis for solving this problem. The RRT algorithm has been primarily used for motion planning applications. Unlike the standard version of the RRT, the RRT-WMN searches for the best possible graph configuration using a heuristic that maximizes optimization objectives.

  • It provides a detailed experimental evaluation for solving the RNP problem, where the proposed algorithm is compared to two popular optimization techniques (CMA-ES [24] and PSO [25]), with the latter being used in previous work [13, 16, 19] for the RNP problem. The result of the experimentation shows that the new algorithm has far better performance in both time and coverage as the RNP problem scales to realistic scenarios. Two types of evaluation domains are used. The first type is a randomly generated set of environments with increasing complexity. The second type is a set of real environments based on data acquired from a GIS system for three cities in Sweden with increasing size and density.

  • Two algorithms are proposed for solving the combined RNP-GNP problem. The first one is a simple sequential algorithm that leverages the efficiency of the RRT-WMN to find router node positions, which are then used as an input to a heuristic graph clustering algorithm. The second approach is a new algorithm that interleaves solving of the RNP with the GNP to find a minimal number of GNs by dividing the environment into a set of equally sized sub-regions until the given QoS constraints are satisfied.

  • The two alternative algorithms are evaluated in the aforementioned actual domains based on real GIS data for three cities in Sweden. The results show that the second algorithm using the idea of area decomposition, outperforms a simple sequential algorithm with a solid margin of 73.7% to 92.5% less gateways on average required for the same QoS constraints.

1.2 Paper structure

Section 1 (this section) provides a thorough introduction to the problem area and a peek at some of the solutions that will be considered. Section 2 provides a detailed examination of related work relevant to the problems considered in the introduction. Section 3 considers the Router Node Placement problem by defining a generalization of the standard definition, new algorithms to solve the problem efficiently, and a comparative analysis of the proposed algorithms with several that exist in the literature. Section 4 considers the Gateway Node Placement problem and the combined problem of dealing with both Router and Gateway Node Placement simultaneously. Section 5 briefly describes development of UAVs customized to physically deliver routers and gateways based on guidance from the algorithms proposed here. Section 6 concludes the paper with a summary of work considered in the paper.

2 Related work

There are a wide range of research topics and approaches related to the deployment, maintenance and use of WMNs that have been reported in the literature in the past decades. Some of this work includes development of communication protocols with a focus on issues related to routing [2629] and channel assignment [30, 31]; radio techniques and technologies including research in smart antennas, multiple-input and multiple-output (MIMO) [32, 33]; issues related to network security [3436]; and last but not least, the fundamental problems related to network topology and infrastructure [13, 17, 22, 37]. The latter is the main focus of the work presented in this paper.

Problems dealing with the RNP and GNP are both NP-hard. Consequently, the majority of approaches presented in the literature target use of heuristic algorithms that can solve problem instances with realistically large numbers of nodes in the resulting networks and that can also be generated in a reasonable time. In the following subsections, relevant work related to the topics in this paper is presented and comparatively summarized. The related work is presented in three parts. First, existing approaches that deal with the RNP and GNP problems separately are considered. This is then followed by a discussion about the limited number of proposals whose aim is to solve the combined RNP-GNP problem.

2.1 Router node placement

During the past decades, the problem of calculating router node positions in WMNs has been a major focus of many studies. As mentioned, since the RNP is an NP-hard problem [13] and generally modeled as a continuous or discrete multi-objective optimization problem, the main body of work is related to finding efficient heuristic or meta-heuristic methods for use in practical applications.

In [38], the authors propose a local search algorithm for solving RNP in networks with a two-tier architecture [39]. A four-step deployment scheme is proposed that includes division of the environment into grid cells, choosing convenient locations for potential RN placements, measurement of signal strength to estimate client node distributions, and finally calculating optimal placements of RNs using a local search method that optimizes the connectivity and coverage metrics. Both the connectivity and coverage metrics are represented as probabilities and require actual physical measurements of the signal strength to be calculated. In the application scenarios considered in this paper, such measurements are not feasible due to time constraints. Most importantly, due to the high mobility of rescue teams, the measured probability distributions would not give accurate representations. Consequently, in the approach pursued in this paper, as a metric of coverage, physical area coverage is combined with the calculation of positions of RNs that guarantee line-of-sight between RNs so that radio signal utilization is maximized.

Several meta-heuristic evolutionary algorithms have been proposed for solving the RNP problem, where the deployment environments targeted are discretized. Those approaches include the use of Genetic Algorithms (GA) [17], Simulated Annealing (SA) [40] and Tabu Search [41]. In these cases, a hierarchical approach to optimization is used to prioritize within the defined bi-objective function. The network connectivity, defined as the size of the largest component in the topology graph, is considered as a primary objective while user coverage is secondary. User positions are assumed to be given, and several models for generating client positions in experimental evaluations are used that include normal, uniform, exponential, and Weibull distributions. Extensive studies have been conducted to compare and evaluate those approaches for problem domains with different sizes and parameters [42, 43], including the use of a Friedman test [44] and evaluations using the ns-3 simulation framework [45]. The results show the strengths and weaknesses of these approaches relative to factors such as communication ranges and the models used for generating client positions.

Another group of meta-heuristic algorithms has been proposed that uses a different set of assumptions. One of the main differences is that rather than using a hierarchical optimization approach, both objectives are optimized at the same time. In this case, the bi-objective function is a normalized sum of both objectives, i.e. network connectivity and client coverage. In a manner similar to the other meta-heuristic algorithms discussed above, these approaches also assume knowledge of client positions beforehand. A Particle Swarm Optimization (PSO) [25] algorithm applied to the RNP problem is proposed in [13]. In this case, as opposed to the previously discussed evolutionary algorithms, optimization in continuous state space is used. That is, rather than representing the deployment area as a grid of finite size, the positions of the router nodes are computed as floating-point values. This approach gives more flexibility as to where the router nodes can be positioned, and it is an important feature when considering practical deployment. The authors also formulate a model for dynamic network scenarios where both router nodes and clients can change their locations. The evaluation includes both static and dynamic cases. Several extensions have been proposed based on the PSO approach. In [18], the authors define a mobility scheme based on a social community structure to dynamically adjust the router node positions in the WMN. In [19], an SA approach with momentum terms was proposed to additionally deal with the service priority for client access control, although the deployment environment considered there is discretized.

Two very strong assumptions are made in the meta-heuristic approaches considered that limit their applicability to practical applications. This is ameliorated in this paper by proposing a new extended definition of the RNP problem with additional constraints.

One of the strong assumptions used by others is that of knowing client positions beforehand. The network clients (rescuers or victims) in rescue scenarios are highly mobile, and the responders are usually required to perform an exhaustive search of disaster areas in question. Instead of assuming knowledge of client positions in order to maximize coverage of the WMN network, the approach considered in this paper uses an alternative network coverage performance measure that is expressed as the total area covered by the WMN.

The second strong assumption relates to network connectivity metrics where obstacles in environments are not considered at all. The signal strength of an RN depends not only on the distance to another router, but also on any physical structures such as obstacles, present in the space between them. Therefore, to fully utilize the range of a mesh router, obstacles in the environment have to be taken into account when calculating the RNP and they are used in the approach considered in this paper.

Additionally, meta-heuristic methods that use a grid representation of the environment are not directly well suited for solving the extended RNP problem when obstacle constraints are taken into account. Simple grid discretization strategies applied to existing or acquired real-world models can easily limit the number of possible solutions. This results in finding sub-optimal solutions or in not finding any solutions at all. Consequently, the experimental evaluations used for comparison of the performance of the RRT-WMN algorithm proposed in this paper are based on two optimization techniques capable of solving problems in continuous domains: the PSO [16] and CMA-ES [24].

2.2 Gateway node placement

The GNP problem has also been proven to be in the class of NP-hard problems [14]. Consequently, the main focus in previous work has been placed on providing efficient heuristic-based algorithms to find near-optimal solutions to the problem. Typically, the GNP problem is defined in terms of an Integer Linear Program (ILP) defined to find a minimum number of gateway nodes for a given WNM backbone network that satisfies a given set of QoS constraints. Three QoS constraints are commonly considered that influence the network performance. These include the communication delay, relay load, and gateway throughput.

Several heuristic-based algorithms for solving the GNP that use a single objective of minimizing the number of gateway nodes given the three QoS constraints mentioned, have been proposed in [14, 21, 22, 37]. Other work has considered a second objective of minimizing the number of hops between an RN and its assigned gateway [46, 47]. One of the algorithms proposed in this paper for solving the combined RNP-GNP problem utilizes the heuristic graph clustering technique proposed in [22].

2.3 Combined router and gateway node placement

Research that focuses on solving the combined RNP-GNP problem fully, or at least to some degree, is very limited. In [16], a PSO approach was applied to the RNP problem that includes a set of GNs with their positions fixed beforehand. The experimental evaluation was limited to a case with four static gateways. Work presented in [48] proposed a heuristic algorithm for solving the RNP problem that assumes one gateway is placed in the center of the calculated network topology. Gateway capacity and frequency channel assignment were taken into account when calculating the solution. The candidate RN positions considered during the solution search were generated using hexagonal tessellation over the circle centered around the gateway node.

In [10, 15], a WMN Topology Planning–Maximum Coverage (WMNTP-MC) model is proposed that targets solving an ILP to find solutions to the combined RNP and GNP problem. The ILP is solved using a CPLEX branch-and-bound technique. There are two main limitations to the WMNTP-MC approach which makes it ill-suited to the applications discussed in this paper. First is the required calculation time and lack of scalability to large problem instances. Since the approach relies on solving an ILP program directly by an LP solver, the computation times vary, and even for small problem instances take a considerable amount of time. In the experimental evaluation of problems that involved placing between 5-80 RNs and 1-16 GNs, the reported computation times varied between 96s and 9+ days, with an average time of 77.9h. In the context of time-critical applications, such as emergency rescue, algorithms with long execution times are not applicable, and more efficient approaches that can handle larger problem instances are required.

The second limitation is that in the WMNTP-MC approach, the RNP-GNP problem is modeled as a discrete combinatorial problem, where candidate locations for both RN and GN need to be predefined. This means that continuous environment models typically available in GIS systems cannot be handled directly, and an additional adequate selection or discretization process needs to be provided. Similar limitations exist in earlier work presented in [49]. In this case, the proposed ILP model focused on minimizing WMN deployment costs while dealing with problems of channel assignment. Experimental evaluations were presented with up to 105 nodes in total, including router and gateway nodes. In comparison, the two approaches proposed in this paper, for solving the combined RNP-GNP problems, utilize continuous models directly, take into account obstacle constraints to maximize the utilization of an RN’s radio signal, and efficiently provide solutions to large-scale problems involving hundreds of nodes.

3 Router node placement

3.1 Problem definition

In this section, a mathematical model of the RNP problem is provided that is specified as a constrained optimization problem. A WMN is composed of a set of mesh router nodes (RNs) and mesh clients. RNs serve as access points for mesh clients (rescuers or victims in our domain) and are interconnected with point-to-point wireless links creating a backbone for the network.

In Fig. 4, an example of a deployed WMN is shown consisting of five mesh routers ri, with their respective radio coverage Υ (green circles), and ten mesh clients cj (orange), deployed in the area P with six obstacles O (blue polygons).

Fig. 4
figure 4

Wireless Mesh Network example. Overview of the WMN deployed in an area P with obstacles (left). Topology graph representation of the WMN (right)

For each WMN generated, a network topology graph, G=(V,E), can be constructed and used for analysis. In the literature for RNPs [13, 16], the set of vertices (V) in a graph consists of mesh clients and mesh routers. The edges (E) represent connectivity, where: 1) for two router nodes to be connected they have to be in their communication range, and 2) the client/router edge is added when the client is in the communication range of a router. In the approach considered in this paper, the definition of edge connectivity is extended by introducing additional constraints that relate to the handling of obstacles and line-of-sight requirements.

Formally, a WMN for the RNP problem (Fig. 4) [17], is defined as a set of interconnected devices in a universe U=RC, where R={r1,r2,…,rn} is a set of n mesh router nodes and C={c1,c2,…,cm} is a set of m mesh clients. Each ri represents the ith mesh router and consists of a tuple \(\left \langle r^{X}_{i}, \gamma _{i}, \Upsilon _{i} \right \rangle \) where \(r^{X}_{i} = (x_{i}, y_{i}) \in \mathbb {R}^{2}\), is the position of the router node, γi is its nominal communication range, and Υi is the circle representing its radio coverage centered at the \(r^{X}_{i}\) position with radius γi for i∈{1,2,…,n}. C is the client set, where each cj for j∈{1,2,…,m}, represents the jth client. In the problem formulation, it is assumed that the client positions are unknown, so C=. Consequently, the network topology graph G=(R,E) will consist of vertices from R, with a graph edge connectivity constraint on members of E defined as:

$$ \begin{aligned} e(r_{i},r_{j}) \in E(G) \iff \\ \left(\overline{r^{X}_{i}r^{X}_{j}} \cap O = \emptyset \right) \land \left(\lVert {r^{X}_{i}-r^{X}_{j}} \rVert < \min\left(\gamma^{i},\gamma^{j}\right) \right) \end{aligned} $$
(1)

This states that for any edge in E(G), between a pair of router nodes ri and rj in R, the line segment between their positions, \(\overline {r^{X}_{i}r^{X}_{j}}\), is not in collision with any obstacle, and the distance between them is smaller than the minimum of their radio coverage radius (e.g. r1 and r2 in Fig. 4). The latter connectivity constraint used is different from previous work where two nodes were considered to be connected when their coverage circles overlap, ΥiΥj.

The formulation used in this paper is motivated by pragmatic constraints, since most commercially available devices have the same radio range for both inter-router mesh connections as well as clients. Therefore, a pair of connected routers will always have an overlap in their respective coverage areas, but additional constraints may be needed for the connectivity to actually work in practice.

The deployment area for an ad hoc network is defined as a set P specified by a polygon. Within the area, an obstacle set is the union of all obstacle regions specified by polygons, for m obstacles O=O1O2∪…Om.

Based on the definitions introduced so far, the extended RNP problem considered in this paper can be specified as the following non-convex constrained optimization problem. Find n mesh router positions \(r^{X}_{i}\) where i∈{1,2,…,n}, that maximize a cost function \(f(\mathcal {X})\) given a target deployment set P, obstacle set O, and a network topology graph G=(R,E). The objective function is defined as the proportion between the geographical area covered by the WMN and the deployment set P without obstacles:

$$ \begin{aligned} {}f(\mathcal{X}) = \psi(G,P,O) = \frac{Area \left(\left(\left(\bigcup\limits_{i=1}^{n} \Upsilon_{i} \right) \cap P\right) \setminus O\right) }{Area \left(P \setminus O \right)} \end{aligned}, $$
(2)

where \(f:R^{n}\mapsto \mathbb {R}\) (each x∈ is a tuple \(\left \langle r^{X}_{i},r_{i+1} \ldots, r^{X}_{n}\right \rangle \)). Intuitively, when ψ(G,P,O)=1, the WMN defined by the graph G fully covers the entire deployment area excluding obstacles, and at ψ(G,P,O)=0, there is no coverage of the area. Using network coverage ψ(G,P,O), as an objective function rather than client coverage used in other approaches, allows for searching for solutions that are not dependent on knowledge of client positions. Details of the area coverage calculations are presented in Section 3.2.

Another important measure of WMN performance is network connectivity which quantifies how well the routers are interconnected. Since the connections between router nodes depend on their radio ranges and line-of-sight constraints, a network topology graph G for a particular set of RN positions may not be fully connected. This means it may consist of several subgraph components as shown in the example WMN in Fig. 4. There the graph G consists of 3 subgraphs (G1,G2,G3) in the WMN backbone case, excluding client connections. The size of the greatest subgraph component in G=G1G2∪…Gh is defined as:

$$ \begin{aligned} \phi(G)=\max_{i\in\{1,\,2,\ldots,h\}}\{|G^{i}|\}. \end{aligned} $$
(3)

Typically, in other work [13, 17], the network connectivity (also called size of the greatest component) is considered as part of the objective function. In this case, there is always a trade-off between finding solutions that maximize both objectives. Such problems are often solved using the bi-objective optimization technique, where each objective is multiplied with a weight parameter emphasizing the importance of each separate objective.

Generally, network connectivity is considered more important than client or network coverage. Consequently, in this formulation it is considered as a very strong requirement that the RNP solution guarantees a fully connected network. For that reason, network connectivity is treated as a constraint rather than an objective to be maximized.

The general optimization problem formulation for the extended RNP problem, which includes the objective function and all the constraints considered in this approach, is defined as:

$$ \underset{\mathcal{X}}{\text{max}} \quad f(\mathcal{X}) $$
(4a)
$$ \text{s.t.} \quad\ r^{X}_i \in P \setminus O\quad\quad\quad\quad\quad\quad\quad\quad\ \ \ \ \ \forall i\! \in\!\! \{1,2,\ldots,n\}, $$
(4b)
$$ \quad\quad\ e(r_i,r_j) \in E(G) \iff $$
$$ \quad\quad\ { { \overline{r^{X}_{i}r^{X}_{j}} \cap O = \emptyset \land \left(\| {r^{X}_i-r^{X}_j}\| < \min(\gamma^{i},\gamma^j) \right)}} $$
$$ \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\ \ \forall i\neq j; i, j \in \{1,2,\ldots,n\}, $$
(4c)
$$ \quad\quad\ \phi(G) = n. $$
(4d)

The goal of the optimization problem is to maximize the geographical area which is covered by the WMN (Eq. 4a) and the constraints enforce three important features of solutions. First, all router positions should be within the deployment area P with exclusion of obstacle regions (Eq. 4b). Second, connections between any two routers that are considered as valid have a direct line-of-sight (Eq. 4c). Finally, the topology graph G is fully connected where it consists of a single graph (Eq. 4d).

In practice, solving this non-convex, non-smooth, high-dimensional constrained optimization problem directly is infeasible. An alternative to solving such a problem is to use penalty function methods in which the constraints are replaced with a penalty function that is a cumulative measure of constraint violations. The penalty function is added to the objective function, thus discouraging the search algorithm from visiting infeasible parts of the search space.

Penalty methods with binary constraints still require parameter tuning and there are no guarantees for convergence to the global optimum. In an attempt to alleviate this problem, a penalty function is used that also includes a distance measure indicating how infeasible a particular solution is. The objective function, including penalties for different constraint violations, is calculated as follows:

$$ \begin{aligned} \underset{\mathcal{X}}{\text{max}} (f(\mathcal{X}) - \pi(\mathcal{X})); \;\; \pi(\mathcal{X})=\sum\limits_{p=1}^{4}(\pi_{c} \cdot \pi_{p}(\mathcal{X}))^{2},\\ \end{aligned} $$
(5)

where πc is a penalty coefficient chosen empirically. Four πp penalty functions are used in the RNP problem formulation, where in the case of no constraint violations the value of \(\pi (\mathcal {X}) = 0\).

$$ \begin{aligned} \pi_{1}(\mathcal{X}) = \sum\limits_{i=1}^{n} \begin{cases} r^{X}_{i} \in P\rightarrow 0, \\ r^{X}_{i} \notin P\rightarrow d(P, r^{X}_{i}), \end{cases} \end{aligned} $$
(6)
$$ \begin{aligned} \pi_{2}(\mathcal{X}) = \sum\limits_{i=1}^{n} \begin{cases} r^{X}_{i} \notin O\rightarrow 0, \\ r^{X}_{i} \in O\rightarrow \exists k \left(r^{X}_{i} \in O^{k} \right) \rightarrow d(O^{k}, r^{X}_{i}), \end{cases} \end{aligned} $$
(7)
$$ \begin{aligned} \pi_{3}(\mathcal{X}) = \sum\limits_{e(r_{i},r_{j}) \in E(G)} \begin{cases} \overline{r^{X}_{i}r^{X}_{j}} \cap O = \emptyset \rightarrow 0,\\ \overline{r^{X}_{i}r^{X}_{j}} \cap O \neq \emptyset \rightarrow 1, \end{cases} \end{aligned} $$
(8)
$$ \begin{aligned} \pi_{4}(\mathcal{X}) = \sum\limits_{j>1}^{h}\min_{\substack{r_{i} \in G^{1} \\ r_{j} \in G^{j}}}\lVert {r^{X}_{i}-r^{X}_{j}}\rVert-\min(\gamma_{i},\gamma_{j}). \end{aligned} $$
(9)

Penalties π1 and π2 correspond to the first constraint (Eq. 4b) and if violated they are calculated as a distance measure to the closest border of the deployment area or obstacle, respectively. Line-of-sight constraints (Eq. 4d) are imposed by penalty π3. Full graph connectivity constraints are enforced by penalty π4 which in the case of a violation, where graph G consists of several subgraphs, it will be equal to the sum of the minimum distances between the largest subgraph component G1 in the graph G and the remaining subgraphs. This penalty will decrease as the number of subgraphs decreases, or the remaining smaller subgraphs are moved closer to the largest subgraph component G1.

Note that although solving the extended RNP problem using penalty functions bears some similarities to bi-objective optimization, where constraints are a part of the objective function with much higher negative values, in this case, a feasible solution is one that meets all the constraints. Thus the penalty in the objective function is \(\pi (\mathcal {X}) = 0\).

3.2 Network coverage calculation

Network coverage calculations are an essential part of the RNP algorithm described in Section 3.3. These calculations have to be done efficiently. Thus an approach based on grid representations allowing for fast computation of covering areas is used. Two types of network coverage calculations are used in the algorithm. The first, ψ(G,P,O), assesses the total geographical area covered by a WMN over a given deployment set P, excluding obstacles O. It is used as the objective function (Eq. 2) when applying optimization algorithms. The second variant, μ(G,P,O,rnew), assesses an area coverage improvement due to a particular router node rnew, when selecting a new router node position in the process of finding a final network topology graph incrementally.

Both area calculations are approximated using grid representations encoded as three two-dimensional matrices. This allows us to leverage very efficient image processing algorithms to calculate network coverage. An example for a sample environment is depicted in Fig. 5.

Fig. 5
figure 5

Area coverage calculation for a sample environment with 0.5 m/grid cell resolution. Overview of the router node placement problem with the new candidate node rnew highlighted in yellow (problem environment), EM grid representation of the environment, EG grid representing the topology graph G, and final area coverage grid representation ET

3.3 RRT-WMN algorithm

In this subsection, a description of the proposed RRT-WMN algorithm is presented. The algorithm incorporates an extension to the Rapidly Exploring Random Trees (RRT) [20] motion planning technique that is capable of finding efficient solutions to the motion planning problem in multi-dimensional state spaces that take into account state constraints. The original version of the RRT algorithm iteratively builds a tree rooted in an initial state by extending it towards a randomly selected state. This expansion procedure is biased towards covering unexplored parts of the state space, and that is the key feature exploited in the RRT-WMN algorithm when applied to the RNP domain. The RRT and its variants are predominantly applied to finding motion plans that connect an initial state to a goal state.

Although the standard RRT algorithm can be applied to finding solutions to the extended RNP problems, it has a significant limitation. There is no notion of cost or objective in the standard RRT algorithm variants that could be used to optimize towards a given objective. The extended RNP problem is an optimization problem where the goal is to maximize the network coverage. As such, the standard RRT would provide a single solution generated randomly without considering the main objective formulated in the RNP problem. Therefore, the objective of maximizing the network coverage would not be realized. Additionally, the standard RRT use would be limited to RNP problems where all router nodes are homogeneous.

The RRT-WMN algorithm uses the same state exploration principle for calculating router node positions as the standard RRT. However, instead of generating a single graph, the algorithm creates multiple graphs in parallel, each of which is a feasible RNP solution. A recursive process is used to compute these graphs where, at each step, a number of potential new router positions are considered for addition to one of the existing partial graphs. All router position candidates are ranked according to an area coverage improvement score, i.e. μ(G,P,O,rrew).

The pseudo-code for the algorithm is presented in Algorithm 1 and Algorithm 2. The input to the RRT-WMN is a graph G (current partial solution) and a set R (the list of router nodes as tuples), (see Section 3.1). The parameters used during the calculations include polygons specifying the deployment area P and obstacles O, a limit for the number of candidates considered at each iteration NB, a timeout constant and a minimum area coverage value ψmin. The last parameter is used for finding a minimum set of router nodes that yields at least ψmin network coverage.

An initialization step is performed (in Lines 1-6) that either assigns a predefined router node position, already given as an input to the algorithm, where \(r^{X}_1 \neq \emptyset \) in r1R, or it selects the first position by random state sampling, subject to the constraints in Eq. 4b. A timeout termination condition is checked in Line 6, and if true, the current best solution is returned. In the main loop of the algorithm, a condition for a feasible solution is evaluated in Line 8. It checks if there are any more nodes in R to be added to the solution graph, or if the current solution has reached a specified minimum network coverage (ψmin). If any of these two conditions are true, a comparison between the current solution graph and the best graph found so far is performed (Lines 16-17). Otherwise, a set of NB candidate nodes are generated by performing rejection sampling according to Algorithm 2.

The candidate nodes are then sorted according to their score and the one with the highest score is added first to the solution graph G and removed from the set R. The updated solution graph G and the set of unassigned router nodes R are then used in the recursive call to the algorithm (Line 14).

The rejection sampling algorithm (Algorithm 2) generates a random state xrand, in Line 3, subject to the constraints specified in Eq. 4b. In case the selected random state is already in range of the current solution graph G, a new random state is generated. Next, the closest router rnear in the graph to the random sample is selected (Line 5).

In order to enforce the full network connectivity constraint specified in Eq. 4d, a distance d used for graph extension is calculated. Its value is based on the minimum radio coverage radiuses of rnear and one of the unassigned router nodes in R that is selected randomly (Lines 6-7). A new state is then calculated (xnew) as a point on a line between the positions of xnew and \(r^{X}_{{near}}\) located at the distance d from \(r^{X}_{{near}}\) (Line 8). A line-of-sight check, according to the edge connectivity constraint specified in (Eq. 4c), between the points is then performed (Line 9). If successful, the new state is used as a candidate with its score calculated using the area coverage improvement μ(G,P,O,rnew). The procedure is repeated until NB candidates are created. Figure 6 presents an example of two successfully generated candidates (rnew1 and rnew2) and some rejected state samples, xrand3, which is already in range of the WMN (rejected in Line 4), and xrand5, where the potential new extended state would not have a line-of-sight to its nearest node rnear2 (rejected in Line 9).

Fig. 6
figure 6

Generation of candidate router positions in the RRT-WMN algorithm

3.3.1 Algorithm enhancement

The main objective of the RRT-WMN algorithm is to maximize the deployed network coverage given a set of router nodes to be distributed. Thus, by default, the distance d at which a new candidate node is generated in the rejection sampling step (Algorithm 2), is calculated as the maximum allowed value which ensures two router nodes are still connected.

The difficulty of finding a solution for the RNP depends on the structure of the environment, the structure and density of the obstacles, and the ranges of router nodes selected for the deployment of the network in set R. For practical reasons of in-air deployment, it is assumed that the network should be constructed from identical routers. This implies that the distance d between two or more connected nodes is the same. In environments where the value of d is smaller than typical distances between obstacles, finding new candidate node positions by rejection sampling is relatively straightforward because there are many pairs of positions that meet the constraints.

Such problem instances are considered to be sparse relative to the value of d. Finding RN positions using this strategy can be problematic in dense cases where the obstacles can limit valid router placements considerably and 1) a solution may not even exist given the router node range parameters or 2) the random sampling is considerably more difficult, thus convergence to any solution is much slower. This is similar to the problem of finding a valid path through a narrow passage in motion planning in robotics. Typically, an environment will have both types of sparse and dense characteristics, such as sparse regions associated with city suburbs and denser regions closer to the city center. In this case, the difficulty of finding valid router node placement will vary.

Due to the variation of density in the environments studied, an extension to the basic version of the RRT-WMN algorithm is proposed, where the distance d (Line 7, Algorithm 2), at which a candidate node xnew is generated, is additionally adjusted by a factor λ depending on how difficult it is for the algorithm to generate new candidate nodes. This may result in a higher number of router nodes used in the solution, but it will also improve both convergence and computation time of the algorithm.

A simple strategy can be used where a timeout is added for the rejection sampling step. Each time a new candidate generation fails in the allocated time, the next value of distance d is reduced by a factor such as 10%.

Whenever a new candidate is generated within the specified time, the λ factor is increased until it reaches a value of 1. The λ factor is specified as:

$$ \begin{aligned} \lambda_{i} = \left\{\begin{array}{llll} (\lambda_{i-1} + \delta), if\left(T_{i}-T_{i-1}\right)>0,\\ (\lambda_{i-1} - \delta), if\left(T_{i}-T_{i-1}\right)=0, \end{array}\right. \end{aligned} $$
(10)

where i is the iteration number of the rejection sampling algorithm, Ti denotes the number of timeouts which occur until step i, and δ is a fixed constant defining a step size for reduction or increase of λ. The value of λ is always limited to the range λ∈[λmin,1.0]. Initial value of λ0=1.0.

For example, with δ=0.1 and λmin=0.5 each timeout occurrence will effectively reduce the distance d by 10% compared to a nominal value calculated in Line 7 of Algorithm 2, and decrease down to 50% of the original value. An illustrative example is depicted in Fig. 7.

Fig. 7
figure 7

Simple illustration of adaptive step size enhancement. In step 1 the distance d1 is selected based solely on r1 and rnew router ranges which makes it impossible to find a valid new candidate position. After a timeout, the step size parameter is decreased to λ=0.9, thus d2=0.9·d1 allowing to find a valid candidate node position rnew

3.3.2 Convergence analysis

In this section, an informal proof of global convergence for the RRT-WMN algorithm is provided. A thorough proof for a global convergence for a conceptual random search algorithm has been presented in [50]. Although the RRT-WMN is not identical to the conceptual algorithm, it does include its key features and structure. These features include both algorithms starting from an initial random solution, generating random new solutions, and selecting the best solution at each execution step. The RRT-WMN algorithm additionally includes a mechanism of recursion, use of heuristics, and constraints. Because both algorithms follow the same structure, the same framework for proving a global convergence used in [50] can be applied when analyzing the convergence properties of the RRT-WMN algorithm.

In short, the global convergence proof proposed in [50] considers the following problem. Given a function \(f:\mathbb {R}^{n} \rightarrow \mathbb {R}\) and \(S \subset \mathbb {R}^{n}\). The goal is to find a point xS which minimizes f on S or at least which yields an acceptable approximation of the infimum of f on S. Global convergence for an algorithm is achieved if the following two properties, (H1) and (H2), are satisfied:

$$\begin{array}{*{20}l} {}{\mathbf{(H1)}\!\! \quad f(D(x, \xi)) \leq f(x)\! \quad \mathbf{and if} \quad \xi \in S, f(D(x, \xi)) \leq f(\xi),} \end{array} $$
(11)

where ξ is the newly generated solution at any step and x is the current best solution. S is the space of acceptable solutions. Function D(x,ξ) selects x or ξ depending on which solution is better. Essentially when an algorithm fulfills the (H1) property, the algorithm generates solutions that are improving.

$$ \begin{aligned} {\mathbf{(H2)} \quad \forall A \subset S : v(A) > 0, \quad \mathbf{we have that} \quad \Pi_{k=0}^{\infty} (1-\mu_{k}(A)) = 0,} \end{aligned} $$
(12)

where μk is the sequence of random numbers generated by the algorithm. A is a subset of the solutions S. v(A) is the volume of A, and v(A)>0 means A is not empty. Essentially the (H2) property states that for an infinite amount of draws, the probability of missing the elements of set A must be equal to zero. In practice, when an algorithm fulfills the (H2) property, the algorithm is guaranteed to find globally optimal solutions after performing an infinite number of draws.

The RRT-WMN is searching for an RNP solution for n=|R| router nodes by recursively generating a number of WMN topology graphs G. At each recursion level, the RRT-WMN solves a problem of a single router node placement by using a random search approach (Line 9, Algorithm 1) and recursively calls the algorithm to place the remaining routers. The placement of one router node is done by the rejection sampling algorithm (Algorithm 2) that generates a NB number of router configurations, one of which is chosen by the RRT-WMN algorithm according to heuristics. All configurations satisfy the RNP problem constraints and include the router’s position and what router node is selected from the initial set of routers R.

Fulfilling the (H1) property is guaranteed by the RRT-WMN algorithm in Lines 16-17 of Algorithm 1, where a newly generated complete solution G (i.e. containing all router nodes from R or exceeding a network coverage threshold ψmin) is compared to the existing best-known solution Gbest and the best of both solutions is kept.

Let RRT-WMNi denote the i-th level of the recursive process in the RRT-WMN algorithm, so that the RRT-WMNi calls RRT-WMNi+1. The recursion stops when i=n. Thus, RRT-WMNn is the last recursive step of the algorithm at which all router node configurations are generated, and the construction of a new solution is completed. The RRT-WMNn+1 step will therefore not be executed. Note that in (Line 8, Algorithm 1), there is an optional condition to check if the current solution has reached the specified minimum network coverage.

At level n, all the router nodes have been placed and RRT-WMNn only checks if the current solution is better than the absolute best-achieved solution so far (Gbest).

The proof that the RRT-WMN algorithm satisfies the (H2) property is done using induction. We show that for all i the RRT-WMNi satisfies the (H2) property. In the base case, at level i=n−1, the algorithm calculates the placement of the last (n-th) router node using a random search. Assuming the number of candidate locations NB, the full space of feasible solutions will be explored (Line 9, Algorithm 1). Consequently, any subset A is explored. Thus, the RRT-WMNn−1 satisfies the (H2) property.

In the general case, at the i-th level of the algorithm, the Gi graph represents the set of router nodes placed at previous levels. The algorithm generates random r and executes a recursive call RRT-WMNi+1(Gir) to calculate configurations of the remaining router nodes. The induction hypothesis is that RRT-WMNi+1(Gir) satisfies the (H2) property.

To prove the hypothesis consider a subset of solutions AS, and a solution a=(r0,r1…,ri−1,ri,…,rn). The probability that the router configuration ri of a is drawn is equal to 1.0 when the RRT-WMN (Line 9, Algorithm 1) is executed using an infinite NB number of draws. Executing the RRT-WMN at the next level i+1 generates the remaining router configurations. Since the RRT-WMNi+1(Giri) satisfies the (H2) property, the probability that the other router configurations (ri+1,ri+2,…,rn) of a are drawn is equal to 1.0. Thus, the probability that RRT-WMNi draws all existing configurations in a is equal to 1.0, proving that RRT-WMNi satisfies the (H2) property.

By induction, for all i, the RRT-WMNi satisfies the (H2) property. Since RRT-WMN0 is the RRT-WMN full algorithm, the RRT-WMN satisfies the (H2) property. In conclusion, the RRT-WMN algorithm satisfies both (H1) and (H2) properties. Therefore, it will converge toward a global optimum.

3.4 Experimental evaluation for solving RNP problems

In this section, results of a comparative experimental evaluation are provided for the extended RNP problem. First, the performance of the RRT-WMN algorithm is compared with two optimization techniques, Particle Swarm Optimization (PSO) [25] and the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) [24] using randomly generated environments. The criteria used for comparison between the algorithms are based on the computational time and quality of the solutions measured in terms of the coverage of the WMN. The second part of the evaluation focuses on the performance evaluation of the RRT-WMN algorithm when applied to actual environment models based on real GIS data.

3.4.1 Comparative evaluation using randomly generated problems

The PSO algorithm variant used for comparison, proposed in [16], includes the use of a constriction coefficient and local search. It has been successfully applied to a different RNP problem specification. The CMA-ES algorithm is an evolutionary optimization technique that has grown in popularity in recent years due to its success in solving many problems where the objective function is non-convex, multi-modal, non-smooth, discontinuous, noisy, or ill-conditioned. All the evaluated algorithms were implemented in the Python programming language, and the experiments were run on a computer equipped with an Intel Core i7 (I7-6820HQ) processor.

Three cases of different complexity were designed for the evaluation. The first two are based on setups previously used in the evaluation of other approaches [13, 16, 51], and include a relatively small limit on the number of router nodes used. These cases are used for comparison between the two optimization techniques, PSO and CMA-ES, and the RRT-WMN algorithm. The third case has a significantly larger complexity and is used to study the robust scalability of the RRT-WMN algorithm in comparison to the other approaches.

  • Case 1: 16 mesh router nodes with a circular radio coverage range with a radius of 6m are to be deployed in an area of size 32m ×32m. The area includes 10 randomly distributed obstacles with size 3m ×3m.

  • Case 2: 32 mesh router nodes with a circular radio coverage range with a radius of 7.5 are to be deployed in an area of size 64m ×64m. The area includes 10 randomly distributed obstacles with size 6m ×6m.

  • Case 3: 200 mesh router nodes with a circular radio coverage range with a radius of 183m are to be deployed in the area of size 4000m ×4000m. The area includes 320 randomly distributed obstacles with size 50m ×50m.

Parameters used for the algorithms in the comparative evaluation were chosen empirically and were set as follows.

  • PSO: 100 particles, 50 iteration limit, with vmax=3.5 for the particle velocity.

  • CMA-ES: 15 000 iteration limit, σ=0.01, with no adaptive σ strategy used.

  • RRT-WMN: timeout=10s [30s],NB=10 [20] and ψmin=0.99 (values in the brackets are for Case 3).

Additionally, since all three algorithms can be run iteratively and in anytime fashion, the first valid solution with its execution time was recorded as well, and it is marked in the results by a capital letter F at the end of an algorithm name (e.g. PSO-F).

For each of the cases, 10 instances of an environment were generated using a uniform distribution. The algorithms were executed 10 times per each instance. Figure 8 presents statistics for Cases 1-2. The coverage measurement is the percentage of the overall deployment area covered i.e. \(f(\mathcal {X})\) (see Section 3.1).

Fig. 8
figure 8

Experimental evaluation results for Case 1 and Case 2

In general, for Case 1, the best results were obtained using the CMA-ES and RRT-WMN algorithms, where solutions reached the average coverage of 94.7% and 94.5%, respectively. The CMA-ES algorithm reached a maximum of 97.3% coverage on average which is around 2% better than the best coverage in the RRT-WMN case. However, the average calculation time was slower by a factor of 12, where average CMA-ES times were 62s compared to 4.8s for the RRT-WMN. Interestingly, the first solutions calculated by the RRT-WMN are quite close in quality to the final ones and are computed at an average of 0.2s. The PSO algorithm performed quite poorly in the extended RNP domain as compared to the other two algorithms, providing solutions with an average coverage of 69.6%.

For Case 2, the RRT-WMN outperformed both the CMA-ES and PSO algorithms with average solutions reaching 80% coverage while still maintaining very short average calculation times of 4.8s. In this case, the CMA-ES and PSO algorithms require 16-30 times more computational time than RRT-WMN and provide solutions with lower coverages between 31% and 62%. A representative set of solutions generated by the three algorithms for Case 2 is presented in Fig. 9. The figure shows that the node positions calculated by the RRT-WMN algorithm are farther apart, thus reaching more significant network coverage. The RRT-WMN performed even better on more complex problems. In Case 3, it reached an average coverage of 80.9±0.5% with computation times at 20.1±3.4s. The two other algorithms, CMA-ES and PSO, were not anywhere near feasible for this case due to the amount of time required for finding a solution. A possible reason for the poor performance and scalability of the CMA-ES and PSO approaches when applied to the extended RNP problems could be attributed to the use of a penalty function for constraint handling. Unfortunately, publicly available implementations of the CMA-ES and PSO do not offer a better strategy for handling constraints. Thus, the use and evaluation of other variants of these algorithms (e.g. [52, 53]) are left to be investigated in future work.

Fig. 9
figure 9

Representative example solutions generated by the CMA-ES (left), PSO (middle) and RRT-WMN (right) algorithms for Case 2

3.4.2 Evaluation on real-world GIS models

The second part of the evaluation was performed using models based on real-world GIS data from the Swedish government institution Lantmäteriet [54], which offers easy access to a large amount of data. Three cities, shown in Fig. 10, were selected with different area sizes and building structure densities. The goal was to find RNP solutions that cover at least 99% of selected deployment areas using router nodes with a fixed range of 183m (600 feet), with the following locations and parameters:

  • Case 4: the city of Gamleby (Fig. 10a) with an approximate deployment area selected equal to 8.2 km2, including 2157 building structures (obstacles) - maximum of 200 router nodes (i.e. |R|=200), timeout=60s,NB=3 and ψmin=0.99.

    Fig. 10
    figure 10

    Experimental environments based on real geographical data for 3 selected cities in Sweden obtained from the governmental institution Lantmäteriet [54]. Ortophoto with building structures highlighted in orange (left). Overview of problems shown with scale in meters (right): selected area (red), obstacles(blue)

  • Case 5: city of Västervik (Fig. 10b) with an approximate deployment area selected equal to 13.05 km2, including 8763 building structures (obstacles) - maximum of 350 router nodes (i.e. |R|=350), timeout=400s,NB=3 and ψmin=0.99.

  • Case 6: city of Linköping (Fig. 10c) with an approximate deployment area selected equal to 22.1 km2, including 7801 building structures (obstacles) - maximum of 550 router nodes (i.e. |R|=550), timeout=400s,NB=3 and ψmin=0.99.

The real-world GIS models and the RNP problems of Cases 4-6 are considerably more complex than in Case 3 described in the previous subsection. As the CMA-ES and the PSO optimization algorithms were not feasible for solving Case 3, these algorithms were also not applicable to problems included in Cases 4-6. Thus, only the RRT-WMN algorithm was applied to these extended cases. Parameters used for the execution of the RRT-WMN algorithm for different environments were chosen experimentally, and alternative selection approaches are left to be considered in future work.

In the case of sparse environments, such as Case 4, it is generally easier to find RNP solutions where each router node range is maximally used. Cases 5 and 6 are more complex and parts of the environments have dense regions. This is especially the case for city centers. There may not be many positions for the router nodes that have a line-of-sight for a given fixed range (i.e. 183m in our experimental setup). Thus, in order to calculate the RNP solution one can place some router nodes closer to each other to increase the RRT-WMN convergence, using adaptive range selection. Adaptive RRT-WMN will place more router nodes in denser parts of the environment.

For each case, 100 runs of the base and adaptive version of the RRT-WMN algorithm were performed to gather statistics for the algorithm performance evaluation. A summary of the results as averages over all runs is presented in Table 1 and Fig. 11.

Fig. 11
figure 11

Experimental evaluation results for Cases 4-6

Table 1 Summary of results for experimental evaluation in Case 4-6. Values for coverage, #nodes and time are averages for all 100 runs

In Case 4, the base RRT-WMN algorithm consistently found accepted solutions (solutions that have more than 99% coverage). There was no need to use adaptive step size enhancement in this case. The average time to calculate a solution was 9.72s with these solutions consisting of an average of 170.27 router nodes.

In denser environments such as Cases 5 and 6, there was a considerable difference in the quality of solutions generated by both versions of the RRT-WMN algorithm. Figures 12a, b depict statistics comparing results of applying both algorithm versions for Cases 5 and 6, respectively. The plots on the right show average solution coverage as a function of the RRT-WMN algorithms run time, demonstrating that generally, the adaptive RRT-WMN reaches the desired solution quicker. The plots on the left side depict histograms for solution coverage as a function of the algorithms’ runs.

Fig. 12
figure 12

Results of experimental evaluation for Case 5 and 6

In Case 5, the base RRT-WMN performed quite well, finding 52 solutions with more than 99% coverage. The average coverage for all solutions was 98.39%. Two solutions had a coverage of 95%, and the rest were between 96.5% and 99%. An average of 291.65 nodes were used with an average computation time of 293s. The Adaptive RRT-WMN performed much better, delivering 87 solutions with a greater than 99% coverage level. The rest of the solutions had a coverage between 97.5% and 99%. The average computation time was 196s (33% less), with an average of 302 nodes (3.78% more).

Case 6 turned out to be the most difficult as parts of the environment are quite dense compared to the selected ranges of the router nodes.

The base RRT-WMN algorithm returned 35 solutions with 99% coverage, and 1 solution as low as 95%. This was as expected. The average number of router nodes used was 476, and the average running time was 361s. The adaptive RRT-WMN, on the other hand, consistently found solutions (83 times out of 100), with the average number of nodes used at 497 (4.41% more). Again as in Case 5, the average computation time decreased to 246s (31.86% less).

4 Router node and gateway placement

The extended RNP problem defined in the previous section, together with the proposed RRT-WMN algorithm, provide a means to efficiently calculate the RN placements that maximize overall network coverage while maintaining its connectivity. Solutions to RNP problems provide WMN backbone network configurations consisting of RNs, which is one of the steps required in the calculation process of the hybrid WMN networks considered in this paper that consist of both router and gateway nodes.

This section considers the Gateway Node Placement (GNP) problem and the combined problem of dealing with both Router and Gateway Node Placement simultaneously. In short, the GNP problem deals with finding a minimum number of GNs and their placements to ensure a sufficient level of QoS based on criteria directly influencing the network performance measures such as communication delay, relay load, and capacity limits of GNs. In the next section, a formal model for the GNP problem, using an Integer Linear Program, is presented. This is followed by descriptions of two approaches used to solve the combined RNP and GNP problems. A detailed empirical evaluation of the two approaches then follows.

4.1 Gateway node placement problem definition

The GNP problem formulation used in this paper adopts the model presented in [22]. There the goal is to find a minimum number of GNs and their placements for a given WMN backbone network that satisfies three QoS constraints. The constraints considered include: 1) maximum communication delay (RQoS); 2) maximum relay load for each RN (LQoS); 3) and gateway throughput (SQoS).

Recall that the network topology graph (Section 3.1) is represented as G=(V,E) where V is a set of vertices each representing a router node with its physical xi,yi position with i∈{1,2,…,n}. The set E contains edges between all vertices in G that meet range connectivity and obstacle constraints (Eqs. 4b-4d).

The GNP problem can be formalized as an Integer Linear Program (ILP). Gateway nodes are represented by a set I,IV and each mesh router viV is a potential location of a gateway. A binary variable ai is used to indicate if a corresponding mesh router vi has been selected as a gateway.

$$ {}\begin{aligned} a_{i} = \left\{\begin{array}{ll} 1, \;\;\text{if router node}\;v_{i} \in V \;\text{is selected as a gateway,} \\ 0, \;\;\text{otherwise}. \end{array}\right. \end{aligned} $$
(13)

In order to represent a router node assignment to a gateway, a binary variable bi,j is used. Data traffic generated by each router node will be served by a single gateway.

$$ \begin{aligned} b_{i,j} = \left\{\begin{array}{ll} 1, \;\;\text{if router node}\; v_{j} \;\text{is assigned to gateway}\;v_{i}\\ \;\; \;\;\;v_{j} \in V, v_{i}\in I, \\ 0, \;\;\text{otherwise.} \end{array}\right. \end{aligned} $$
(14)

The hop count between a router vjV and its associated gateway viI is represented by hi,j. Additionally, a binary variable \(z_{i,j}^{k}\) is used to define whether the shortest path between two nodes vi and vj passes though node vk.

$$ {}\begin{aligned} z_{i,j}^{k} = \left\{\begin{array}{ll} 1, \;\;\text{if a path from}\;v_{i} \;\text{to}\;v_{j} \;\text{passes through node}\;v_{k}.\\ 0, \;\;\text{otherwise}. \end{array}\right. \end{aligned} $$
(15)

Finally, the objective function for the GNP problem is defined as:

$$ \min\sum\limits_{i}^{n}a_{i} \\ $$
(16)

subject to:

$$\begin{array}{*{20}l} &\forall v_{j} \in V \; :\;\sum\limits_{v_{i} \in I}b_{i,j}=1, \end{array} $$
(17)
$$\begin{array}{*{20}l} &\forall v_{j} \in V, v_{i} \in I \; :\; b_{i,j} \leq a_{i}, \end{array} $$
(18)
$$\begin{array}{*{20}l} &\forall j \in V\; :\;\sum\limits_{v_{i} \in I} h_{i,j} \cdot b_{i,j} \leq R_{{QoS}}, \end{array} $$
(19)
$$\begin{array}{*{20}l} &\forall v_{i} \in I, v_{k} \in V\; :\;\sum\limits_{v_{j} \in V} z_{i,j}^{k} \cdot b_{i,j} \leq L_{{QoS}}, \end{array} $$
(20)
$$\begin{array}{*{20}l} &\forall v_{i} \in I\; :\;\sum\limits_{v_{j} \in V} b_{i,j} \leq S_{{QoS}}, \end{array} $$
(21)
$$\begin{array}{*{20}l} &\forall v_{i} \in I\; :\;a_{i} \in \{0, 1\}, \end{array} $$
(22)
$$\begin{array}{*{20}l} &\forall v_{j} \in V, v_{i} \in I\; :\;b_{i,j} \in \{0, 1\}, \end{array} $$
(23)
$$\begin{array}{*{20}l} &\forall v_{j} \in V, v_{k} \in V, v_{i} \in I\; :\;z_{i,j}^{k} \in \{0, 1\}. \end{array} $$
(24)

The ILP searches for the optimal value for gateway assignment, minimizing their number as defined in Eq. 16, subject to eight constraints. The condition defined in Eq. 17 ensures that each router node is only assigned to one gateway. The inequality specified in Eq. 18 guarantees that a router node vj is only assigned to a node that has been selected as a gateway. The limit of maximum hop distance, RQoS, between a router node vj and its assigned gateway vi is enforced by the inequality specified in Eq. 19. Effectively, this constraint enforces an upper bound on each graph cluster radius. The upper bounds on the remaining two QoS constraints,relay load and cluster size, are enforced in Eqs. 20 and 21, respectively. The constraints defined in Eqs. 22-24 indicate that ai,bi,j and \(z_{i,j}^{k}\) are binary variables.

This ILP formulation for the GNP problem is NP-hard since it can be reduced to the minimum set cover problem [14]. Consequently, solving it directly by using popular LP solvers (e.g. Matlab or CPLEX) for larger problem instances is infeasible due to memory requirements. Instead, a number of heuristic approaches have been proposed in the literature (e.g. [14, 21, 22, 37]).

Fundamentally, finding solutions to the GNP problems assumes the router node placements are known. Thus, the RNP-GNP problem is defined as a combination of both RNP and GNP problems described in Section 3.1 and this section, respectively. In the following sections, two algorithms for solving combined RNP-GNP problems are presented. The first approach solves each problem in a sequence, thus providing solutions to the combined RNP-GNP problems. The second algorithm applies a divide-and-conquer strategy, where the processes of solving RNP and GNP problems are interleaved.

4.2 The sequential RNP-GNP algorithm

One straightforward approach toward solving the RNP and GNP problems simultaneously, that is proposed in this paper, uses a combination of the RRT-WMN algorithm together with one of the heuristic graph clustering approaches. An overview of the Sequential RNP-GNP algorithm is depicted in Fig. 3 (left). In this scheme, the two placement problems are considered separately. The algorithm first solves the RNP problem by using the RRT-WMN algorithm. Then the resulting network topology graph, together with the QoS constraints, are used as input to a graph clustering approach. As a result, the Sequential RNP-GNP algorithm provides a minimum set of clusters (sub-networks) with gateway locations that satisfy the given QoS constraints. As discussed in Section 2.2, many heuristic-based graph clustering approaches have been proposed in the literature. In the approach proposed in this paper, the Weighted Recursive Dominating Set algorithm, presented in [22], has been integrated.

The first step in the algorithm ensures that the calculated router node placements for a given deployment region meet the goals of the RNP problem and its constraints. This means that the resulting WMN backbone network configuration maximizes the network coverage, maintaining its connectivity while minimizing the number of RNs used. The second step guarantees that the number of gateway nodes assigned is minimal and the division of the network topology graph into a set of disjoint clusters (sub-networks) satisfies the three QoS constraints RQoS,LQoS, and SQoS.

Although the Sequential RNP-GNP algorithm can efficiently generate solutions to the combined RNP-GNP problems, these solutions may be sub-optimal. This is mainly because the two placement problems are considered separately. Network topology graphs generated by the RRT-WMN algorithm maximize network coverage while utilizing a minimum number of RNs. Thus the generated graphs are sparse in nature. Independent of the graph clustering technique choice, the solutions to GNP problems defined for sparse network topologies may require more gateways, considering the given QoS constraints. A more elaborate algorithm that interleaves processes of solving RNP and GNP problems is presented in the next section.

4.3 RNP-GNP by area decomposition algorithm

An overview of the proposed algorithm based on area decomposition is depicted in Fig. 13. The main idea of the algorithm is based on a divide-and-conquer strategy of breaking down the RNP-GNP problem into a set of smaller and simpler RNP problems which are then solved concurrently. Within each RNP problem solution, a single gateway location is optimally chosen.

Fig. 13
figure 13

Overview of the RNP-GNP algorithm based on area decomposition

The RNP-GNP problem specification used by the algorithm includes a deployment area with obstacles, a set of RNs to be distributed, minimum coverage, and QoS constraint requirements. The algorithm starts by dividing the deployment area into several equally sized sub-regions. Router nodes in the input set are then assigned to be distributed within each sub-region. Based on the region division and router assignments, several RNP problems are instantiated (Step 1).

Considering that these RNP problems are independent, they can be solved concurrently by running several RRT-WMN algorithm instances. Solutions generated for each RNP problem are evaluated locally according to minimum coverage requirements in their respective sub-regions. Additionally, one gateway position within each sub-network is selected that minimizes the value of communication delay and relay load in the sub-network topology graph, which is subject to the LQoS and RQoS QoS constraints (Step 2).

The number of RNs necessary to fulfill the network coverage requirements in each sub-region may vary depending on the environment complexity, for example, the obstacle density. Thus, solutions to some RNP problems may require fewer RNs than have been initially assigned, while others may require more RNs to achieve local sub-network coverage goals. The algorithm keeps track of unused RNs for sub-regions where the RNP problem has been successfully solved. These RNs are redistributed among sub-regions where an RNP solution meeting the specified sub-network coverage requirements has not yet been found.

While each sub-network coverage is evaluated locally with respect to its sub-region specification (Step 2), its actual coverage may overlap with neighboring sub-regions contributing to the global coverage over the entire deployment region specified in the initial RNP-GNP problem. Thus, after all RNP problems are solved individually, the combined coverage over the entire deployment area is evaluated (Step 3). This check provides the opportunity to return solutions as soon as all calculated sub-networks collectively meet the minimum coverage requirement specified by the RNP-GNP problem.

The process of solving individual RNP problems (Step 2), evaluation of generated solutions with respect to coverage over the entire deployment region, and redistribution of unused RNs (Step 3), is repeated until either all generated RNP solutions fulfill the minimum coverage requirements individually or collectively.

Effectively, the number of gateways used in the solution to the RNP-GNP problem is equal to the number of sub-regions created by the area division (Step 1). Network topology graphs including gateways created in each sub-region are evaluated according to the QoS constraints (Step 4). In the case of a constraint violation, the number of sub-regions used during the area division is increased, and the process is repeated (Steps 1-4). Otherwise, the result is reported.

The WMNbyAreaDecomposition algorithm is presented in Algorithm 3. The algorithm is recursive and requires one input parameter which is a number of sub-regions/gateways m. Constant parameters that are used during the calculations that specify the combined GNP-RNP problem include: 1) a set of router nodes R with their range specification; 2) a specification of the deployment area P; 3) a set of obstacles O; 4) a minimum target coverage to reach ψmin; 5) three QoS constraints RQoS,LQoS, and SQoS; and 6) a maximum number of attempts for solving individual RNP problems Nopt. Solutions generated by the algorithm are reported as a set of network topology graphs Gsol where each member corresponds to one sub-network configuration. These sub-network configurations include RN positions and GN placements that fulfill minimum coverage requirements and satisfy connectivity and QoS constraints.

The execution of the algorithm starts with a decomposition of the deployment area, RNs assignment, and initialization of individual RNP problem instances together with auxiliary data structures (Step 1, Lines 1-4). The DivideArea function (Line 1) divides the deployment area P into a set of m disjoint sub-regions with equal sizes, which can be denoted as:

$$ \begin{aligned} &\bigcup\limits_{i=1}^{m} P_{i} = P, \\ &\forall i \neq j \quad P_{i} \cap P_{j} = \emptyset, \\ &Area \left(P_{i}\right)=\frac{Area(P)}{m}. \end{aligned} $$
(25)

Additionally, the function creates m number of OP sets that represent obstacles intersecting with a sub-region Pi to optimize steps required for line-of-sight connectivity constraint checking. The set generation is defined as:

$$ O_{i}^{P} = \{ \forall O_{j} \in O, O_{j}^{\prime} = O_{j} \cap P_{i} : O_{j}^{\prime} \neq \emptyset \} $$
(26)

The result of the DivideArea function is a list of tuples Ω, where each tuple contains a sub-region polygon specification and a set describing obstacles associated with it, \(\left \langle P_{i}, O_{i}^{P}\right \rangle \) for ∀i∈{1,2,…,m}.

The polygon partitioning defined in Eq. 25 is known as the area partitioning problem [55]. In the general case of the area partitioning problem, area sizes of sub-regions are defined by a set of weights so that the division can be made with varying area proportions. The sub-region sizes used in the DivideArea function are assumed to be equal; hence weight values are equal. Initially, the polygon decomposition proposed in [55] was used to divide a deployment area.

Unfortunately, the sub-polygon regions generated by the algorithm were sub-optimal when applied in the RNP-GNP application domain due to their shape characteristics. The algorithm guarantees that the area size constraints are satisfied, but no other constraints are considered. Generated sub-region shapes most often included polygons with small angles between vertices (sharp corners). Therefore, the resulting network topology graph solutions to the RNP-GNP problems based on such divisions produced sub-optimal network configurations with longer relay chains that increase communication delays and RN relay loads.

Instead, an alternative algorithm presented in [56] is used. The algorithm takes into account both area and shape constraints and maximizes sub-polygon compactness based on the compactness score proposed in [57]. Generally, by imposing the shape constraints, the algorithm avoids generating sub-polygons with sharp corners. Consequently, solutions to RNP problems defined over compact deployment areas provide better quality network configurations with improved performance characteristics.

After the deployment area has been decomposed, the AssignRouters function is executed (Line 2). This deals with the allocation of RNs to specific sub-regions to define a set of independent RNP problems. The set of routers R is divided and assigned to be used in each sub-region deployment area defined in Ω. The number of routers assigned to each sub-region is equal, and their selection is random.

Other heuristic-based methods could be considered in this step, such as considering router node range specification or other properties. This, however, is left to be investigated in future work.

Based on the area divisions defined in Ω and the RN assignments, m number of RNP problems are defined and stored in a list Γ. Each RNP problem specification Γi contains all parameters required by the RRT-WMN algorithm. These parameters include a deployment area specification Pi, a set of obstacles intersecting with the area \(O_{i}^{P}\) and a set of routers, Ri, to be distributed, where i∈{1,2,…,m}.

Two auxiliary data structures are initialized in Lines 3-4. The first is a list Gsol that keeps track of network topology graphs Gi generated by the RRT-WMN algorithm for each RNP problem Γi. The Γi problem is considered to be solved if a solution Gi is found that satisfies the minimum coverage requirement Ψmin for its sub-region. All solutions generated by the RRT-WMN algorithm are stored whether they meet the minimum coverage requirement for a sub-region or not. The second data structure is a set U (Unsolved) that is used to keep track of the status for each solution. The set contains values of indices i corresponding to RNP problems Γi that remain unsolved. Initially, the set U contains all indices i=[1,2,…,m] as none of the RNP problems have been solved yet.

The main loop of the algorithm (Steps 2-3, Lines 5-17) executes the RRT-WMN algorithm for each RNP problem instance in Γ, evaluates resulting network topology graphs according to their sub-regions, selects the gateway locations within each sub-network, and applies RN redistribution among unsolved RNP problem instances. The Nopt parameter defines the limit on the number of iterations of the loop.

As discussed previously, the difficulty of finding a solution for an RNP problem Γi that satisfies coverage requirements in its sub-region depends on the deployment area characteristics and the density of obstacles. Some instances of RNP problems may require fewer RNs than the initial random equal assignment (Line 2), and some may need more in order to fulfill the given minimum coverage. The algorithm tries to solve each RNP problem up to Nopt times to rebalance the initial assignment of the RNs. In between each run, the RNs that were redundant in successfully solved RNP problem instances are redistributed among the remaining unsolved problems. A set Rfree is initialized in Line 6, and it is used to keep track of RNs that have been redundant whenever a solution meeting the coverage criteria is found (Lines 12-13).

In every loop iteration, values of indices contained in the set U determine which of the RNP problem instances are executed using the RRT-WMN algorithm (Line 8). Each new solution to the RNP problem represented as a network topology graph Gi, is evaluated (Line 9) as to whether its quality (i.e. coverage ψ) has improved over the solution calculated in previous iterations (GSol[i]). If an improved RNP solution has been found, the optimal gateway location is selected, labeled in the solution graph (Line 10), and stored in the list of current solutions (Line 11). Additionally, whenever the newly calculated solution fulfills the local coverage requirements, the problem index is removed from the set U (Line 14). Therefore, solved RNP problems will not be selected for execution with the RRT-WMN algorithm in the next iteration.

Recall the definitions of the three QoS constraints introduced previously. A gateway throughput (SQoS) considers the bandwidth capacity of gateway nodes since the traffic within each sub-network (Gi) has to be potentially served by a gateway. Effectively, the SQoS is an upper bound on the size of the network topology graph (|Gi|) calculated for a particular sub-region. The resulting sub-network sizes generated during the algorithm execution depend on the performance/effectiveness of the interleaved process of solving RNP problems with the RRT-WMN algorithm combined with the RN redistribution strategy.

Satisfying the other two QoS constraints, however, depends on the selection of gateway locations within the calculated sub-network topology graphs Gi. The first constraint to consider puts bounds on the maximum communication delay (RQoS) and it is formulated as the maximum number of hops information has to travel in between a router node and the gateway to which the RN is assigned to, as each re-transmission adds to the total delay. The second constraint limits the maximum relay load for each RN (LQoS) and it is defined as an upper bound on the number of router nodes that rely on re-transmission in shortest paths that lead to a gateway from all RNs.

The gateway placement calculation that minimizes values of sub-network performance measures related to both constraints is performed by the SelectGW function. The selection of the gateway location within each solution graph Gi is done in a two-step process defined by the following expression:

$$ \underset{c_{j} \in C(G_{i})}{\text{argmin}}\ CalcL_{{QoS}}(BreadthFirstSearch (c_{j}, G_{i})). $$
(27)

First, a set of vertices that are centers of the solution graph C(Gi) are calculated. Each of these vertices (cj) are potential gateway locations that guarantee minimal communication delay. The graph centers are defined as a set of all vertices u where the greatest hop distance d(u,v) to other vertices v in the graph is minimal. Selecting any of these vertices as a gateway location minimizes the delay, subject to the RQoS constraint.

In the second step, the relay load for all alternatives is calculated by generating a set of shortest-distance trees rooted in each candidate location using Breadth-First-Search (BFS). The location which yields the minimum value of relay load is selected. This heuristic-based approach is based on the work presented in [21].

An example illustration of this process for a simple example is presented in Fig. 14. In this case, a solution graph to the RNP Problem Gi consists of six vertices v1,v2,…,v6. The set of graph centers includes vertices v2 and v3 as the hop distances between those and the remaining nodes are minimal and equal to 2. Selecting either of them will result in the same network delay. The choice between v2 and v3 will, in fact, influence the maximum relay load required. The shortest-path trees rooted in both candidate gateway locations generated by the BFS search presented in the figure show that the maximum relay load equals 3 and 1 for v2 and v3 candidates, respectively. Thus the SelectGW selects the v3 as the gateway location.

Fig. 14
figure 14

Example of gateway selection process

The execution of the main loop (Lines 5-17) terminates when one of two conditions occurs. First, the iteration limit NB has been reached. Second, solutions to all RNP problems generated so far, collectively meet the minimum coverage requirements over the whole deployment area (Line 15). Since the RNP problem solved in the main loop is independent, the RRT-WMN algorithm can be executed in parallel to decrease the total calculation time.

In the final step of the algorithm (Step 4, Lines 18-20), the three QoS constraints are checked, and if satisfied the list of solution graphs Gsol is returned. Otherwise, the WMNbyAreaDecomposition algorithm is executed with an increased number of sub-networks (m=m+1).

The choice of the input parameter m influences the execution time of the algorithm. In the general case, one can start with the initial value of m equal to 1. However, in many cases, it may be possible to estimate the lower bound on the number of sub-networks the network requires given QoS constraints. Thus, the algorithm execution can be initialized with higher values of m, cutting down the execution times. For example, assume the hybrid WMN network that is being calculated uses homogeneous RNs that have equal range specifications. The number of RNs required to reach the minimum coverage requirements for a given deployment area can be obtained by setting the number of RNs in R sufficiently high and running the RRT-WMN algorithm once. The resulting number of RNs in the solution graph (|G|) and the cluster size QoS constraint (SQoS) specifying the maximum number of nodes in each sub-network can be used as a lower bound for the parameter value m as follows:

$$ m=floor\left(\frac{|R|}{S_{{QoS}}}\right){. } $$
(28)

The convergence of the WMNbyAreaDecomposition algorithm highly depends on the polygon partitioning algorithm selected to be used in Line 1. Unfortunately, the partitioning algorithms available in the literature do not allow for seamless integration of the RNP-GNP problem objectives (i.e. maximizing the network coverage while minimizing the number of gateways) while the sub-region shapes are generated. Therefore, when the WMNbyAreaDecomposition algorithm uses the partitioning algorithms considered in this work (i.e. [55, 56]), the algorithm is not guaranteed to converge to a global optimum. The development of new polygon partitioning techniques suited for the RNP-GNP problems will be considered in future work.

4.4 Experimental evaluation for solving combined RNP-GNP problems

This section provides a comparative evaluation between the two proposed algorithms for solving the combined RNP-GNP problems performed using the three real-world models (Gamleby, Västervik and Linköping) presented in Section 3. Other approaches to solving the RNP and GNP problems simultaneously [10, 49] are not directly applicable to continuous environment models and, as such, have not been included in the comparison.

Generally, the results showed that the WMNbyAreaDecomposition outperforms the Sequential RNP-GNP algorithm in all considered cases. The generated network topology graphs, on average, have a much lower number of gateways required for the same QoS constraints across all RQoS,LQoS,SQoS choices. At the same time, the generated solutions maintain the specified minimum coverage, satisfy the network connectivity constraints and utilize a minimum number of router nodes. For that reason, the following strategy for comparison was used. First, experiments were run on the three environments using the WMNbyAreaDecomposition algorithm with relaxed values of RQoS=LQoS=SQoS=NaN to find the minimum values for these constraints. The resulting QoS values were recorded and used to set up a set of problems to be executed with the Sequential RNP-GNP algorithm for evaluation. The number of gateways in each solution, given the same QoS constraint values, was used to compare the solutions generated by both algorithms.

In the first set of experiments, the following set of parameters were used during the WMNbyAreaDecomposition algorithm execution:

  • Case 4: the city of Gamleby (Fig. 10a, 8.2 km2 deployment area including 2157 building structures) - maximum of 170 router nodes (|R|=170), timeout=60s,NB=3,ψmin=0.99,Nopt=5 and m≤12 (up to 12 gateway nodes).

  • Case 5: city of Västervik (Fig. 10b, 13.05 km2 deployment area including 8763 building structures) - maximum of 302 router nodes (|R|=302), timeout=400s,NB=3,ψmin=0.99,Nopt=5 and m≤17 (up to 17 gateway nodes).

  • Case 6: city of Linköping (Fig. 10c, 22.1 km2 including 7801 building structures) - maximum of 497 router nodes (|R|=497), timeout=400s,NB=3,ψmin=0.99,Nopt=5 and m≤25 (up to 25 gateway nodes).

The RNs are assumed to be homogeneous, with their maximum ranges specified as 183m (600 feet). The number of nodes to be used in each problem |R| is set according to the average results obtained during the RRT-WMN algorithm experimental evaluations for respective environments presented in Section 3.4.2. Limits on the number of gateways in each environment were selected based on the total number of RNs to obtain sub-networks with reasonably small sizes between 14-20 router nodes. Other parameters used during the algorithm execution were chosen empirically. A total of 10 runs of the algorithm per environment were performed, and the average values of the QoS measures were recorded.

The results of the experimental evaluation of the WMNbyAreaDecomposition algorithm for all environments are depicted in Fig. 15. Plots present the three QoS measures as a function of the number of gateways assigned. The communication delay expressed as the maximum number of hops between a router and a gateway node (subject to RQoS) is shown on the left. The relay load (subject to LQoS) calculated as the maximum number of router nodes that rely on re-transmission in shortest paths that lead to a gateway from all RNs is shown in the middle. The last of the QoS measures considers the gateway throughput (subject to SQoS), expressed as the maximum number of RNs assigned to a gateway, is shown on the right.

Fig. 15
figure 15

Results of experimental evaluation of the WMNbyAreaDecomposition algorithm for Cases 4-6 with relaxed QoS constraints (i.e. RQoS=LQoS=SQoS=NaN)

In general, as expected, the QoS measures related to the network performance decrease (less is good) when the number of gateways/sub-networks increases. This trend is independent of the environment complexity since the network configurations with a higher number of gateways will naturally exhibit better performance. In Case 4, where the simplest of the three environments is considered, the algorithm finishes with network configurations that include 12 gateways with the following characteristics: the maximum number of RNs in generated sub-network configurations is 15; the maximum relay load of RNs is decreased to 8; and the maximum distance between RNs and GNs is reduced to 5 hops.

In the remaining more complex environments, the QoS measures for final WMN network configurations are higher. In Case 5, sub-networks including up to 19 RNs are generated with the maximum relay load for RNs of 10 and the maximum distance between RNs and GNs equal to 7 hops. Similarly, in Case 6, generated sub-networks consist of up to 22 RNs with the maximum values of relay loads and distances between RNs and GNs equal to 13 and 7, respectively.

Naturally, these QoS measure values cannot be compared directly as the problems are different in terms of the deployment area size and the number of RNs and GNs. However, a general observation from the experimental evaluations in the cases considered showed that the average values of relay load and RN-GN distances in most generated sub-networks were lower.

In Cases 5 and 6, a small number of sub-networks typically require higher bounds on RQoS,LQoS and SQoS constraints. These are associated with dense parts of the environments such as city centers. Correlations between environment model characteristics such as obstacle density and the difficulty of sub-network calculations could potentially be used to improve the proposed algorithm’s performance further. However, this is left for future work.

The experiments were run on a computer equipped with an Intel Core i7 (I7-6820HQ) processor with the algorithm executed on a single core. The average algorithm run-time for one value of m was recorded as 278.3s, 619.4s, and 887.1s for Cases 4-6, respectively. In the general case, the total execution times when considering an RNP-GNP problem and specific values of QoS constraints will depend on the selection of the starting parameter m. Additionally, the execution times will decrease when using concurrent (multi-core) RRT-WMN algorithm execution.

The final part of the evaluation involves a comparison between the results obtained from both the WMNbyAreaDecomposition and the Sequential RNP-GNP algorithms. The QoS constraints given by solutions found by the first algorithm were used to set up a set of problems to be executed with the Sequential RNP-GNP algorithm. The number of gateways in each solution, given the same QoS constraint values, was used as a metric to compare the solutions generated by both algorithms. Results are presented in Fig. 16.

Fig. 16
figure 16

Comparison between 1) the Sequential RNP-GNP approach and 2) the WMNbyAreaDecomposition placement algorithms. Plots visualizing a number of additional gateways required when using approach 1) instead of 2) given the same values of RQoS,LQoS and SQoS QoS constraints are depicted on the left. Results shown in percent are presented on the right

The WMNbyAreaDecomposition algorithm provided WMN network configurations with an average of 78.3%,73.7%,92.5% fewer gateway nodes required for Case 4 (Gamleby), Case 5 (Västervik) and Case 6 (Linköping), respectively.

5 Field deployment of ad hoc wireless mesh networks

This paper has proposed a number of complex algorithms for determining the efficient generation of ad hoc wireless mesh networks that meet QoS constraints in diverse geographical environments. The long-term goal is to autonomously deploy such networks using teams of UAVs, where the algorithms proposed generate placement of router and gateway node positions and planning techniques generate motion plans to deliver and deploy physical routers and gateways. This would result in an end-to-end solution to the problem targeted in this paper. In this section, some previous work to that effect [4] is summarized, where limited field experiments have been done. UAV functionality for rapidly delivering router and gateway nodes for ad hoc wireless mesh networks has been developed that uses deployable CommKits as network nodes. These CommKits can be delivered based on the output of the algorithms described in this paper. In initial experimentation, smaller autonomous DJI quadrotor systems have been used (Fig. 17). These systems are extended to deliver communication equipment to operational environments autonomously through in-air deployment and even serve as airborne routers to link local ad hoc networks that have been already deployed. Eventually, larger autonomous RMAX systems could be used to carry and deploy several CommKits at once.

Fig. 17
figure 17

The DJI Matrice 100 system with a CommKit attached

The design of the CommKit has been driven by a number of requirements. First, it should be small and lightweight to allow for in-air deployment even from smaller UAV platforms, while at the same time it should be robust to withstand a certain amount of shock when hitting the ground if deployed from air. The solution to this integrates a parachute for deployment that minimizes forces generated at landing.

Secondly, CommKits should be stand-alone devices containing their own electrical power source, computational resources, and sensors such as a GPS receiver and Inertial Measurement Unit (IMU). These components are essential for implementing a number of required functionalities such as independent release of CommKits from a carrying platform, optimization and repair of a deployed ad hoc mesh network, and self-monitoring and safe in-air delivery. This sophistication is required since the goal is for any deployment mission to be 100% autonomous.

The CommKit hardware architecture is depicted in Fig. 18. The central component of the system is a WiFi Access Point (AP) which is used for the creation of an ad hoc wireless network between multiple CommKits. Two variants of the UniFi APs from UbiquityFootnote 1 have been chosen for evaluation and integrated into the design: the AC Lite and AC Mesh with 100m and 183m advertised communication ranges, respectively.

Fig. 18
figure 18

The CommKit hardware architecture

Two prototype CommKit units (see Fig. 19) have been built with their specifications summarized in Table 2.

Fig. 19
figure 19

The two CommKit prototypes

Table 2 Prototype CommKit box specifications

The internal components of a CommKit are mounted on a stack which is then put in the enclosure lined with protective foam in order to ensure that the components can withstand the forces of the impact when the box touches down.

Promising experimental evaluation using CommKits as dynamically deliverable, environment aware, router and gateway nodes, for the generation of ad-hoc wireless mesh networks in the field has been performed [4]. The algorithms in this paper, together with the physical functionality, provide the basis for an end-to-end system for generation and deployment of ad hoc wireless networks using teams of UAVs.

6 Conclusions

This paper proposed an end-to-end solution to the challenging problem of autonomously generating ad hoc Wireless Mesh Networks in operational environments where emergency rescue teams are intended to be deployed. Teams of specially equipped UAVs are used to deploy communication kits from the air that include routers and battery supplies [4]. This paper has targeted a solution to three fundamental problems involved in this endeavor: the Router Node Placement (RNP) problem, the Gateway Node Placement (GNP) problem, and the combined simultaneous RNP-GNP problem.

New and novel algorithms were proposed to solve these problems. The RRT-WMN algorithm was used as a basis to solve all three problems. It appeals to the use of Rapidly Exploring Random Tree algorithms used in motion planning. Two alternative algorithms were proposed to solve the combined RNP-GNP problem, the first using a combination of the RRT-WMN algorithm with a pre-existing graph clustering algorithm and the second using a new WMNbyAreaDecomposition algorithm based on a divide-and-conquer strategy that reduces the problem to a number of concurrently solved RNP problems.

Empirical results have shown that these algorithms are not only scalable to real-life emergency rescue scenarios but are also state of the art in terms of efficiency and speed, as shown by comparative analyses with existing algorithms. It is important to note that the generalization of these problems proposed in the paper which introduces additional constraints to deal with obstacles and lack of knowledge as to where clients are positioned in an operational region, makes these problems not only more difficult for existing algorithms, but also often makes them out of reach in terms of scalability criteria.

The algorithms proposed in this paper specifically target deployment scenarios with these real-life complexities making them more appropriate for use in the field. This is shown to be the case based on the empirical analysis of the approach and limited field robotics experiments that demonstrate the deployment concept.