# An Integrated Access and Backhaul Approach to Sustainable Dense Small Cell Network Planning
## 3 Problem Formulation
### Greedy Approach to Multi-Hop Optimization Problems  
The multi-hop problem formulated in the last section is characterized by its non-convex and mixed-integer nature and the non-convexity of the problem arising from the constraints involving products of decision variables (e.g., \(R_{ij}Y_{ij}\)), and the constraints involving a function of the SNR with respect to distance, which could be non-linear depending on the specific form of \(f(x)\). Non-convex problems are generally more difficult to solve due to the potential existence of multiple local optimal solutions. This class of problems can be solved efficiently using heuristic or metaheuristic approaches [20]. It should be noted that the results of these methods are not guaranteed to be the optimal solutions but they will efficiently achieve good sub-optimums. To solve this complex problem, we consider using a greedy algorithm, an iterative algorithm that makes the locally optimal choice at each stage with the hope of finding the global optimum. The algorithm is divided into two stages: the coverage stage (Algorithm 1) and the backhaul stage (Algorithm 2). In the coverage stage, we aim to cover every grid. The network is initialized with the deployed donor only. The potential node locations are sorted by their capacity to cover uncovered grid points and iteratively added to the network if they are within the backhaul radius of a donor or another node in the network, resulting in updated covered grid points. ```
Input :Area: area needs to be covered, for example: 1000 m * 1000 m  Potential_nodes: List of potential locations to deploy nodes  Network_nodes: List of initialized donor nodes and nodes to be decided  Coverage_radius: Radius for access coverage, for example: 200 m  Backhaul_radius: Radius for backhaul coverage, for example: 300 m  Area: Updated covered areas  Potential_nodes: Updated list of potential nodes  Network_nodes: Updated list of network nodes
1 whilethere exist uncovered areado
2 Filter potential_nodes within backhaul_radius of any donor in network_nodes;
3 Sort the filtered potential nodes by their uncovered coverage potential;
4 iffiltered list is emptythen
5 break;
6 else
7 Add the highest potential node to network_nodes;
8 Mark area covered by this node;
9 Remove this node from potential_nodes;
10 end while
11 end while
12 return Area, potential_nodes, network_nodes;
```  
**Algorithm 1**Coverage Stage  
In the backhaul stage, the objective is to establish a coherent data flow topology. Taking into account the imperatives of reduced latency, augmented reliability, and enhanced throughput, a strategic inclination towards maximizing single-hop connections is promoted. This strategy facilitates a hierarchical structure where nodes, post their one-hop deployment, serve as anchor points for subsequent multi-hop connections, thereby ensuring comprehensive coverage, especially for nodes that lie beyond the donor's backhaul radius. Given the incorporation of directional antennas for the backhaul connections, interference is substantially minimized. Moreover, the rich spectrum afforded by mmWave technology provides the requisite bandwidth to accommodate a profusion of direct, one-hop connections. To methodically realize this network topology, we initiate a graph with the donor nodes as root vertices. Subsequently, deployed nodes are based on their proximity to the donor or the closest deployed node. Each node is then tethered to the nearest donor which fulfills the data rate prerequisites, thereby engendering a potential network linkage. Nodesthat are incompatible with these stringent constraints are relegated to a waiting list for subsequent analysis.