## 4 Problem Solution
### Power Control Scheme  
In this subsection, based on the optimal device association strategy obtained in the previous section, the power of PDs is optimized to further improve the system energy efficiency. The optimization problem is transformed into **SP2**. \[\textbf{SP2}:\qquad\max_{\textbf{P}(t)}f(\textbf{P}(t))=\frac{ \sum_{i=1}^{l}R_{i}(t)}{\sum_{i=1}^{l}E_{i}(t)}\] \[\text{s.t.}\ C_{6}:0\leq P_{i}(t)\leq P_{\text{max}},\quad\forall i \in\mathcal{I},t\in\mathcal{T},\] \[\ C_{7}:R_{i}(t)\geq R_{thr},\quad\forall i\in\mathcal{I},t\in \mathcal{T}. \tag{13}\]It can be seen that the objective function of subproblem **SP2** is nonconvex and therefore cannot be solved using convex optimization theory. Furthermore, we use the idea of the simulated annealing algorithm and improve the algorithm to solve the power control scheme. The simulated annealing algorithm is derived from the solid annealing principle and is a probability-based algorithm [35]. The algorithm starts from a certain higher initial temperature, along with the decreasing temperature parameter, and combines the probabilistic sudden jump property to randomly find the global optimal solution of the objective function in the solution space; i.e., the local optimal solution can probabilistically jump out and eventually converge to the global optimum. The simulated annealing algorithm is an optimization algorithm that can effectively avoid falling into a serial structure of local minima and eventually converge to the global optimum by giving the search process a time-varying probabilistic jump property that eventually converges to zero [36]. The simulated annealing algorithm consists of two main parts, namely the annealing process and the Metropolis algorithm, which correspond to the outer and inner loops, respectively. The outer loop is the annealing process, which brings the solid to a high initial temperature \(T_{0}\) and then decreases the temperature in a certain proportion according to the cooling factor, and when the termination temperature \(T_{end}\) is reached, the cooling ends, i.e., the annealing process is finished. The Metropolis algorithm is an inner loop; i.e., at each temperature, it iterates \(L_{iteration}\) times to find the optimal value of the energy at that temperature, i.e., the maximum value of the objective function for the subproblem **SP2**. Specifically, the Metropolis algorithm accepts new feasible solutions with probability instead of using a completely deterministic rule, also known as the Metropolis criterion: if the current temperature is \(T_{now}\), where \(T_{0}\leq T_{now}\leq T_{end}\), in the iterative process, the current optimal solution wants to change from \(a\) to \(b\) when the function values of the two feasible solutions are calculated as \(f(a)\) and \(f(b)\). If \(f(b)>f(a)\), the function value increases; then, this optimal solution transfer is accepted, i.e., the probability of the current optimal solution transfer to \(b\) is 1. If \(f(b)\leq f(a)\), it means that the system deviates from the global optimal value position further. At this time, the Metropolis algorithm does not immediately discard it, but it carries out a probabilistic operation to generate a uniformly distributed random number \(\partial\) in the interval [0, 1]. If \(\partial<\mathbf{e}^{\frac{E(b)-E(a)}{T_{now}}}\), then accept the new feasible solution \(b\) as the current optimal solution; otherwise, keep the original feasible solution \(a\) as the current optimal solution and go to the next step, and the loop repeats. By the above way, the Metropolis criterion can prevent falling into local optimal solutions [37]. However, when the network size, the number of iterations, and the difference between the initial and termination temperatures are large, the simulated annealing algorithm will cool down particularly slowly, and it is likely to waste too much time to find a better solution.