Abstract
This article discusses a framework to support the design and endtoend planning of fixed millimeterwave networks. Compared to traditional techniques, the framework allows an organization to quickly plan a deployment in a costeffective way. We start by using LiDAR data—basically, a 3D point cloud captured from a city—to estimate potential sites to deploy antennas and whether there is lineofsight between them. With that data on hand, we use combinatorial optimization techniques to determine the optimal set of locations and how they should communicate with each other, to satisfy engineering (e.g., latency, polarity), design (e.g., reliability) and financial (e.g., total cost of operation) constraints. The primary goal is to connect as many people as possible to the network. Our methodology can be used for strategic planning when an organization is in the process of deciding whether to adopt a millimeterwave technology or choosing between locations, or for operational planning when conducting a detailed design of the actual network to be deployed in a selected location.
1 Introduction
This article describes a suite of tools to simplify the endtoend planning cycle of fixed millimeterwave backhaul and access networks. Our primary motivation for this work has been to support rapid and costeffective deployments of Terragraph, a technology developed by Facebook to replace fibers and create highspeed backhaul networks (tg). Terragraph is a 60 GHz, multinode wireless system focused on bringing highspeed internet connectivity to dense urban areas. Utilizing commercial offtheshelf components, the Terragraph system is optimized for high throughput at low cost. Millimeterwave backhaul and access networks, similar in architecture and design to Terragraph, are expected to be a key component of 5th generation (5G) mobile communication systems (pi).
Planning deployments of millimeterwave networks poses unique challenges, not encountered during rollouts of previous generations of networks. First, the high path loss of millimeterwave signals and densification of the corresponding access network leads to relatively large numbers of nodes per square km. Manual planning is extremely time consuming and inefficient, thus not scalable. Second, as diffraction is not significant at these frequency ranges, line of sight or at least a firstorder reflected path is required to form a link. Hence accurate and deterministic knowledge of streetlevel clutter is required to predict wireless connectivity between nodes. Finally, the mesh topology of these networks requires network optimization techniques to maximize service availability and other key metrics. Incorporating such constraints when doing a manual design is extremely difficult, even for relatively smallscale networks and for an experienced network designer.
In this article, we describe a fullyautomated network planning system put forward to overcome the abovementioned challenges. After selecting a potential area where Terragraph is going to be deployed, we capture 3D LiDAR (Light Detection and Ranging
) images of the area. Using computer vision and machine learning techniques, we automatically identify potential sites where we can deploy network nodes. We also determine
lineofsight (LoS) path availability between those sites. Typically, only a fraction of these potential sites will be required in the final network but the more sites that are available as potential sites the more flexibility the designer has to optimize the key metrics. After digital location data is generated from the images, we augment our dataset with the location of the available Fiber POPs (pointofpresence) and demand information. Although we will not expand much on demand information in this article, it roughly consists on determining the bandwidth required to be fulfilled in a set of points in the map which is what determines how much supply must be built. We use the network data generated from the images, the Fiber POPs and the demand information to build an integer programming model which is fed into a optimization solver that downselects sites and designs an actual network. The objective function is to minimize the total cost of ownership while satisfying a variety of constraints that ensure that the network is adequate. The constraints include satisfying demand and respecting engineering design limits for latency, reliability, capacity, polarity, etc.The remainder of this article provides details of our planning system and methodology. We start with a brief literature review in Section 2 to position our methodology with respect to other methods. Section 3 describes how we process the LiDAR data to generate a list of potential sites and connections between those locations. In Section 4, we explain the integer programming formulation that is used to design a network consisting of a subset of sites, connections and POPs, and we offer concluding remarks in Section 5.
2 Literature Overview
Given a set of nodes and links forming a graph, the network design problem aims to find a subgraph optimizing an objective function in which certain criteria are met. This problem arises in a broad range of practical applications such as logistics, transportation, supply chain and telecommunications. Since it is a classical problem there is a vast literature on this subject. We refer the reader to two of the earlier surveys on general network design problems by wong1976survey and minoux1989networks for a general background, and Kenningtonbook for a book specifically about wireless network design. Furthermore, winter1987steiner
surveys existing heuristics and exact algorithms for Steiner problem, which is a version of a network design problem in which one wants to connect a set of access points (also known as leaves, see Section
4.2). In the area of telecommunications, klincewicz1998hub and campbell2012twenty review the literature on hub location problems in backbone network design. For network design in transportation, magnanti1984network provide a great overview of models and algorithms. For network design in supply chains and facility location, shen2007integrated and melo2009facility discuss many interesting applications and models. In relation to wireless network design, pathak2011survey and benyamina2012wireless review the design of mesh networks. They discuss several crucial challenges such as finding the right topology, what routing protocol to use, as well as how to capture interference and reliability. Although our network design problem has similarities to these models, and to facility and hub location problems, it has many aspects that distinguish it from the design of mesh networks. Indeed, these models typically consist of a singlestage design problem, whereas millimeterwave network design (including Terragraph) is a hierarchical problem: they networks require (1) the selection of street furniture to set up sites, which typically require conditioning and rental, and (2) the placement of antennas (called nodes) on sites which typically require acquiring and installing the harding and then covering operational expenses such as electricity consumption. The definition of an edge in the network design problem requires to consider both layers in the hierarchy since communication between sites is possible only if antennas pointing to each other are deployed in two sites that are within each other’s line of sight.From the computer vision perspective, earlier work on road furniture detection, such as doubek2008mobile, was based on images and videos. However, 3D LiDAR data have become more widespread because one can avoid the illumination and background confusion problems that frequently occur with 2D images. In terms of polelike object detection from point clouds, some of the proposed slicingbased methods can only handle antenna attachments at the bottom or on the top but not in the middle of the trunks (luo2008rapid, pu2011recognizing, cabo2014algorithm). Cylinder detection methods that rely on the circular shape of poles are only feasible with closerange scans that are mostly available in indoor environments (press2004approaches, aschoff2004algorithms)
. For outdoor data, the trunks are actually degenerated to linear shapes, which could be classified using local point classification methods. As for point classification, most previous methods only classify the points into one of three basic categories: linear, planar and volumetric
(lalonde2006natural, demantke2011dimensionality). yokoyama introduced the poletrunk classification, and jing further distinguished between points that are part of a wire and the general linear points. The method we describe in this article incorporate all the point classification categories mentioned earlier. In addition, to the best of our knowledge, this is the first work that is able to compute lineofsight among poles based on LiDAR data.3 Generation of Sites and Connections using 3D Computer Vision
Millimeter wave technologies such as Terragraph need to place equipment in distribution nodes (DN) that connect with each other. These nodes form the backhaul network that enables fast transmission between Fiber POPs and the client nodes (CN) connected to the (virtual) demand nodes that represent users. Figure 1 shows a Terragraph site in which multiple antennas (nodes) are deployed in a street pole.
The initial step of the network planning process consists in performing a site survey to construct a list of potential sites for DNs. Traditionally, this has involved walking the streets to do a manual inspection of the deployment area with the goal of identifying potential installation locations and estimating RF propagation ranges. We built a methodology that allowed us to automate this process relying on 3D computer vision and machine learning. Our approach effectively reduces the time required for site surveys, while also also making the process more accurate and comprehensive. We use LiDAR, short for Light Detection and Ranging, which is a remote sensing technology that can measure the distance to any surface using lasers. The output of LiDAR data collection for an area is a point cloud that consists of a list of points with their threedimensional coordinates. We collected the raw data using vehiclemounted LiDAR system at average sampling of a point every 3 cm with a measurement error of up to 4 cm. Subsequently we postprocess the data by georeferencing it (to a unique world coordinate system). Finally, to allow us to perform computervision analysis efficiently, we downsample the point cloud to a density of a point every 10 cm. As an example, Figure 2(a) shows a LiDAR point cloud captured for a small urban area.
Our goal is to use the LiDAR data as input to identify potential deployment sites. However, each point in the LiDAR point cloud only contains information about its coordinates, and possibly the RGB color values. It is best thought as pixels forming a bitmap image, but in 3D. This means that we receive an input with no labels or annotations describing what each point represents. To transform the point clouds into data that can be further processed and fed into the network design problem, we apply 3D computer vision algorithms to detect poles (e.g., light poles, electricity poles, traffic lights, etc.) and label them as potential sites where network equipment can be deployed. Furthermore, with LiDAR data capturing all street objects, we analyze whether there is lineofsight between nearby sites to propose clear paths for radio propagation. Our LiDAR processing methodology consists of three main modules: preprocessing, pole detection, and lineofsight analysis, which we describe in detail in the following sections.
3.1 LiDAR PreProcessing
The first step of the preprocessing module is to perform point classification using Principal Component Analysis (PCA), followed by hashing the classified and filtered points using UTMprojected coordinates into 1mby1m grids for efficient neighborhood lookup operations. We end the preprocessing by removing ground points based on the classification results and, optionally, removing irrelevant points. Figure 2 provides a block diagram for the preprocessing flow with sample data and result at each major stage. In the following sections, we explain those steps in more detail.
3.1.1 Point Classification by PCA
We detect poles relying on the fact that they contain a linear vertical stem. In addition, depending on the specific type of pole, there might be other linear components connected to the stem, such as a pole arm or wires. Instead, other street objects are usually characterized by planar structures (e.g., buildings), or by volumetric structures (e.g., trees). Therefore, classifying linear, planar and volumetric structures is a crucial step to classify points in the cloud. Inspired by the algorithm developed by jing, for each point , PCA is done in the neighborhood of radius centered at , using all points within the radius. The points in the neighborhood can be efficiently searched using a
dimensional tree. The three resulting eigenvalues
produced by PCA satisfy:
for a linear neighborhood;

for a planar neighborhood; and

for a volumetric neighborhood.
We apply the distribution features as in yokoyama:
(1) 
where the coefficients and represent weights set empirically to adjust the sensitivity to each class. We use indices in the set to indicate point neighborhoods that are linear, planar or volumetric, respectively. The dimensionality feature is then used to classify the distribution of point ’s neighborhood based on the strongest feature
. For a linear neighborhood, the dominant eigenvector
(corresponding to ) indicates the direction of the linear distribution, so we can use (2) below to classify whether the neighborhood is likely to be a pole stem, which should be vertical. To test this condition, we calibrate a threshold , and use the condition:(2) 
Similarly, for a planar neighborhood, we use the direction of the eigenvector (corresponding to the thirdlargest eigenvalue ) to determine if it represents the ground. If so, should be vertical since it would normal to a horizontal plane. In the above classifications, points which are part of wires will also be classified as linear points. However, it’s important to discern wires from other linear neighborhoods because

Wires are not part of the pole and should be removed from the detected pole components;

Wires usually connects multiple poles and will prevent the clustering of individual poles if not removed;

Wires can be used as a feature to recognize utility poles from other structures.
We rely on two properties of wires to differentiate them from other linear neighborhoods:

Wires are mostly thinner than other linear pole components;

The principal direction of wires is typically horizontal.
As suggested in jing, we classify points that are part of a wire using a stricter distribution feature , similar to in (1) but with a much larger value of :
(3) 
Based on experimentation with the data we collected, though, we found that (3) alone is not enough to classify wire points because sometimes several wires lining up in parallel can result in a planar neighborhood. We use a smaller neighborhood with radius whenever a planar point is found in radius , and we reclassify it as a wire point if is the dominant feature in the neighborhood.
After calibrating these procedures with actual data, we set , , , , and . Figure 2(b) displays an example of the result of the classification where different colors represent different components.
The computational complexity of these procedures is roughly . Here, is the number of points in the LiDAR point cloud, which can be very large (i.e., of the order of a billion points). This makes computing PCA for every point very time consuming. We improve the runtime by only considering a sample of points: we select a single point in each neighborhood of radius (which may be different from the radius used to compute PCA), and the classification of the point is propagated to all other points within the neighborhood. Experiments show that setting results in a significant speedup with few point misclassifications that won’t lead to a large difference in pole detection results.
3.1.2 Snapping Data in Point Cloud to a Grid
In a typical point cloud, points are stored in an unordered data structure and can be permuted in any way without changing the data represented by the cloud. Largescale urban point clouds consist of georegistered uniquelyidentifiable coordinates, split in multiple separate segments of data. Storing data this way, albeit simple, makes it inconvenient and timeconsuming to look up points in a given neighborhood since all the points from all segments of data must be considered to select those at close proximity. A better storage mechanism is needed to allow us to obtain points in a certain neighborhood, which is required to look up external data and municipal databases with geocoordinates, and check lineofsight, as described in Section 3.3.
To improve the cloud point retrieval strategy, we hash data into a 1mby1m grid. Each grid point^{1}^{1}1We highlight the difference between ‘cloud point’ which refers to the original points and ‘grid point’ which refers to the vertices that compose the grid. As we discuss here, each cloud point is mapped to a grid point, and each grid point represents a set of cloud points. has two hashed ids using the integer values of UTMprojected coordinates. The elevation is not hashed because it is usually bounded by the building height. For each grid point, we store an unordered list containing all cloud points snapped to it, together with the number of cloud points of each class. This data structure permits us to efficiently look through all points near specific geocoordinates, by simply checking the grid points with the hashed ids corresponding to coordinates nearby. Moreover, merging data from multiple segments can be simply done by merging grid points with the same hash ids. We rely on this data structure to execute the procedures described in the following sections efficiently, including filtering, retrieval of pole component points, and lineofsights analysis.
3.1.3 OSM Filtering and Ground Removal
Open Street Map (OSM) (osm) is a collaborative public project to create a free editable map of the world. Its data contains nodes and ways, where nodes mark specific geographical locations, and ways connect multiple nodes to represent streets. For visual understanding of street objects using groundbased LiDAR point cloud data, it is advisable to remove any points not close to streets because they have a lower point resolution from groundbased LiDAR capturing, and are usually fragmented and noisy, thus can easily lead to false positives in object detection.
With the point cloud data hashed into a georeferenced grids, as described earlier, it is simple to label points close to OSM ways. The idea is for each way in the area, find all grid centers within a certain distance (using hash ids / geocoordinates) and label them as close. After processing all ways in the area, any grid center not marked as being close will be marked as being far, and will be filtered out in later processing. All points stored in a grid will follow the label of that grid center.
Besides filtering points far from OSM ways, we also remove points classified as ground by PCA because they take a large portion in the point cloud and are not considered to be part of any street object. Figure 2(c) shows the result of this process with ground points removed and points far from OSM ways colored in black.
3.2 Pole Detection
With the point cloud preprocessed, we move to the next step which consists of pole detection. Figure 3 provides a block diagram for the pole detection flow with sample results at each step.
This module starts with the preprocessed LiDAR point cloud data (Figure 3(a)). The first step is to locate potential pole stems by clustering points classified as stem points (linear neighborhoods in vertical direction, see Section 3.1.1). This will include not only real pole stems, but also other vertical linear structures such as tree trunks and building edges. To obtain pole stem candidates, we cluster stem points that share the same or nearby coordinates, as shown in Figure 3(b). The pole stem candidates are then filtered by attributes such as height and ground level. Ground level is obtained from coordinates of ground points in the same grid cell as the candidate stem or nearby grid cells. As an example, the result of this filtering procedure is shown in Figure 3(c).
Since in some cases one may prefer to mount equipment in the arm attached to the pole, the algorithm will try to retrieve other components of the pole besides the stem. Points close to the pole stem candidates are retrieved and merged together, as shown in Figure 3(d). This can be done efficiently using the grid explained in Section 3.1.2, by checking all hash ids that are within a certain distance to stem coordinates. Afterwards, we use a clustering algorithm to group together nearby points into standalone objects (Figure 3(e)), which are considered as potential candidates of full pole clusters. Finally we classify these clusters to differentiate poles from other objects like trees or buildings. This is done using the constraints listed below. To complete the example, Figure 3(f) illustrates the poles identified after applying the constraints.

Total height is between 5 m and 30 m;

Pole stem base value is close to ground level (referring to nearby ground points);

Maximum ratio of planar and volumetric points are 60% and 75%, respectively;

Minimum ratio of linear stem points and all linear points are 10% and 20%, respectively;

Among points within the highest 40% range, volumetric points are fewer than 50% (used to filter trees), unless there are enough wire points nearby (to keep utility poles);

Further clustering points only within the lowest 20% range, then total area size of all resulting clusters is less than .
3.3 LineofSight Analysis
Since millimeter wave technology requires LoS to enable transmission between nodes, determining the visibility between sites is a crucial aspect when building the input to the network design procedure. Signal propagation paths between network radio sites have been traditionally surveyed by engineers onsite. This manual approach often proves to be both timeconsuming and errorprone. In addition, these surveys typically include visiting sites with a bucket truck, which is costly and inconvenient since it disrupts traffic. Lighterweight approaches such as using OSM could also be used to validate if buildings block the LoS between sites, but we have seen that these methods fall short of providing the needed accuracy, on the one hand because of missing or wrong information, and on the other because the database does not have information related to other obstacles such as foliage.
Because of those limitations, we turn to LiDAR data because it offers a more accurate 3D representation of all the street objects, and thus it is the ideal medium to perform LoS analysis and obtain available signal paths. The LiDARbased LoS analysis algorithm consists of the following steps. For each pair of sites (i.e., poles detected in the previous step) that are within the maximum transmission distance (e.g., 300 meters), the algorithm checks the number of points close to the 3D segment that connects the coordinates of the two sites at a specific height. We add the pair of sites to the list of paths with LoS when the number of cloud points close to the segment between those sites does not exceed a threshold. Counting the points can be done efficiently through the hashed data grid described in Section 3.1.2
because only the corresponding grid points need to be checked by computing the distance between the coordinates of the original point and the 3D segment. The LoS algorithm is calibrated by adjusting the height and the threshold point count to maximize precision and recall. Figure
4 shows the result of the automatic LoS analysis. The algorithm considers different possible heights to account for all possible signal paths. This allows us to detect the possibility of going on top of short trees or between building gaps. Manually detecting LoS in some of those cases is hard if the human surveyor is standing at ground level and estimating the visual reach from the top of a pole. This alone was a frequent cause of mistakes in the manual datasets previously used as inputs.Alternatively, OSM can be used to propose all LoS with no building occlusion, and subsequently LoS is refined through LiDAR to detect other street obstacles such as trees. This approach is faster than using LiDAR alone, and is specially useful in areas where LiDAR data is incomplete. At the same time, it might overestimate building occlusions in some areas of the world because OSM does not have detailed 3D data of buildings.
4 Integer Optimization for Terragraph Network Design
Given the list of potential sites (i.e., poles) and connections (i.e., paths) computed by the methodology described in Section 3, the next step is to select a network spanned by a subset of the potential sites. To design the network, we need additional data such as the location of Fiber POPs and demand measures as the connectivity requirement. We add POP information as a yes/no attribute to the potential sites. Demand is represented by demand points. Depending on the planned design, this can be encoded by having demand points representing individual buildings for which there must be connectivity, or by creating a uniform grid (say, by placing a demand point every 30 meters) when one is designing for blanket coverage WiFi provisioning.
Since antennas have a limited operation angle and finite throughput, each deployed site (DN) will commonly include multiple antennas pointing in different directions (see Figure 1). We refer to each of these antennas as a sector. In addition, in our network representation, we also include other connection capabilities of DNs such as WiFi, LTE access points and Internet Fiber POPs as additional (virtual) sectors. In summary, we associate multiple potential sectors to each potential DN, forming a hierarchical network structure. Obviously, we can and will only deploy the sectors if the DN is deployed.
We model the Terragraph problem as a hierarchical network design problem combined with a flow problem on a network where the nodes represent the sets of DNs, CNs, POPs, and the demand locations. Each node is associated to the sectors that are available in it, and network links are included for any two sectors that can connect to each other as explained in Section 3.3. Notice that there are different types of links: two DN sectors or a DN and a CN sector can communicate using Terragraph hardware, a CN sector can be connected to a demand node in that location with a wired Ethernet link, and a WiFi sector can connect to demand nodes that are within transmission range. We formulate the problem as an Integer Program (IP). This methodology gives us the flexibility to express the requirements that the network must adhere to. At a high level, we build the network that satisfy demand at minimum cost. We now describe the mathematical programming formulation in detail and, Section 4.2 explains the heuristics employed to scale the solution procedure and solve realworld problem instances.
Inputs to Optimization Model
The description on the problem relies on the following input parameters for the area where the deployment is being considered. Besides the DNs and LoS which are computed using the methodology described in Section 3, the rest of the basic input data is gathered manually and processed to generate the following information. The node data is given by:
 :

Set of potential distribution node sites (Section 3).
 :

Set of potential client node locations (only in configurations where the Terragraph backbone is used to connect buildings to the leaves of the network using wired connections).
 :

Set of potential Fiber POP locations.
 :

Set of demand locations (depending on the input configuration, this set may include the buildings that need to be connected, one point in the centroid of each city block, or a uniform grid covering the deployment area).
 :

Singleton set containing the source node used in the network flow problem.
 :

Set of all sites, defined as .
 :

Cost of deployment for location .
 :

Demand at demand location .
Potential connections are given by:
 :

Set of all possible DNDN connections (as computed in Section 3).
 :

Set of all possible connections between nodes in ( is augmented with connections between other node types).
 :

Connection throughput between nodes (maximum transmission capacity if corresponding sectors are used exclusively for this connection).
 :

Connection quality between nodes
(probability that connection works).
The input related to potential sectors include:
 :

Set of potential sectors that can be built on site . For DNDN and DNCN connections, the set can be thought as a set of possible orientation angles of the sector when mounted on the street furniture. In addition, sectors may include other connections such as WiFi and LTE access points.
 :

Set of potential sectors, defined as .
 :

Set of sites that sector at site can communicate with. Notice that only if for some .
 :

Cost of deploying sector at site .
Decision Variables in Optimization Model
The decisions variables used by the IP are given by:
 :

is 1 if site is deployed, otherwise.
 :

is 1 if sector on site is deployed, otherwise.
 :

flow sent through connection .
 :

flow sent through connection for demand location .
 :

time division multiplexing at connection .
 :

is 1 if the coloring of site is red, 0 otherwise (optional). Colors red and blue represent synchronization periods which may be used by Terragraph to reduce interference between simultaneous transmissions.
 :

is 1 if the coloring of site is blue, 0 otherwise (optional).
Formulation of the Optimization Model
Both inputs and variables are combined in the following formulation. A crucial objective is to minimize the total cost of ownership, which includes cost of hardware and operational expenses (e.g., remediation costs necessary to make all the selected sites a viable antenna location, rental cost, energy cost, etc). Note that alternative objective functions can easily be considered in this setting (see Section 4.1). Letting to be the cost of activating site and to be the cost of activating sector at site , we would like to find the subset of sites and sectors that provides the minimum total cost:
(4) 
As mentioned earlier, we introduced a supersource node in referred to as to represent Internet traffic that goes into the network through the POPs. This node includes connections in to all POPs. Variables denote the flow sent through connection . We ensure that these flows represent valid traffic using flow balance constraints, which state that the total incoming flow is equal to the sum of the total outgoing flow and the demand at that location:
(5) 
where
and . As a result of the flow balance constraints, each demand location has at least one path to an active POP that forwards the traffic directed to it.
The binary decision variable represents if site is selected to be a part of the final network design. A site may only have nonzero incoming or outgoing flow when it is active:
(6)  
(7) 
Since in this formulation, we satisfy demand at minimum cost, we assume that demand locations are always active: for .
Next, sectors must be selected to enable connections between sites. Indeed, a nonzero flow from site to site can only be achieved if the corresponding sector at site is deployed. In addition, a sector at a potential DN or POP site can be activated only if site is also active.
(8)  
(9)  
(10) 
The next set of constraints encode the requirements for CN connectivity coming from the Terragraph design. At potential CN locations that are active, we assume that there is at most one sector connecting to a demand location and at most one sector connecting to another DN or POP. The following constraints ensure that in an active CN , the number of sectors facing a DN/POP can be at most one, and that the number of sectors facing a demand location can be at most one.
(11)  
(12) 
We also ensure that each demand location is covered by exactly one CN location. This is typically used to select the best CN among alternatives to connect to a building.
(13) 
If a pointtomultipoint configuration is used, Terragraph sectors send and receive transmissions using time division multiplexing (TDM). We model TDM using decision variables that represent the fraction of time uses to transmit to . We assume that a connection can be done using a unique pair of sectors in and .
(14)  
(15)  
(16) 
Constraint (14) states that the flow on connection cannot exceed its effective throughput. For a sector at site , (15) and (16) state that the TDM fractions cannot exceed 100%. Both constraints can be merged into one if transmission and reception cannot be done at the same time. If sector is not active, these constraints prevent transmissions between and .
Finally, sites may have polarities, which are used to decrease the interference caused by other signals over the area. Ideally, the designed network should form a bipartite graph and sites should belong to two distinct classes without transmissions among sites belonging to the same class. The two polarities are used by The Terragraph protocol synchronously transmits from sites with one polarity in one period and then from sites with the other polarity in the next one. This is an easy version of a well known problem in graph theory called the graph coloring problem. The following set of constraints assign a polarity to each site such that no adjacent sites and have the same polarity. We let and be the binary decision variables representing the two possible colors of a site . When the site is deployed, exactly one of those variables is set to 1 to designate the corresponding color.
(17)  
(18)  
(19) 
Constraints (18) and (19) ensure that two sites that have direct communication have different color assignments.
Finally, we need to provision the network with service quality exceeding the minimum requirements. We approximate the probability of all demand locations can be successfully connected by taking the weighted average of the log likelihood and constrain this to be above a threshold. Furthermore, we limit the average latency (as represented by the number of hops between POPs and demand locations).
(20)  
(21) 
where is a threshold for the minimum probability of providing connectivity to all demand locations, and is the maximum number of hops that a signal can travel. Both of these constants are tuning parameters that are set to ensure that the quality of service of the resulting solution is appropriate for the deployment that is being planned.
4.1 Alternative Formulation: Maximize Connectivity for a Budget
The formulation is flexible enough to consider the case where there is a fixed budget
for the deployment, and the network is built to maximize the connection coverage. There are several ways to model this approach. We choose to minimize the total units of unsatisfied demand to avoid additional binary variables. Let
be the amount of unsatisfied demand at location . The resulting objective function (4) is(22) 
The values of are defined by a modified flow balance constraint for demand nodes:
(23) 
Finally, we add the budget constraint
(24) 
4.2 Solving the Problem
We solve the IP described earlier with a commercial solver, which can find feasible solutions and bounds to the optimal solution given by the linear programming relaxation. The optimal solution is found by intelligently searching the combinations of binary values that are feasible. Since ultimately the network design problem is NP hard, the solution time will degrade as instances get larger. We incorporated heuristic algorithms to quickly generate feasible solutions to speed up the branching procedure done when enumerating feasible solutions.
To simplify the problem, we solve the Terragraph network design problem into two stages: we first select the active sites and, then, we find sectors in those sites that allow us to deploy that network topology. We designed a heuristic for the first stage based on the similarity of this problem to the classical node weighted Steiner tree problem (karp), defined as follows. For a graph and a subset of terminal nodes , a Steiner tree is a subgraph of that spans all the terminal nodes. The node weighted Steiner tree problem aims to find a Steiner tree of minimum total node weight. Although, this problem is known to be NPhard, it has been deeply studied and there are many heuristics proposed in the literature that perform well. See winter1987steiner for a survey on Steiner problems in networks.
The goal of the Steiner tree problem is to connect the supersource node and all the demand locations in . The node weights are set to the cost of activating a site. As a result, the node weighted minimal Steiner Tree is equivalent to a subgraph of the input network that connects the supersource to all demand sites with minimal total site activation cost. In this study, we use a heuristic algorithm that makes use of shortest paths and minimum spanning trees to find a near optimal solution which is outlined in Algorithm 1 of sadeghi2013steiner. The algorithm starts with a graph . For our shortest path and minimum spanning tree calculations, we assign the edge costs as the activation cost of the site that the edge is originated from. At each iteration, we find a demand vertex that is not in with the shortest distance to any of the vertices in . Then, we expand with this demand vertex and the shortest path connecting it to . Once all the demand vertices are in , we obtain the minimum spanning tree induced from the vertices and edges of . As a last step, we remove the nonterminal vertices in with degree one since they are not necessary for connecting the terminal nodes. Consequently, the resulting tree is a Steiner Tree that connects the supersource vertex to the demand locations.
After a solution to the first stage is found, we set variables to 1 for the sites included in the Steiner tree and solve the IP described earlier to complete the solution. Fixing the Steiner tree substantially reduces the complexity of the problem and, consequently, we can solve larger instances much faster.
Figures 57 provide an example corresponding to a test instance. The first figure displays the potential sites (large green vertices) and connections (grey edges) as computed by the Computer Vision algorithm explained earlier. In addition, we include the grid that represents demand (small light blue vertices) and connections between demands and sites (green edges). The example considers a previouslyinstalled backbone that provides the initial connectivity (red edges) that must be augmented to connect as many of the demand vertices as possible at minimum cost, satisfying the constraints specified by the formulation. After running the network design algorithm, we obtain a solution, which we represent in Figure 6. It shows the actual sites (large green vertices) and connections (blue edges). As required, the network was completed to connect as many demand nodes (small light blue vertices) as possible at minimum cost. For a given solution, we have built postprocessing software that allows an operator to display the networks shown in the figures and modify the solution manually if desired. In addition, we compute key metrics that can be used to compare across possible alternative designs. The metrics for the example are shown in Table 1. Other possible metrics that one may compute include throughput, utilization, latency, reliability, availability, and cost.
Finally, we perform a sensibility analysis to illustrate the benefits of having an automatic network design framework. We ran our algorithm for different throughput requirement for each demand vertex on a subset of the previous instance with 1171 demand vertices and 182 potential DN sites. The demand is measured in multiples of a base level assigned for the regular instance. The runs were stopped when we either reached an optimality gap of under 10% or when the solution time reached 30 mins. In Table 2, we observe how the number of active DN sites, fiber POPs, antenna nodes, and WiFi access points change with the throughput requirement. DN sites are not sensitive to throughput requirements in the range we considered, but additional nodes and fiber POPs become necessary when throughput requirements are high. We reach a solution within 3 minutes on average and increasing throughput requirements does not affect solution times substantially.
5 Conclusions
We have presented a fully automated network planning system that enables rapid deployment of millimeterwave backhaul and access networks. This system has enabled us to design millimeter wave networks like Terragraph in dense urban areas more efficiently, faster and with more accuracy than manual methods. We use 3D computer vision to analyze 3D city LiDAR data and automate detection of sites, lineofsight and signal propagation information. Then we apply network optimization to compute deployments that jointly minimize cost and maximize demand served, taking into account the technological constraints that make a deployment feasible. Previously, it had been common to spend weeks on manual data collection and processing, then iterate with more manual work as requirements changed or some sites became infeasible for technical reasons. With the proposed approach, we collect 3D LiDAR data once, and then all iterations are done automatically using 3D computer vision and network optimization, with large savings in time and cost.
In the next phase of our work, we plan to evolve this planning system into an open, collaborative platform that can be used to design dense urban networks, which we believe will serve as a catalyst for widespread adoption of millimeterwave technology.
Comments
There are no comments yet.