# Optimal User Association Strategy for Large-Scale IoT Sensor Networks with Mobility on Cloud RANs
## 3 Problem Formulation
### Optimal Load-Balancing Association with Minimal Handovers  
The optimal solution from P. (2) allows achieving the optimal load balancing. In other words, it prevents the case when too much traffic is concentrated in certain RRHs. As mentioned above, it is important to prevent network congestion at such RRHs to avoid increase in the network delay. However, P. (2) does not consider the number of handovers. If the optimal solution is the same, which is lowering \(k\) in P. (2) as much as possible, the computer solver will choose an arbitrary solution from the ones yielding the same results; the specific behavior may differ depending on the computer solvers. Figure 2 illustrates two different decisions yielding the same optimal solution. RRH 1 and RRH 2 are installed within the network, and their transmission ranges are depicted with a dashed line and a solid line, respectively. In the overlapped region, there are two IoT devices \(a\) and \(b\), which are stationary. Both \(a\) and \(b\) are assumed to be transmitting the same number of data packets within each time slot, and both RRHs have the same amount of background traffic. In terms of the optimal objective value, both Figure 2a,b are equally optimal. Therefore, a computer solver may choose Figure 2a as the optimal solution at time \(t\) and Figure 2b at time \(t+1\). Such a strategy does not deteriorate the quality of the solution, but it incurs two handovers, one for \(a\) and the other for \(b\). In a large-scale network with many mobile IoT devices, this may cause the entire network overloading with numerous unnecessary handovers and the resulting control messages. To minimize the costs caused by frequent handovers, we propose introducing a revision of P. (2). For each time slot, once the optimal solution is found, we store the optimal solution \(\mathbf{X}\). As each element in the matrix is binary, it only requires \(|\mathcal{R}|\times|\mathcal{I}|\) bits to store the optimal solution. Thereafter, at time \(t\), we take the differences between the previous optimal decision \(\mathbf{X}_{t-1}\) and the current one \(\mathbf{X}_{t-1}\) into consideration. Obviously, minimizing the difference between these two decisions will also allow minimizing unnecessary handovers. The revised problem formulation is provided below (called P. (3)):  
\[\min_{\mathbf{X}t} \ \alpha\times\frac{1}{c}k+(1-\alpha)\frac{1}{2|\mathcal{I}|} \left\|\mathbf{X_{t}}-\mathbf{X_{t-1}}\right\|_{1} \tag{3a}\] \[\forall r\in\mathcal{R} :\ b_{r}+\sum_{\forall i\in\mathcal{I}}l_{i}\times x_{r,i}\leq c\] (3b) \[\forall i\in\mathcal{I} :\ \sum_{\forall r\in\mathcal{R}}x_{r,i}=1\] (3c) \[\forall r\in\mathcal{R},\forall i\in\mathcal{I} :\ 0\leq x_{r,i}\leq n_{r,i}\] (3d) \[\forall r\in\mathcal{R},\forall i\in\mathcal{I} :\ x_{r,i}\text{ binary.}\] (3e) \[\forall r\in\mathcal{R} :\ b_{r}+\sum_{\forall i\in\mathcal{I}}l_{i}\times x_{r,i}\leq k\] (3f) \[k\text{ free} \tag{3g}\]  
In Equation (3a), \(\alpha\in[0,1]\) is a design parameter, and it determines the weight on the two terms. By adjusting the parameter, we can provide a different priority to each term in the objective. In the objective function, the inverses of two constants, i.e., \(c\) and \(2|\mathcal{I}|\), are multiplied by the first and second terms, respectively, to normalize each term. The first term still has the same variable \(k\) as defined in P. (2), while the newly added second term measures the differences in association between the current  
Figure 2: Different but equally optimal load-balancing decisions from the perspective of P. (2). (a) Association at time \(t\); (b) Association at time \(t+1\). and the previous decisions, \(\mathbf{X_{t-1}}\) and \(\mathbf{X_{t}}\), respectively. Being a design parameter, \(\alpha\) can take any value within \([0,1]\). If \(\alpha\) is small, the solution focuses more on minimizing the number of handovers than on enhancing the fairness performance. For large values of \(\alpha\), P. (3) will yield the opposite results.