## 4 Algorithmic Approaches
In total, we considered 31 connected networks, including randomly generated ones. Notice that the benchmark network from [[https://www.topology-zoo.org/](https://www.topology-zoo.org/)]([https://www.topology-zoo.org/](https://www.topology-zoo.org/)) (accessed on 4 June 2024)). has been used in references [23; 24]. A random network is created with random co-ordinates within 1 km\({}^{2}\). A randomly generated network is a type of network or graph that is created using a process that includes some element of randomness. Instead of following a fixed pattern, the connections (or edges) between the points (or nodes) in the network are established according to certain probabilities. For example, in a simple, randomly generated network, each possible connection between two nodes might be added with a certain probability, like flipping a coin for each pair of nodes to decide whether they are connected or not. This randomness makes the structure of the network unpredictable and can result in a wide variety of different shapes and connection patterns. We consider only connected random networks. After generating the co-ordinates for each node, we connect the network either sparsely or fully. A sparse network means it is connected, but not every pair of nodes is linked directly, whereas a fully connected network means every pair of nodes is connected directly. Random networks are useful in various scenarios, including disaster situations where the exact node positions are initially unknown. The parameters used in Algorithm 1 are as follows. \(IterMax\) and \(MinGlobal\) are initially set to the values of 50 and \(\infty\). Next, the entries of vector \"c\" are drawn randomly from the interval \((0;1)\). We implement a Python program using the Gurobi Solver version 11.0.1. Gurobi solver is a powerful optimization tool widely used in mathematical optimization. It is capable of solving a broad range of problems, including linear programming, mixed-integer programming, quadratic programming, quadratic constraints programming, and mixed-integer quadratic programming. Recognized for its efficiency and speed, Gurobi employs advanced algorithms and optimization techniques to solve complex problems quickly and effectively [4]. Because it is designed to enhance modern computational architectures, it is well-suited for large-scale optimization tasks. Substantial numerical experiments were conducted to compare the performance of the proposed models \(M_{1}\), \(M_{2}\), and \(M_{3}\) and the proposed algorithm. Python code was implemented using the Gurobi solver for this purpose. The maximum CPU time allowed is limited to 1 h. Hence, if an objective value reported takes 3600 s or more, it means the solver is reporting the best solution obtained within 1 h. Otherwise, it corresponds to an optimal solution to the problem. The experiments were conducted on a Mac with the following technical specifications: 8 GB of RAM, dual-core Intel Core i5 processor running at 1.8 GHz, and operating system Mac OS Monterey 12.7.5. The experiments involved 13 real benchmark networks with known latitude and longitude locations, where the distance matrix, \(D\), corresponds to the Dijkstra distance between these locations. Additionally, 18 randomly generated networks were created as fully connected graphs. Each node and user co-ordinate was generated within a square area of 1 km\({}^{2}\) using a uniform distribution function. Consequently, each entry in the input distance matrix, \(D\), was computed using these co-ordinates. The experiments were evaluated under three scenarios, with each obtained while varying the density of controllers in the network. The densities used were computed as 20%, 30%, and finally, 40% of the total nodes of the network using the ceiling function. In Table 1, we describe each of the benchmark networks under study. More precisely, we displayed the name of each network in each column. The first, second, and third rows show the number of nodes, the number of edges, and the density of each network, respectively.