Rapid Top-Down Synthesis of Large-Scale IoT Networks

02/11/2020 ∙ by Pradipta Ghosh, et al. ∙ The University of Texas at Austin Universidade Federal de Minas Gerais 0

Advances in optimization and constraint satisfaction techniques, together with the availability of elastic computing resources, have spurred interest in large-scale network verification and synthesis. Motivated by this, we consider the top-down synthesis of ad-hoc IoT networks for disaster response and search and rescue operations. This synthesis problem must satisfy complex and competing constraints: sensor coverage, line-of-sight visibility, and network connectivity. The central challenge in our synthesis problem is quickly scaling to large regions while producing cost-effective solutions. We explore two qualitatively different representations of the synthesis problems satisfiability modulo convex optimization (SMC), and mixed-integer linear programming (MILP). The former is more expressive, for our problem, than the latter, but is less well-suited for solving optimization problems like ours. We show how to express our network synthesis in these frameworks, and, to scale to problem sizes beyond what these frameworks are capable of, develop a hierarchical synthesis technique that independently synthesizes networks in sub-regions of the deployment area, then combines these. We find that, while MILP outperforms SMC in some settings for smaller problem sizes, the fact that SMC's expressivity matches our problem ensures that it uniformly generates better quality solutions at larger problem sizes.



There are no comments yet.


page 4

page 7

page 9

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

Over the last few years, optimization and constraint satisfaction technologies have improved to the point where they can be applied to large-scale verification and synthesis tasks. This, coupled with the advent of cloud computing, has spurred recent work in verifying network configurations of campuses (Kazemian et al., 2012; Fogel et al., 2015) and data centers (Zeng et al., 2014). Beyond verification, these technologies have been applied to the synthesis of network configurations as well (Beckett et al., 2017). Ultimately, this line of work will result in the synthesis of correct-by-design networks.

The problem. In this paper, we extend this line of work by considering the synthesis of a specific class of network topologies, namely, ad-hoc IoT networks. These networks, often deployed on-demand (in a deployment region) during disaster response or search and rescue operations, must satisfy at least four correctness constraints (§2). First, every point of the deployment region must be covered by a small number () of sensors (the coverage constraint). This -coverage permits trilateration (for ) of objects of interest (vehicles, people) in the environment. Second, because sensors may have line-of-sight limitations, the synthesis must account for obstacles in the deployment region (visibility constraints). Third, obstacles constrain the placement locations of sensors (placement constraint). Lastly, the deployed nodes must form a connected network such that there exists a network path between every pair of nodes (we call this the connectivity constraint). This is necessary to convey sensor information between nodes or from node to a base station (potentially via other intermediate nodes).

Beyond these correctness constraints, we impose performance objectives. Motivated by our use case of rapidly-deployable IoT networks for disaster response or search and rescue, we require that the network synthesis (for brevity, henceforth we will use “network synthesis” to refer to the specific synthesis problem described above) scale to campus-area deployments while generating topologies on the order of tens of minutes. (By contrast, planning and deployment timescales for longer-lived networks, such as datacenters, can be on the order of weeks or months, if not longer (Zhang et al., 2019)). Finally, to reduce deployment cost, the resulting synthesized network must have an objective of using the fewest number of sensor nodes.

While prior work (§8) has explored the synthesis of wired networks (Schlinker et al., 2015), of sensor placement for sensing coverage (Younis and Akkaya, 2008; Wang et al., 2007), to our knowledge, no prior work has explored joint synthesis of coverage and connectivity in obstructed environments at scale.

Goal and Approach. The general network synthesis problem is non-convex, since it needs to determine coverage of areas not occupied by obstacles, and these areas can be non-convex. Because non-convex programming is fundamentally hard to scale, and because, over the past decade, significant effort has focused on speeding up solvers for lower-complexity formulations such as satisfiability (SAT) (De Moura and Bjørner, 2008) and linear and quadratic mixed integer formulations (14), in this paper we explore synthesis using these two qualitatively different technologies (§3), and compare the quality of the solutions they produce. Specifically, we compare mixed-integer linear programming (MILP) and Satisfiability Modulo Convex Optimization (SMC (Shoukry et al., 2018)); the latter is a recently proposed technique that permits expression of convex constraints in addition to satisfiability constraints.

Challenges. MILP and SMC fall into different points in the performance vs. expressivity space. SMC can model convex constraints, so it is comparable in expressivity to mixed-integer convex programming (Shoukry et al., 2018), but MILP can only model integer linear constraints. In this sense, SMC is a closer fit for our problem. Our first challenge is to formulate the constraints described above in these two frameworks, without significantly impacting solution quality. In our setting, we measure solution quality by coverage redundancy, the ratio between the average number of sensors covering a point in the deployment region to . Our second challenge is scaling, by which we mean the ability to obtain solutions for larger problem sizes that either SMC or MILP, by themselves, can solve for with a given set of computing resources. In general, SMC, because it solves a decision problem can scale better than MILP. However, our problem of minimizing the total number of sensors is more naturally expressed in an optimization framework like MILP. In that sense, MILP is a better fit for our scaling objective. The goal of our paper is to understand how this tension between expressivity and scaling impacts solution quality.

Contributions. To this end, our paper makes three contributions.

Our first contribution is an encoding of constraints in SMC (§4). To address the first challenge discussed above, we employ a grid-based discretization of space, in which a grid is either occupied by an obstacle or not. Then, the coverage problem reduces to determining coverage of unoccupied grids; SMC can easily express these constraints. It can capture visibility using geometric constraints expressed in terms of half-planes that bound occupied grids, and network connectivity using constraints on a multi-hop adjacency matrix. Thus, SMC is able to jointly solve for coverage, visibility, and connectivity.

Our second contribution is an MILP formulation (§5

), which also employs discretization, but transforms the visibility and coverage constraints into a graph vertex cover problem. The solution to this vertex cover problem is the placement of sensors that satisfies the visibility and coverage constraints, but the resulting network may not be connected. Expressing the (convex) connectivity constraint is much harder in MILP. However, using the observation that the second eigenvalue of the Laplacian of the connectivity graph determines whether the network is connected or not, we develop an affine inequality relaxation of the Laplacian that can encode the connectivity constraint in a MILP. If the network is not connected, we propose a novel approach to

repair missing connectivity (alternate to the Laplacian connectivity approach) from the coverage solution instead of a joint formulation.

Our third contribution addresses the scaling challenge by developing a hierarchical synthesis technique, which partitions the deployment region in sub-areas, solves each sub-area independently, then, in a second step, adds additional relay nodes, using SMC’s connectivity formulation, to ensure the network connectivity constraint. Hierarchical synthesis permits two relaxations that can speed up the synthesis: (a) solving only for coverage in the sub-areas (since, often, coverage will result in a substantially connected network) and establishing connectivity in the second step, and (b) solving for coverage in each of the sub-areas (since sensors in one sub-area can potentially cover sensors in another area), then repairing coverage in the second step.

Summary of Results. The performance of these two approaches is sensitive to the extent of obstacles (i.e., the fraction of the deployment region covered by obstacles) and their dispersion (how the obstacles are spread across the region). For small deployment regions in which MILP does not require hierarchical synthesis, but SMC does, there are a few obstacle settings in which MILP has lower coverage redundancy (i.e., a better solution quality) than SMC. However, for larger deployment regions in which both SMC and MILP need hierarchical synthesis to scale, SMC’s coverage redundancy is almost always better than MILP. Thus, even though MILP scales better, because it is less expressive than SMC, its connectivity and coverage approximations hurt the quality of its solutions at larger problem sizes. Beyond these synthetic deployment regions, we also evaluate our approaches on realistic campus deployments of about 0.75 km by 0.75 km. For these SMC is able to find solutions with 50% lower coverage redundancy than MILP in about two minutes.

2. The Network Synthesis Problem

In this section, we formulate the network synthesis problem and its associated challenges.

Problem. Assume that we have a deployment region (the area in which to deploy the network) . Let be the set of obstacles in the deployment region. Suppose we have omni-directional sensors (e.g., 360-degree cameras, acoustic sensors), and each sensor with location has a sensing radius and a communication radius .

The network synthesis problem seeks to find locations for the sensors such that:

  1. At least sensors cover each point .

  2. The sensors form a connected network: i.e., there exists a path from each node to every other node in the network.

  3. The network uses as few of the sensors as possible.

To concretely represent this synthesis problem, we need to model constraints imposed by limited sensing and communication ranges, as well as by visibility constraints in the environment. The following sub-paragraphs do this.

Coverage constraint (C1). Let represent the Euclidean distance between , any two locations in the deployment region . The predicate represents the fact that sensor covers location :


where is the coverage radius of the sensor . is a predicate that checks whether there exist a line of sight between and (defined below). Line-of-sight visibility constraints are important for sensors such as cameras. Furthermore, in practice, cameras have finite range because of the finite resolution of the camera itself: beyond a certain distance, objects become too small to be distinguishable to the human eye (Wang et al., 2004).

The -coverage goal then reduces to:


This ensures that at least sensors cover each location within the deployment region but not within an obstacle.

Environmental Visibility Constraints (C2). Obstacles pose a significant challenge for network synthesis. We explore synthesis for planar surfaces for which it suffices to model obstacles in two dimensions. Future work can generalize this to 3-D models of the environment.

Let be a predicate that checks whether obstacle does not block the line of sight between and . Then, we can model the visibility between and , defined by the predicate as:


Network connectivity constraint (C3). If predicate represents the direct connectivity between sensors , then:


where and is the communication radius of sensor . In this, we make two simplifying assumptions: that line-of-sight is not required for RF communication, and that wireless propagation follows a disk model. We have left to future work to relax these assumptions, because they can significantly impact the scaling of network synthesis. With these assumptions, and with a conservative choice of the communication radius, as we show later, we are able to synthesize functional networks that, when deployed in practice, satisfy the constraints.

The predicate alone is not sufficient to establish network connectivity. To do this, let be a matrix in which the -th element represents the number of (N-1) hop paths without loops between sensors and . Then, network connectivity holds if there is at least one path between each pair of nodes:


Obstacles and sensor placement (C4). To prevent the synthesizer from placing sensor on obstacles, let be a predicate that evaluates to true if is not placed on obstacle . Then, if is a predicate that checks whether sensor is not placed on any obstacle:


The overall formulation. Given this formulation, our network synthesis formulation reduces to finding the smallest number of sensors that satisfy all four of the constraints listed in Table 1.

Coverage (C1)
Visibility (C2)
Connectivity (C3)
Placement (C4)
Table 1. Summary of Problem Formulation

3. Approaches to Network Synthesis

Performance Goals. Table 1 lists constraints on the correctness of network synthesis. In addition, motivated by the problem of quick, ad-hoc deployments of IoT networks (§1) in large deployment areas, we impose two performance objectives: synthesizing a network, within tens of minutes, to cover a large urban campus of a 1-2 sq. kms. As we show in the rest of the paper, these scaling goals stress the capabilities of existing synthesis methods.

Synthesis approaches. Recent advances in fast constraint satisfaction and optimization permit the use of formal methods for network synthesis, and the goal of this paper is to understand how well these approaches can satisfy our correctness constraints and performance goals. Specifically, in this paper, we compare two qualitatively different approaches to network synthesis: one built upon a constraint satisfaction framework called SMC (Shoukry et al., 2018), and another on a traditional optimization approach.

Satisfiability Modulo Convex (SMC) Theory. SMC extends Boolean Satisfiability (SAT). A Boolean Satisfiability (SAT) problem finds feasible assignments to Boolean variables consistent with a set of constraints, typically represented as the conjunction of a set of Boolean clauses, for example:


Here, are Boolean variables. A SAT solver attempts to find an assignment for the Boolean variables, such that the entire clause evaluates to True given the formula is satisfiable. For example, Equation 7 can be satisfied the following assignment: , and the SAT solver returns this assignment. On the other hand, if no such assignment exists, the function expressed by the formula is False for all possible variable assignments and the formula is unsatisfiable and the SAT solver identifies that no satisfying assignment exists. For example, is unsatisfiable. SAT problems are typically hard to solve, but recent SAT solvers ((De Moura and Bjørner, 2008; Minisat, 2019)) scale well to problems of practical interest (Fraisse et al., 2016; Lynce and Ouaknine, 2006).

SMC (Shoukry et al., 2018), designed to address the feasibility of mixed-integer convex problems, uses a SAT solver to suggest admissible assignments for a problem’s Boolean variables111Note that one can almost trivially encompass integer variables via a larger number of Boolean variables, following the appropriate transformations. and a convex solver (e.g., (18)) to suggest admissible values of the problem’s real variables. To bridge the two tools, it represents convex constraints using pseudo-Boolean variables.

Consider the following example:


Here, are Boolean variables and , are real variables. The third clause implies that if is True, we should be able to find a valid value of and such that (a convex constraint).

SMC replaces the convex constraint with a pseudo-Boolean variable, say , then runs the SAT solver. If the solver produces a True assignment for both and , then it attempts to use the convex solver to find a satisfying assignment for the convex constraint. If none are found (in our example, there exists a satisfying assignment), the output of the convex solver is used to produce a counter-example to constrain the search space for the SAT solver. This leads to a search over a more constrained SAT solution space by excluding conflicting combinations of pseudo-boolean variables corresponding to the counter-example. This process repeats until the suggested combination of convex constraints is satisfiable.

When used for network synthesis, SMC produces a feasible solution, given , the number of sensors, as input (or indicates infeasibility). To synthesize a network with the fewest sensors, we perform a binary search on .

Mixed-Integer Linear Programming (MILP). Optimization techniques like Mixed Integer Linear Programming (MILP) can directly synthesize a network with the fewest number of sensors. MILP is a version of integer programming in which variables need not all be integers, but the constraints need to be linear. The connectivity constraint (C3) is hard to express in MILP, and §5 describes how we address this challenge.

4. SMC Formulation of Network Synthesis

In this section, we describe how we cast network synthesis in the SMC framework (Shoukry et al., 2018).

Figure 1. A complex obstacle can be modeled as a polygon, but this can be computationally difficult. We discretize space into grids and model each grid as occupied (if even a part of an obstacle overlaps with the grid) or unoccupied. Occupied grids are shaded in a dark color.

Area Coverage. The coverage constraint (C1, Equation 1) specifies point coverage, where the locations represent discrete locations in the deployment region . In practice, IoT deployments desire area coverage, where at least sensors cover every point within that is not covered by an obstacle. The area coverage problem in presence of obstacles is not convex, so it is hard to represent it using SMC (or, for that matter, MILP).

Discretizing the deployment region. To address this challenge, we discretize space into a uniform grid which induces a new discretized space . Each grid element can be represented in 2-D space as the intersection of four half planes:


The respective four physical corners are , , , .

Representing obstacles. In general, we can represent an obstacle as a fine-grain polygon (Figure 1). However, the finer the representation of the obstacles, the less scalable the network synthesis process becomes. A single obstacle with vertices, creates constraints, where represents the set of points covered by sensors. So, we leverage the space discretization to improve synthesis scaling: we say that each grid element is occupied if an obstacle covers even a part of the element, else the element is unoccupied (Figure 1). Furthermore, since every is either occupied by an obstacle or free, is the union of two disjoint sets and , corresponding to occupied (obstacles) and unoccupied spaces, respectively.

All Pseudo Respective
Description Possible Boolean Predicate or
Combinations Variable Constraints
Table 2. Pseudo Boolean for SMC Formulation

Defining area coverage. If a sensor covers the four corners of a grid element , then it covers all points within the element. Thus, we can represent the problem of covering the entire area by the problem of covering the corners of unoccupied grids. Formally, let where denotes the four corners of the grid . Then, our formulation uses the pseudo-Boolean variables in Table 2 to directly represent the convex and complex constraints (§2).

We can encode the -coverage problem using SMC as follows.

Coverage Constraints (C1). We ensure that at least sensors cover each grid region as follows:


where covering a grid implies that the same sensor covers all four corners of the grid which expresses the constraint that if sensor covers a grid (), then it covers all four corners of the grid .

Visibility Constraints (C2). The four half-planes (Equation 9) of each occupied grid element can also model visibility. Let represent the respective four corners of occupied grid element . Then, line of sight depends upon two conditions:

  1. This condition applies when all four vertices of an obstacle are on the same half plane created by the line joining a sensor location and a sensed location (Figure (a)a). If the line equation joining , is then all four vertices should satisfy either or , expressed as follows:

  2. This condition applies when both the sensor location and the sensed location are on the outer half-plane of at least one obstacle face (Figure (b)b). Mathematically, both points should satisfy one of the following four conditions: , , , , expressed as follows:


If is a predicate that checks whether an obstacle grid element does not block the line of sight between and , then we can write:


Using this, we can compute the visibility constraint (Equation 3).

Figure 4. Two visibility conditions. Red dot signifies a sensor and Blue dot signifies a sensed location.

Accommodating Heterogeneity. If the network synthesis requires each location to be covered by multiple types of sensors such as cameras and microphones, we can incorporate that as follows: (1) to accommodate different sensing range coverage radii we can use different values of in Equation 1, (2) to accommodate different visibility constraints, we can use a sensor-specific visibility function (), and (3) to accommodate k-coverage constraints for different sensors, we can replicate Equation 10 for each type of sensors. This is possible because the SMC formulation treats each sensor as an independent element (even for the same type of sensors).

Connectivity Constraints (C3). In a connected network, there should exist a communication path (single-hop or multihop) between every pair of nodes. Consider the adjacency matrix : where with True as 1 and False as 0. Now, let represent the -hop adjacency matrix (whose -th entry is the number of -hop paths between and ), then we can write the connectivity constraint as:


This is a simplified version of (Equation 5): we only check connectivity between node 1 and every other node because, if there exists a path from node 1 to every other node, they can always connect via node 1.

Obstacles and sensor placement (C4). To prevent the synthesizer from placing sensors in grid elements occupied by obstacles, we can define constraints that ensure that each sensor ’s position is outside the four half planes (Equation 9) defined by each grid element, as follows:


where define the four halfplanes of the obstacle grid. Finally, to make sure that the SMC solver does not put the sensor inside the obstacles, we add the following sets of clauses, the equivalent of (Equation 6):


This forces the solver to only select locations from the unoccupied grid elements.

The overall formulation. Putting all these together, the four key constraints can be summarized in Table 3. From this, we arrive at the overall SMC formulation: . With this formulation, we perform a binary search on to find the solution with the fewest number of sensors.

Coverage (C1)
Visibility (C2)
Connectivity (C3)
Placement (C4)
Table 3. Summary of SMC Encoding of k-Coverage

Constraint pre-computation. Our SMC encoding discretizes the deployment region. If two such locations and are more than twice the sensing radius apart, then no single sensor can cover them. While SMC can eventually determine this through counter-examples with our encoding, we have found that it significantly improves the speed of synthesis to provide these as pre-computed constraints. We do this by (a) finding all pairs and that are greater than twice the sensing radius apart and (b) adding a constraint that prevents a single sensor from covering them. (We add similar constraints for connectivity as well).

5. MILP-Based Network Synthesis

In this section, we describe a scalable network synthesis method using a Mixed Integer Linear Programming (MILP) formulation. To use MILP for network synthesis, we need to find a MILP-encoding of the constraints in §2.

Representing Coverage. To represent the coverage constraint C1 (Equation 1) in MILP, we leverage the grid discretization and relax the definition of (a) distance and (b) visibility.

Distance relaxation. To reason about the constraints from §2 in grid space, we first need to modify the distance function between any two grids in the unoccupied space as follows:


where represent the four corners of grid element . This evaluates to the maximum distance between the two discrete regions. The largest distance measurements in this particular discrete space are between opposite corners of the rectangles describing and .

Visibility Relaxation (C2). The visibility between a sensor and a location is given by Equation 3. However, to create a MILP encoding we must remove any non-linear constraints. To this end, we assume that a sensor, located in a space directly adjacent to an obstacle, cannot sense any discrete space at or past the obstacle’s position. For example, if a sensor is in a space diagonal to an obstacle, it cannot sense any space on the vertically or horizontally opposite side of the object (Figure (a)a and Figure (b)b). With this assumption we can pre-compute the visibility relation between any two grids in the system:

Figure 9. (a)-(b) Visibility restrictions placed on the sensors in discrete space. We under-approximate visibility so the resulting assignment of discrete locations is valid for any real-valued location within the discrete region. (c) An example “visibility graph”, where each vertex represents a discrete region and edges exist between two vertices if the corresponding regions “cover” each other, i.e. . (d) An example collapse of the connectivity subgraph into its connected components. In this figure, the solid red circled vertices correspond to the vertices selected by the MILP algorithm. The connected components of dashed black boxes, and each is mapped to a collapsed node, with edges mapped to their corresponding collapsed nodes. In this new graph, the Steiner tree problem solution identifies the vertex in a dashed red circle as the necessary node for connectivity.

Modified Coverage Constraint (C1). With the visibility relaxations, we can define a modified coverage function as:


where we use sensors of fixed sensing radius for ease of exposition (below, we describe how to generalize this to heterogeneous sensors). To account for the discretization, instead of assuming that a sensor has visibility defined by the sensor range , we assume its visibility is restricted to the largest inscribed square within the circle aligned to the grid axes (Figure 9). This under-approximation ensures that we do not miss coverage, at the expense of optimality.

Transforming -coverage into a graph vertex cover. With the modified coverage function, let us define a graph where vertex corresponds to a discrete region . We create an edge between vertices when the corresponding discrete regions can “cover” each other, i.e., . Figure (c)c illustrates this visibility graph. Now, the sensor -coverage problem reduces to identifying if there exists a selection of vertices and their respective weights (number of sensors to place), , such that every vertex (i.e., every ) is covered by a set of neighboring vertices of with a total minimum weight of with a total budget of .

A MILP formulation of -vertex cover uses only integer variables. Consider a integer variable associated with each which represents the number of sensors to place on that grid. Now, the -cover goal becomes:


where denotes the neighbors of node in the graph . This implies that for every , at least sensors is placed in its neighboring () vertices. To ensure that we only place the maximum number of available sensors , we need an additional constraint: . With this, the objective of the MILP formulation is:


Accommodating Heterogeneity. If the network synthesis requires each location to be covered by multiple types of sensors such as cameras and microphones, we can treat each type of sensor placement problem as a separate coverage problem and solve using Equation 21. If the synthesis specifies multiple sensors of the same type (e.g., camera) but with different specifications, we can generate a separate visibility graph for each sensor specification () as , introduce an integer variable to represent the number of type sensors placed in the discrete region , and update Equation 20 and Equation 21 in a straightforward way (details omitted) to formulate the synthesis.

Obstacles and sensor placement (C4). The visibility graph accommodates the placement constraints by construction.

Determining connectivity (C3). To capture the connectivity constraint, we can leverage a fundamental result that a graph is connected if and only if the second largest eigenvalue of the Laplacian matrix , where is the degree matrix and is the adjacency matrix of , is (strictly) positive. For a given graph (that is, with fixed nodes and vertices), checking whether this condition holds can be computationally challenging. In the topology synthesis problem further complications arise, as we are interested in imposing such a (nonconvex) connectivity constraint on graphs where the placement of nodes and edges is a design variable. Following the reduction proposed in (Rafiee and Bayen, 2010), in a problem where the nodes and edges of a graph are given (and constant) the eigenvalue constraint can be expressed equivalently by a (convex) linear matrix inequality (LMI) in auxiliary scalar variables. Then, the connectivity of can be determined in polynomial time using any convex solver applicable to semidefinite programs (Vandenberghe and Boyd, 1996).

If the nodes are fixed but the edges of the graph are a decision variable (as in the case considered in (Rafiee and Bayen, 2010)), then the problem becomes combinatorial, that is, a mixed-integer semidefinite program (MISDP), as the elements of the adjacency matrix are also decision variables of the problem. In our network synthesis problem, when the placement of sensors is also to be determined, the connectivity of the resulting network can be related to an LMI on a variable size matrix: its dimensions depend on the number of grid points with deployed sensors and the feasibility (or not) of edges depends on whether such edges exist in the connectivity graph.

Encoding such relationships in MILP is possible, at the expense of introducing a significant number of auxiliary integer variables. Alternatively, after some algebra, one can obtain a MISDP, with constraints as described before and an objective that minimizes the number of sensors. But, lacking specialized MISDP solvers, we expect such a formulation to not scale well. So, we have resorted to a further simplification: we relax the LMI constraint into affine inequalities222The LMI constraint is related to the positive semidefiniteness of a matrix. A diagonally dominant matrix, the space of which can be characterized by affine inequalities that can be part of a linear program, is positive semidefinite; the opposite does not necessarily hold.. This results in an MILP formulation for our problem, albeit one that may be conservative on highly connected graphs.

Scaling With Connectivity. It turns out that using the Laplacian matrix for connectivity is not scalable beyond a very small problem space. Thus, we introduce another approximation method to simplify the connectivity as follows. We use a two-step connectivity repair algorithm to enforce connectivity after generating a topology satisfying the -cover constraints. Similar to the creation of the visibility graph (see Figure (c)c), we can create a connectivity graph , where vertex corresponds to a discrete region , and edges exist between two vertices if .

A graph-based formulation for connectivity repair. A selection of sensors by the MILP coverage formulation, , induces a subgraph on the connectivity graph . i.e., each grid has at least one sensor. To satisfy the connectivity constraint, must be a connected graph. Should the MILP algorithm produce a connected , no additional work is necessary. Otherwise, we must add additional vertices to the set , playing the role of relay nodes.

To determine the relay node locations, we collapse into its connected components. In this process, every single disconnected node is considered “self-connected” and mapped to an identical node in the collapsed graph (Figure (d)d). Edges from are similarly mapped to their corresponding collapsed counterparts. The problem of identifying a set of nodes to add to to make connected is identical to finding the minimal weight tree in the collapsed graph which spans the collapsed nodes of .

This is the Steiner tree problem in graphs and is well-known to be NP-hard. We use a classical polytime approximation to solve the problem within a factor of , where is the number of collapsed nodes resulting from the initial selection  (T. Kou et al., 1981). After adding the necessary nodes to create a tree in the collapsed graph to the initial set of nodes , the connectivity subgraph is connected.

The overall formulation. Summarizing our discussion so far, we can encode a MILP formulation of the k-coverage network synthesis goal with the following mapping of our four main constraints presented in Table 4.

Coverage (C1) k-Vertex Cover in Visibility Graph
Visibility (C2) Visibility Graph
Connectivity (C3) Steiner Tree in Connectivity Graph
Placement (C4) Not Required
Table 4. Summary of MILP Encoding of k-Coverage

6. Hierarchical Synthesis

Both SMC and MILP, by themselves, fail to achieve our scaling goals (§3). We apply hierarchical synthesis to achieve these.

Figure 12. (a) Hierarchical synthesis solves sub-regions, then combines these solutions to satisfy coverage and connectivity over the entire deployment region using a (b) Connectivity repair method between sub-problems

Hierarchical synthesis approach. In hierarchical synthesis, we subdivide the deployment area into smaller sub-areas (Figure (a)a) and solve for coverage (and not for connectivity) in each of the sub-areas separately. Then, once we have individual solutions, we need to connect them so that we have a connected network. For MILP, we use the graph based connectivity repair approach presented in §5. To connect the individual sub-problems in SMC, we first combine the solutions to check for connected pairs of nodes, then collapse each of the connected sub-networks into a single node (Figure (b)b). Then, we use constraints and in the SMC formulation to ensure connectivity between the sub-areas (similar to MILP connectivity repair but in the continuous domain).

We could have solved for both coverage and connectivity in each of the sub-areas. In a complex deployment region, solving for both connectivity and coverage in each subproblem often over-provisions the network. Also, a -coverage solution often results in connected sub-networks, so our approach enables faster synthesis by reducing computation (§7).

Incremental Coverage Repair. Hierarchical synthesis can help scaling but may result in redundant coverage, because it solves each sub-region independently, so more than sensors may cover parts of the sub-region near the boundaries (e.g., by sensors from neighboring sub-regions). To circumvent this, we first solve each sub-area for coverage. Then, for each grid element , we measure the obtained coverage from this solution. The residual coverage requirement for , then, is ; we now run the coverage problem again for each sub-area with these residual coverage requirements as constraints, which effectively “fills” up the coverage on grid points interior to the sub-area. After this, we apply the connectivity repair described above.

7. Evaluations

In this section, we explore how the solution quality for MILP and SMC varies with problem size.

7.1. Methodology

Implementation. Our SMC implementation uses Z3 (De Moura and Bjørner, 2008) for SAT solving, and CPLEX (18) for convex constraints. We use CPLEX also for the MILP formulation.

Inputs. There are six inputs in our evaluation. The deployment region denotes the discretized grid for which we synthesize the network. For most of our experiments, we use two different sizes of scenarios: (1) (Small) and (2) (Large) grid. In the Small, we use hierarchy with SMC but not with MILP since the latter scales to this scene. For the Large, we use hierarchy for both since neither is able to scale to this problem size. The performance of synthesis algorithms depends heavily on the fraction of the deployment region occupied by obstacles (obstacle extent), and on the spread of these obstacles across the deployment region (obstacle dispersion). The coverage radius and the communication radius are also inputs; our results are sensitive to , the ratio of the communication radius to the coverage radius. The grid granularity controls how finely we can represent the deployment region; a finer grid implies lower coverage redundancy at the expense of scalability. Finally, we fix the coverage goal at (at least three sensors must cover each grid).

Scalability and Performance. Since we are interested in synthesis for ad-hoc, time-constrained, deployments, we use the time taken to arrive at a good solution for a given problem size as a measure of scalability. Since we compare iterative synthesis methods, we specify this time as a constraint: we allocate a fixed amount of execution time on a fixed computing configuration for each of our methods and use the solution obtained by the end of that duration (or earlier if the synthesis has converged). A problem setting that does not scale will have arrived at a sub-optimal solution after . In our experiments, we fix to 1 hour.

Metric. We then measure the performance of network synthesis by its coverage redundancy. If the average number of sensors covering each location in the solution is , coverage redundancy is where is the desired coverage. For example, if, on average, 6 sensors cover every location, but we desire 3-coverage, then coverage redundancy is 2.

(a) grid
(b) grid
(c) grid
(d) grid
(e) grid
(f) grid
Figure 19. Performance comparison for different combinations of obstacles extent, and . Blue SMC performs significantly better, Light Blue SMC performs slightly better (), Light Orange MILP performances slightly better (within 10% of each other), Orange MILP performs significantly better, and Yellow infeasible test scenario.

7.2. The Role of Obstacles

Obstacles determine the visibility and placement constraints (§2) and significantly impact the performance of network synthesis. To evaluate how obstacle extent and obstacle dispersion affect the performance of MILP and SMC, we perform a set of experiments on synthetically generated obstacle distributions (in §7.3, we explore realistic deployment regions).

To quantify the obstacle dispersion, we define as the average number of adjacent grids with obstacles for each obstacle grid. can theoretically vary from 0 to 8 with being highly rare. For a fixed obstacle extent, lower values of occur for small, widely dispersed obstacles. We evaluate and compare the performance of MILP and SMC for all feasible combinations of four different obstacle extents 5%, 15% 25%, 50%, and eight different values of (We do not use for Small as it is very rare). In each case, we place obstacles on a grid and a grid and generate five obstacle placements (coverage redundancy varies little across placements, so we use 5 placements to minimize the total time to run experiments). We set the coverage radius to 6 units and explore the sensitivity of results to three different choices of .

Figure 19 presents the results of these experiments, both for Large and Small

, where two methods are comparable if either their coverage redundancy 95% confidence intervals overlap or the means are within 10% of each other. These results indicate four distinct regimes of operation, discussed below.

Small Obstacle Extent (). Figure 19 illustrates that for both Large and Small, with few obstacles (roughly ) SMC outperforms MILP for . On the other hand, for the performance largely depends on the obstacle dispersion (Figure (a)a and (d)d) with better performance for MILP with lower obstacle dispersion (). For , the coverage solution is also connected (Xing et al., 2005); MILP converges faster to solutions with lower coverage redundancy in these settings both because its visibility approximation is less in obstructed environments (Figure (b)b), and because the visibility graphs are less dense. It performs less well for because of its connectivity repair technique (§5). For (when the connectivity same as the sensing radius) and (when the connectivity radius is half the sensing radius), MILP has to deploy a large number of relay nodes to repair connectivity (made larger by the under-approximation of connectivity), which increases coverage redundancy significantly.

Figure 22. Illustration of over-approximation for smaller and larger . The hashed region illustrates the non-visible region in the MILP model and the blue shaded region is the original visible region.

High Obstacle Dispersion (). Figure 19 also illustrates that, regardless of the obstacle extent and value of , with dispersed obstacles (i.e., ) SMC outperforms or is comparable to MILP. With many small sized obstacles, MILP under-approximates visibility significantly (Figure (a)a) and ends up placing more sensors. Thus, even with a large obstacle extent, if obstacles are small and widely dispersed, MILP’s performance degrades.

Medium Obstacle Extent () and Low Obstacle Dispersion (). In this regime, MILP often outperforms SMC regardless of the values of for Small when MILP does not require any hierarchy, but SMC does (Figure (a)a, (b)b, (c)c). In more obstructed environments, SMC requires a deeper hierarchy to scale well. In contrast, MILP converges faster to solutions with lower coverage redundancy in these settings both because its visibility approximation is less in obstructed environments (Figure (b)b), and because the visibility graphs are less dense. However, as we introduce hierarchy to MILP (Large), MILP’s performance deteriorates due to over-provisioning as a result of hierarchy and SMC becomes the better alternative (Figure (d)d, (e)e, (f)f).

Large Obstacle Extent () and Low Obstacle Dispersion (). In this regime, the relative performance of these schemes again depends on the value of (similar to Small Obstacle Extent ()). For , MILP is comparable to or better than SMC (Figure (a)a and (d)d) and for , SMC outperforms MILP (Figure (b)b, (c)c, (e)e, (f)f). This results from the connectivity repair technique used in MILP. For , the coverage solution is guaranteed to be connected (Xing et al., 2005).

Effect of . When , a solution for coverage also results in a connected network. In contrast, when , ensuring connectivity requires additional sensors. This is evident from the coverage redundancy values in Figure 19. For , the best coverage redundancy is mostly within a factor of 2 of the optimal across the entire range of obstacle distributions while it is within a factor of 4 of the optimal for . In Figure 19, we can see a nice separation between two regimes where SMC and MILP perform well for (Figure (a)a and (d)d). As goes from 2 to 1 to 0.5, the regime where MILP outperforms SMC vanishes. Since the primary difference between these regimes is the importance of connectivity, this shows that SMC handles connectivity constraints better than MILP.

Grid Dimensions. Finer grids can better model obstacles and reduce the under-approximation in visibility, but can reduce the scalability of synthesis. To understand this tradeoff, we explored the impact of changing the dimensions of each grid element, without increasing the number of grids. The generated heatmap (omitted for brevity) is consistent with the ones in Figure 19. This suggests that the grid granularity affects both schemes equally, thus, has no effect on the boundary between SMC and MILP (Figure 19).

Number of grid elements. As the number of grid elements increases (we fix the grid dimensions), MILP and SMC need hierarchy to scale. Figure 19 shows that for Small there exists a difference between MILP and SMC (e.g., Figure (b)b); MILP does not need hierarchy but SMC does. This difference disappears in the Large (Figure (e)e). For MILP, the problem size beyond which it does not scale can be characterized by the number of unoccupied grids, . If this number is greater than a threshold , then MILP does not scale without hierarchy because the number of constraints and solution search space increases dramatically (the number of constraints in MILP is a function of the number of open grids, since these determine its visibility and communication graphs, §5). is a function of the capacity of the solver (De Moura and Bjørner, 2008) and the computing configuration used for the synthesis. We can experimentally profile this quantity; in our experiments, is approximately 1200.

SMC requires hierarchy in both scenarios. Its performance improves relative to MILP, because MILP performance degrades because of the coverage and connectivity approximations. These arise from limitations in MILP’s expressivity with respect to our network synthesis problem. This is evident from Figure (e)e and (f)f: for the Large with , SMC always outperform MILP significantly. For , we can see that the change is less severe as for the coverage solution is the connectivity solutions and thus adding hierarchy deteriorates the performance of MILP slightly and makes it comparable to SMC.

To check whether the boundary between the two changes at larger settings, we performed a set of experiments with a grid scenario and generated the respective heatmap (also omitted for brevity). This heatmap is comparable to the large results in Figure 19. With increasing problem size, both methods appear to be equally affected by the addition of deeper levels of hierarchy needed to scale the synthesis.

Synthesis method selection. Taken together, these results suggest that MILP and SMC perform well in different regimes (indicated by the dashed line boundary in Figure 19), so network synthesis should select which method to use depending on (a) the obstacle extent, (2) obstacle dispersion (), (3) the coverage to communication radius ratio (), and (4) the number of open grids (). Table 5 summarizes these choices: use SMC except for and .

Figure 27. (a)-(b) Performance Analysis in real world dettings, (c) Comparison of performance for the proposed SMC with and without the incremental coverage repair, (d) Performance comparison between SMC and SMC-Conn for varying obstacle extents.
Obstacle Obstacle Best Synthesis Method
Extent Distribution
Table 5. Summary of the Experiments

7.3. Real World Deployment Regions

To understand the relative performance of different approaches for network synthesis, we have presented results from synthetic deployment regions. In this section, we explore how synthesis scales to real-world deployment regions.

We extracted discretized representations from Google Maps for three large segments of university campuses in North America: (1) 740 m 680 m with of obstacles with (2) 980 m 640 m with of obstacles with , (3) 860 m 660 m with of obstacles with . We use a grid size of with a coverage and communication radius of 70 m following the standard ranges of Wi-Fi video surveillance cameras in outdoor settings. For each of these settings, SMC outperforms MILP (Figure (a)a) at the expense of higher runtimes (but still on the order of minutes, Figure (b)b) which is consistent with the findings in Figure 19.

7.4. Impact of Optimizations

Synthesis with and without Incremental Coverage Repair. Our hierarchical synthesis uses incremental coverage repair (§6): rather than solve for coverage in each sub-area, we first solve for since neighboring sub-areas can provide additional coverage. Then, we repair any missing coverage when combining the sub-areas. Figure (c)c shows that incremental coverage repair can reduce redundancy by relative to a solution (SMC-NCR) that does not incorporate this technique.

Solving for coverage alone. Our synthesis method also incorporates an optimization where it does not

attempt to solve each subproblem both for connectivity and coverage, assuming that the coverage solution results in an almost always connected network. To understand the benefits of this approach, we compare SMC-based hierarchical synthesis against an alternative (SMC-Conn) in which we do solve for both connectivity and coverage in each sub-problem. We explore four different obstacle extents, where each obstacle is the size of a single grid element and obstacles are uniformly distributed.

For these settings, Figure (d)d shows that the optimization results in better quality solutions (lower coverage redundancy). This comes at the expense of slightly higher computation times: when the sub problem is not connected, SMC must repair its connectivity during the step in which it combines all subproblems, which increases the complexity of that step.

Takeaway. Both our optimizations are important for reducing coverage redundancy and improving scalability.

7.5. Incorporating Heterogeneity

SMC and MILP can be easily extended to incorporate additional constraints. To illustrate this, suppose we want to synthesize a network with two different sensors (e.g., camera and microphone), each with different coverage radii, with the additional constraint that every point in the deployment region should be covered by at least one sensor of the first type, and two of the second type. If both sensors are omnidirectional (we have left to future work an exploration of directional sensors), both SMC and MILP can be trivially extended to accommodate such constraints. Figure (a)a shows an SMC-synthesized network that satisfies such constraints.

Figure 30. (a) Heterogeneous sensor synthesis. The triangles represent one type of sensor, and the circles another. Each point is covered by one sensor of the first type and two of the second, (b) Real testbed

7.6. Testbed Validation

The goal of this paper is to understand the scalability of network synthesis. A key question in network synthesis is validation: when deployed, does the synthesized network actually satisfy the coverage and connectivity constraints? This is hard to do at large scales (e.g., a campus) since it would require hundreds of sensors.

For this reason, we present a small-scale validation of network synthesis. We ran the synthesizer on a small deployment region, deployed a network corresponding to the output of the synthesis, and empirically determined if the connectivity and coverage requirements were satisfied. To do this, we used a testbed of 5 Raspberry Pi 3’s with omnidirectional cameras mounted on top (Figure (b)b). The camera has a range (the distance at which a human can recognize a small object of standard dimensions, such as a cup) of . The Wi-Fi range of the device is roughly 15 meters.

We performed two experiments, one indoor, and one outdoor. In each case, we fed a discretized representation of the deployment region to the synthesizer, then placed the Raspberry Pis as directed by the synthesis output. To place the nodes accurately, we relied on relative measurements from the walls in the indoor settings and on GPS in the outdoor setting.

In the indoor experiment, the synthesized network Satisfied the coverage and connectivity requirements.

Outdoor validation was trickier for two reasons. First, the outdoor deployment region was heavily occluded, and GPS errors hampered our ability to place the sensors at exactly the locations specified by the synthesizer (GPS is known to be inaccurate in urban canyons (Liu et al., 2018)). The MILP formulation permits flexibility in placement within an entire grid; a MILP-synthesized network satisfied coverage. Second, the effective wireless range outdoors was smaller than that indoors, so we had to carefully profile the range and synthesize a network corresponding to this range. With this change, we were able to validate connectivity outdoors as well.

In general, with conservative choices of sensing and communication range, we expect a synthesized network to satisfy coverage and connectivity requirements when deployed. Any synthesis technique will need associated tools that can determine practical and safe values for sensing and connectivity radii, and we have left such tools to future work.

8. Related Work

In this section, we briefly detail how the proposed network synthesis methods relate to the existing literature.

Wireless Sensor Networks. Over the last two decades, researchers have studied sensor network placement problems (Younis and Akkaya, 2008; Wang et al., 2007). Common approaches rely on random dense deployment followed by a careful selection among the deployed sensors to fulfill the sensing goal (Bai et al., 2006b): often, this work has not considered obstacles. We highlight the most relevant prior work in this area: (Wang, 2011; Zhu et al., 2012; Al-Karaki and Gawanmeh, 2017) present a more complete treatment.

Discrete Set of Sensors and Locations. With a set of randomly pre-deployed sensors, the network topology design reduces to controlling the sleep pattern of the sensors (Santi, 2005; Xing et al., 2005; Zhang and Hou, 2005; Chen et al., 2015; Abrams et al., 2004; Liu et al., 2013). This can be easily encoded using SAT (Ashouri et al., 2012) or framed using computational geometry (Bai et al., 2006a). None of these approaches deals with obstacles and visibility constraints for sensing. In contrast, we focus on a methodical top-down synthesis and support richer sensing goals such as -coverage. Moreover, unlike these approaches, we focus on scaling to large deployments in highly occluded settings.

Submodular Optimization. Prior work has explored a greedy algorithm for submodular optimization of sensor placement and scheduling (Krause et al., 2011). The proposed method does not consider connectivity constraints. Similarly, (Krause et al., 2008)

uses greedy heuristics to solve several problems in selecting an optimal placement of sensors in a water network with submodular objectives. While sub-modularity assumptions enable rapid synthesis, they lack the expressivity of SAT and SMC which are necessary to jointly address coverage and connectivity constraints.

MILP. Prior work has surveyed and combined MILP/ILP approaches to solve the sensor placement problem (Sterle et al., 2016). Our MILP formulation extends this with connectivity constraints.

Relay Placement. Prior work has also explored connectivity repair using relays (Yang et al., 2010; Santos and Vieira, 2014). In (Han et al., 2010), the authors address the problem of placing relay nodes to create k = 1, 2, and higher connectivity in both one and two-way communication scenarios. The problem is NP-hard, and a series of polynomial approximation algorithms are presented to solve the problem for k = 1, 2 and a generalization is given for k ¿ 2. In contrast, we do not focus on just relay placement, but on the synthesis of a connected network satisfying coverage objectives, a much harder problem. In (Santos and Vieira, 2014), a set of relays is placed to establish a communication backbone. They consider obstacles and compute an Euclidean Obstacle-Avoidance Steiner tree to place the relays but this solution does not scale.

Camera Placement. There exists a body of work on camera placement related to our work. Solutions to the well-known art-gallery problem for placing visual sensor (González-Banos, 2001) generally assume infinite sensing range, and do not consider connectivity. One work (Huang et al., ) explores an indoor camera placement problem with connectivity constraints, but in an uncluttered environment and assumes unlimited sensing range. Another work (Erdem and Sclaroff, 2006) considers limited camera ranges and polygonal obstacles, but does not consider connectivity. Other prior work has used quadratic convex programming (Ghanem et al., 2015), integer linear programming (Yabuta and Kitazawa, 2008), and linear programming (Hörster and Lienhart, 2006) for camera placements, but again do not consider connectivity.

Wired Network Synthesis. Finally, prior work has explored synthesis of network topologies and routing configurations (Beckett et al., 2017; Schlinker et al., 2015). Our problem is qualitatively different in that it includes coverage requirements and visibility constraints.

9. Conclusion

Motivated by advances in solver technology, this paper considers the top-down synthesis of large-scale ad-hoc IoT networks. We explore two qualitatively different formulations: one represents synthesis constraints in the SMC framework that permits convex constraints, and another uses a conventional MILP optimization formulation. We also develop a hierarchical synthesis technique to scale to large problem sizes. Our results show that, somewhat surprisingly, SMC’s solution quality is better than MILP at larger problem sizes, despite being fundamentally less scalable than MILP. This is likely due to the fact that MILP can only approximately capture coverage and connectivity constraints, and these approximations result in higher coverage redundancy. Several directions of future work remain including: extending the synthesis to accommodate directional sensors, and determining scaling techniques for these; incorporating computational elements into the network synthesis to place fusion nodes that can optimally process sensor data; and devising more scalable MILP formulations.


  • Z. Abrams, A. Goel, and S. Plotkin (2004) Set k-cover algorithms for energy efficient monitoring in wireless sensor networks. In Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks, IPSN ’04, pp. 424–432. Cited by: §8.
  • J. N. Al-Karaki and A. Gawanmeh (2017) The optimal deployment, coverage, and connectivity problems in wireless sensor networks: revisited. IEEE Access 5, pp. 18051–18065. Cited by: §8.
  • M. Ashouri, Z. Zali, S. R. Mousavi, and M. R. Hashemi (2012) New optimal solution to disjoint set k-coverage for lifetime extension in wireless sensor networks. IET Wireless Sensor Systems 2 (1), pp. 31–39. Cited by: §8.
  • X. Bai, S. Kumar, D. Xuan, Z. Yun, and T. H. Lai (2006a) Deploying wireless sensors to achieve both coverage and connectivity. In Proceedings of the 7th ACM International Symposium on Mobile Ad Hoc Networking and Computing, MobiHoc ’06, pp. 131–142. External Links: ISBN 1-59593-368-9 Cited by: §8.
  • X. Bai, S. Kumar, D. Xuan, Z. Yun, and T. H. Lai (2006b) Deploying wireless sensors to achieve both coverage and connectivity. In Proceedings of the 7th ACM International Symposium on Mobile Ad Hoc Networking and Computing, pp. 131–142. Cited by: §8.
  • R. Beckett, R. Mahajan, T. Millstein, J. Padhye, and D. Walker (2017) Network configuration synthesis with abstract topologies. In ACM SIGPLAN Notices, Vol. 52, pp. 437–451. Cited by: §1, §8.
  • C. Chen, S. C. Mukhopadhyay, C. Chuang, M. Liu, and J. Jiang (2015) Efficient coverage and connectivity preservation with load balance for wireless sensor networks. IEEE Sensors Journal 15 (1), pp. 48–62. Cited by: §8.
  • L. De Moura and N. Bjørner (2008) Z3: an efficient smt solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’08/ETAPS’08, pp. 337–340. Cited by: §1, §3, §7.1, §7.2.
  • U. M. Erdem and S. Sclaroff (2006) Automated camera layout to satisfy task-specific and floor plan-specific coverage requirements. Computer Vision and Image Understanding 103 (3), pp. 156–169. Cited by: §8.
  • A. Fogel, S. Fung, L. Pedrosa, M. Walraed-Sullivan, R. Govindan, R. Mahajan, and T. Millstein (2015) A general approach to network configuration analysis. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), Oakland, CA, pp. 469–483. External Links: ISBN 978-1-931971-218, Link Cited by: §1.
  • H. Fraisse, A. Joshi, D. Gaitonde, and A. Kaviani (2016) Boolean satisfiability-based routing and its application to xilinx ultrascale clock network. In Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 74–79. Cited by: §3.
  • B. Ghanem, Y. Cao, and P. Wonka (2015) Designing camera networks by convex quadratic programming. In Computer Graphics Forum, Vol. 34, pp. 69–80. Cited by: §8.
  • H. González-Banos (2001) A randomized art-gallery algorithm for sensor placement. In Proceedings of the seventeenth annual symposium on Computational geometry, pp. 232–240. Cited by: §8.
  • [14] (2019) Gurobi optimizer reference manual. External Links: Link Cited by: §1.
  • X. Han, X. Cao, E. L. Lloyd, and C. Shen (2010) Fault-tolerant relay node placement in heterogeneous wireless sensor networks. IEEE Transactions on Mobile Computing 9 (5), pp. 643–656. Cited by: §8.
  • E. Hörster and R. Lienhart (2006) On the optimal placement of multiple visual sensors. In Proceedings of the 4th ACM international workshop on Video surveillance and sensor networks, pp. 111–120. Cited by: §8.
  • [17] H. Huang, C. Ni, X. Ban, J. Gao, A. T. Schneider, and S. Lin Connected wireless camera network deployment with visibility coverage. In IEEE INFOCOM 2014, pp. 1204–1212. Cited by: §8.
  • [18] IBM ilog cplex optimization studio v12.9.0 documentation. Cited by: §3, §7.1.
  • P. Kazemian, G. Varghese, and N. McKeown (2012) Header space analysis: static checking for networks. In Proc. Usenix NSDI, Cited by: §1.
  • A. Krause, J. Leskovec, C. Guestrin, J. VanBriesen, and C. Faloutsos (2008) Efficient sensor placement optimization for securing large water distribution networks. Journal of Water Resources Planning and Management 134 (6), pp. 516–526. Cited by: §8.
  • A. Krause, R. Rajagopal, A. Gupta, and C. Guestrin (2011) Simultaneous optimization of sensor placements and balanced schedules. IEEE Transactions on Automatic Control 56 (10), pp. 2390–2405. Cited by: §8.
  • H. Liu, X. Chu, Y. Leung, and R. Du (2013) Minimum-cost sensor placement for required lifetime in wireless sensor-target surveillance networks. IEEE Transactions on Parallel and Distributed Systems 24 (9), pp. 1783–1796. Cited by: §8.
  • X. Liu, S. Nath, and R. Govindan (2018) Gnome: a practical approach to nlos mitigation for gps positioning in smartphones. In Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services (Mobisys), pp. 163–177. Cited by: §7.6.
  • I. Lynce and J. Ouaknine (2006) Sudoku as a sat problem.. In ISAIM, Cited by: §3.
  • Minisat (2019) http://minisat.se/. Cited by: §3.
  • M. Rafiee and A. M. Bayen (2010) Optimal network topology design in multi-agent systems for efficient average consensus. In 49th IEEE Conference on Decision and Control, pp. 3877–3883. Cited by: §5, §5.
  • P. Santi (2005) Topology control in wireless ad hoc and sensor networks. ACM Computing Surveys (CSUR) 37 (2), pp. 164–194. Cited by: §8.
  • E. R. S. Santos and M. A. M. Vieira (2014) Autonomous wireless backbone deployment with bounded number of networked robots. In 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vol. , pp. 3740–3746. Cited by: §8.
  • B. Schlinker, R. N. Mysore, S. Smith, J. C. Mogul, A. Vahdat, M. Yu, E. Katz-Bassett, and M. Rubin (2015) Condor: better topologies through declarative design. ACM SIGCOMM Computer Communication Review 45 (4), pp. 449–463. Cited by: §1, §8.
  • Y. Shoukry, P. Nuzzo, A. L. Sangiovanni-Vincentelli, S. A. Seshia, G. J. Pappas, and P. Tabuada (2018) SMC: satisfiability modulo convex programming. Proceedings of the IEEE 106 (9), pp. 1655–1679. Cited by: §1, §1, §3, §3, §4.
  • C. Sterle, A. Sforza, A. E. Amideo, and C. Piccolo (2016) A unified solving approach for two and three dimensional coverage problems in sensor networks. Optimization Letters 10 (5), pp. 1101–1123. Cited by: §8.
  • L. T. Kou, G. Markowsky, and L. Berman (1981) A fast algorithm for steiner trees. Acta Informatica 15, pp. 141–145. Cited by: §5.
  • L. Vandenberghe and S. Boyd (1996) Semidefinite programming. SIAM Review 38 (1), pp. 49–95. Cited by: §5.
  • B. Wang (2011) Coverage problems in sensor networks: a survey. ACM Computing Surveys 43 (4), pp. 32. Cited by: §8.
  • Y. Wang, C. Hu, and Y. Tseng (2007) Efficient placement and dispatch of sensors in a wireless sensor network. IEEE Transactions on Mobile Computing 7 (2), pp. 262–274. Cited by: §1, §8.
  • Z. Wang, A. C. Bovik, H. R. Sheikh, E. P. Simoncelli, et al. (2004) Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing 13 (4), pp. 600–612. Cited by: §2.
  • G. Xing, X. Wang, Y. Zhang, C. Lu, R. Pless, and C. Gill (2005) Integrated coverage and connectivity configuration for energy conservation in sensor networks. ACM Transactions on Sensor Networks (TOSN) 1 (1), pp. 36–72. Cited by: §7.2, §7.2, §8.
  • K. Yabuta and H. Kitazawa (2008) Optimum camera placement considering camera specification for security monitoring. In 2008 IEEE International Symposium on Circuits and Systems, pp. 2114–2117. Cited by: §8.
  • D. Yang, S. Misra, X. Fang, G. Xue, and J. Zhang (2010) Two-tiered constrained relay node placement in wireless sensor networks: efficient approximations. In SECON 2010, Vol. , pp. 1–9. Cited by: §8.
  • M. Younis and K. Akkaya (2008) Strategies and techniques for node placement in wireless sensor networks: a survey. Ad Hoc Networks 6 (4), pp. 621–655. Cited by: §1, §8.
  • H. Zeng, S. Zhang, F. Ye, V. Jeyakumar, M. Ju, J. Liu, N. McKeown, and A. Vahdat (2014) Libra: divide and conquer to verify forwarding tables in huge networks. In Proc. Usenix NSDI, Cited by: §1.
  • H. Zhang and J. C. Hou (2005) Maintaining sensing coverage and connectivity in large sensor networks.. Ad Hoc & Sensor Wireless Networks 1, pp. 89–124. Cited by: §8.
  • M. Zhang, R. N. Mysore, S. Supittayapornpong, and R. Govindan (2019) Understanding lifecycle management complexity of datacenter topologies. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Cited by: §1.
  • C. Zhu, C. Zheng, L. Shu, and G. Han (2012) A survey on coverage and connectivity issues in wireless sensor networks. Journal of Network and Computer Applications 35 (2), pp. 619–632. Cited by: §8.