**6.2. Utility-based selection**

∀ *P* >*P*0 the system achieves full multiplexing diversity, i.e., |*S*|=*rank*(**H**(*S*)). The metricbased user selection algorithms solve (4) in two phases. In the first phase *S* is selected in order to optimize a given metric and in the second phase the sum rate is evaluated for the previously defined set. This means that the user selection and the resource allocation problems are decoupled in this approach. The cardinality of *S* is fixed in the first phase and it may be modified during the second phase when the sum rate is evaluated. If power allocation is performed based on water-filling, this might yield a zero power allocation (no data transmis‐

In the literature of user selection several algorithms solve problem (4) optimizing the NSP by iteratively computing the sum of the effective channel gains each iteration. The optimum set that maximizes the NSP is given by the solution of (9) which is a combinatorial problem that requires the evaluation of *L Nt* matrix product and inversion operations. Therefore, the set *S* is found in a greedy fashion by selecting the user that locally maximizes the total sum of

*f* (∙ ). Given *S*(*n* - 1) in the *n*th iteration, the optimum new user *i* ∈Ω achieves the largest effective channel gain when its channel is projected onto the orthogonal subspace spanned by the previously selected users =*Sp*(**H**(*S*(*n* - 1))). In [10], [21] the authors evaluate iteratively at the *n*th iteration the intersection of the null spaces of the previously selected users *S*(*n* - 1) with each new candidate user by means of GSO. Using this technique, it is not necessary to extract the basis of the subspace spanned by the channel matrix (SVD) or to compute the orthogonal

further reduce the required computational complexity by approximating any of the its alternative forms described in Section 5.1.1. The algorithm proposed in [26] approximates (16) by using only the correlation coefficient between the users in *S*(*n*). The authors in [36] select users based on metric (17) where each user computes its own projector matrix and the algorithm approximates the NSP. The optimization of an approximation of the NSP yields a suboptimal set of users and performance degradation regarding to (8) yet some gains in terms of complexity are attained. The general structure of this kind of algorithms is presented in Alg. 1 and *f* (∙ ) is given by any metric defined in Section 5. Notice that the first selected user is the one with the strongest channel which not necessarily belongs to the optimum set. However, this criterion simplifies the initialization of *S* and does not yield a significant performance

Another relevant feature of this generic structure is given by the adjustment of Ω in each iteration. This is relevant in the large *K* regime where the number of operations required to find the next user is roughly *K* which can be computationally demanding. In order to reduce the total number of metric evaluations, an optimization over Ω can be performed. For instance, by performing an optimization similar to (25) per iteration for a given *ε*-orthogonality target whose optimal value depends on *K* and *Nt* [37]. The principle behind this optimization is that the candidate users must satisfy the hyperslab condition Ω(n)={**h***<sup>i</sup>* <sup>∀</sup> *<sup>i</sup>* <sup>∈</sup> <sup>Ω</sup>(n-1): cos *<sup>θ</sup>***h***<sup>i</sup>*

for a given vector **g** [21]. The metric-based user selection does not guarantee full multiplexing gain or sum rate maximization and authors in [10], [25] have proposed a second optimization

at each iteration [19]. Other user selection algorithms based on the NSP

*Nt*-1 (*K* - *k*) evaluations of the metric

**<sup>g</sup>** ≤*ε*}

sion) for some users due to the instantaneous value of *P*0.

40 Contemporary Issues in Wireless Communications

effective channel gains which roughly requires *L <sup>K</sup>* =∑*<sup>k</sup>* =1

degradation, specially in the large *K* regime [21].

projector matrix **Q***<sup>i</sup>*

This class of algorithms perform a joint user selection and resource allocation optimization by evaluating the global utility function (3) each iteration (e.g., [10], [11], [18], [38], [39]). The greedy algorithms are highly effective for sum rate maximization and well suited for ZF-based beamforming. However, they require the evaluation of the power allocation and the achievable sum rate for each unselected user in every iteration of the algorithm which involves matrix operations (e.g., SVD or GSO). The algorithm in [18] was extended in [10] by computing an inverse matrix operation based on the LQ decomposition avoiding the explicit calculation of the Moore-Penrose pseudo-inverse, and reducing computational complexity. The general structure of the utility-based user selection is summarized in Alg. 2. Notice that as in Alg. 1, the set *S* is initialized with the user with maximum channel magnitude which may not be part of the optimum set. This greedy selection does not attempt to maximize the multiplexing diversity since it will stop the search as soon as the aggregation of a new local optimal user *i \** decreases the overall sum rate. In the low SNR regime and for low values of *K*, such stop criterion highly improves the rate performance since power is allocated to strong users and there exist more degrees of freedom (DoF) at the BS to mitigate inter-users interference. This approach may face two drawbacks: 1) the achievable fairness at low SNR and low *K* regimes since less users are scheduled; 2) the complexity in evaluating at most *L <sup>K</sup>* times the achievable sum rate. The fairness issue can be tackled by changing the global utility function, e.g., maximizing the weighted sum rate in (3) using the proportional fairness approach [21], [25], [39]. The complexity problem can be alleviated by exploiting the properties of water-filling in order to reduce the computational load of some matrix operations. Further complexity gains can be obtained if the set of candidate users Ω is optimized each iteration, reducing the total number of sum rate evaluations. This refinement proposed in [10], [18] is called *Search Space Pruning* and is based on the fact that if water-filling allocates *pi* =0 to the *i*th user in Ω(*n*) at the *n*th iteration, such user cannot achieved a nonzero power allocation in future iterations.

**Alg. 2.** Generic structure of the Utility-Based User Selection

#### **6.3. User selection via integer optimization**

The sum rate maximization formulation in (4) is a combinatorial problem subject to mixed constraints. Some works in the literature reformulate the original problem similarly to the metric-based approaches, performing user selection (*S*) and resource allocation (**w***<sup>i</sup>* and *pi* ∀ *i* ∈*S* ) as independent processes [25], [26]. The NSP in Section 5.1 can be used to refor‐ mulate the utility-based selection presented in Alg. 1 as an integer program with linear objective function and linear constraint [26]. Let us consider that for each user *i* ∈Ω there exists a function *f <sup>i</sup>* that computes the NSP assuming pairwise orthogonality with user

*j* ≠*i*, ∀ *j* ∈Ω. By computing metric (23) over all users in Ω the intersection of the projection onto the null spaces for the *i*th user is given by:

$$f\_i = \left\| \mathbf{h}\_i \right\|^2 \prod\_{j \neq i} \sin^2 \theta\_{\mathbf{h}\_i \mathbf{h}\_j} \tag{32}$$

where *θ***h***<sup>i</sup>* **h** *j* can be calculated from (13). By applying a change of variables over (32) we have that *f* ˜ *<sup>i</sup>* =*ai* + ∑ *j*≠*i bij* , where *ai* =2log ( **h***<sup>i</sup>* ) and *bij* =2log (sin *θ***h***<sup>i</sup>* **h** *j* ). In this way, the component related to the channel gains and the one related to the spatial compatibility are decoupled and they can be used to model a bi-criterion problem [25] or to render the NSP into an integer problem [26]. The user selection based on the NSP seeks the maximum sum of the effective channel gains, which can be approximated by ∑*i*∈*<sup>S</sup> f* ˜ *i* subject to |*S*|= *Nt*. In order to introduce such constraint, we define the following binary variables:

$$\phi\_i = \begin{vmatrix} 1 & \text{if user } i \text{ is selected} \\ 0 & \text{otherwise} \end{vmatrix} \qquad \qquad \phi\_{\vec{\eta}} = \begin{vmatrix} 1 & \text{if users } i \text{ and } j \text{ are selected} \\ 0 & \text{otherwise} \end{vmatrix}$$

and the user selection modeled as an integer program based on the channel norms and correlation coefficients (13) is given by [26]:

$$\begin{aligned} \text{max.} \quad & \sum\_{i} a\_{i} \phi\_{i} + 2 \sum\_{i} \sum\_{j=i+1} b\_{ij} \rho\_{ij} \\ \text{s.t.} \quad & \begin{cases} \sum\_{i} \phi\_{i} = N\_{t} & \rho\_{ij} \le \phi\_{i}, \forall i, j & \rho\_{ij} \le \phi\_{j}, \forall i, j \\ \phi\_{i} + \phi\_{j} \le 1 + \rho\_{ij}, \forall i, j & \phi\_{i} \in \{0, 1\} & \rho\_{ij} \in \{0, 1\} \end{cases} \end{aligned} \tag{33}$$

Notice that the binary programming problem (33) is a reformulation of (24) and in contrast to the metric-based selection in Section 6.1, the order in which the users are selected has no impact on the orthogonality of the elements of **H**(*S*). The solution to the user selection problem is given by the binary variables *ϕ<sup>i</sup>* so that *S* ={*i* ∈Ω: *ϕ<sup>i</sup>* =1} and power allocation based on water-filling is performed over the set of selected users according to the employed precoding scheme. Since the objective function is convex and the constraints are given by affine functions, this problem can be solved by the pseudo-dual simplex method [7] for integer programs or by using standard optimization packages like MATLAB.
