Resource Management for Rate Maximization with QoE Provisioning in Wireless Networks

—In this work, we study the problem of allocating resources in a multi-service cellular network aiming at maximizing the total system rate while providing suitable Quality of Experience (QoE) to the network users. In our formulation, we try to satisfy at least a certain number of users per service plan, which is an important constraint from the mobile network operators’ perspective. We manage to reformulate this nonlinear optimization problem as an Integer Linear Problem (ILP), that can be solved by standard methods. However, due to the exponentially high complexity to solve large instances of this problem, we propose and evaluate a suboptimal algorithm with a much lower complexity, called Rate Maximization under Experience Constraints (RMEC), whose main idea is to divide the problem into three smaller subproblems with reduced complexity. By means of computational simulations, we show that our proposed algorithm presents a near optimal performance and outperforms the state-of-art solution of the literature.


I. INTRODUCTION
The circuit-switched voice service was the dominant source of traffic on mobile networks during the first and second generations of cellular systems.The evolution of user devices and the advent of smartphones and tablets had an important influence on the rapid growth of the number of mobile networks users, leading operators to shift their focus to the many resource-demanding data-oriented services present nowadays in mobile networks.Following the expansion of the mobile communications, standards have been evolving to best meet users' needs.In this context, academy and industry are now discussing the 5 th Generation (5G) of mobile networks, which shall be released by 2020 [1].
The future trends indicate that more and more equipments will be connected to the mobile networks increasing the system load.Since the wireless resources are becoming scarcer and more expensive, operators are concerned about using them efficiently to achieve high transmission rates while providing high satisfaction to the users; this task is becoming more challenging with the increasing number of system users [2].
In order to evaluate the Quality of Service (QoS), operators usually make use of objective parameters provided by the network, such as throughput, delay and jitter.However, due to the numerous service types provided by mobile networks and the different requirements of each service, each user experiences a different level of satisfaction considering the same QoS parameters.Therefore, in order to better evaluate the specific user's requirements, Quality of Experience (QoE) models aim to provide a more subjective measurement of the services quality [3].Accordingly to [4], the QoE is defined as the perception by the user of the acceptability of a service.The users' QoE is often evaluated in the literature in terms of Mean Opinion Scores (MOSs), which consist in measurements of the QoE subjectively perceived by the users [5].
In [6]- [8], generic models presenting a mathematical relationship between QoS and QoE are proposed.In [6], the IQX hypothesis (exponential interdependency of QoE and QoS) is presented, which consists in an exponential relationship between QoS metrics and QoE.On the other hand, based on the Weber-Fechner law, which states that the human perception of a certain phenomena diminishes with the increasing magnitude of the stimuli, a logarithmic relationship between QoS and QoE is presented in [7], [8].
Other works also study and propose service-specific models to relate QoS and QoE, such as [9]- [12], which propose utility functions that map QoS metrics into QoE for web browsing, Voice over IP (VoIP), video streaming and 3D video traffic, respectively.
As aforementioned, higher system rates are highly desired in future mobile networks.In this context, the maximization of the total system rate is a topic well discussed in the literature.In fact, it is well-known that the rate of systems with orthogonal resources is maximized when we assign the resources to users that have better channel quality on each resource.However, this solution usually favors users close to the base station and leads cell-edge users to starvation [13].
In order to guarantee that all users in the system receive resources, some works study optimum resource allocation problems aiming at maximizing the total data rate maximization subject to QoS constraints [14]- [16].In [14], the optimal solution is provided as an Integer Linear Problem (ILP) and a low complexity heuristic is proposed.In [15], a scenario with non-real-time and real-time services is considered.Therein, only users subscribed in the real-time service have minimum QoS constraints given in terms of maximum packet delay and loss probability.In [16], the optimal solution of the maximization of the weighted sum of the users' rates subject to minimum individual QoS requirements is provided in a scenario where the system operator offers a video service to the users.Moreover, the users' QoS is given in terms of the minimum Bit Error Rate (BER) therein.
Notice that in [14]- [16], the network operator intends to satisfy all users.However, the network operator, in general, requires that at least a certain fraction of the users be satisfied per service due to resources scarcity and/or economic reasons [17], [18].In this context, in [19] the problem of maximizing the total system rate considering a multi-service scenario has been analyzed, where each service must have at least a certain number of users with their QoS requirement satisfied.The users' QoS is measured in terms of their individual throughput and the requirement is defined by the service the user subscribed to.Therein, the optimal solution for this problem is modeled and a low complexity heuristic, called Reallocation-based Assignment for Improved Spectral Efficiency and Satisfaction (RAISES) is proposed.Later, the authors extended their work to a Multi-User Multiple Input Multiple Output (MU-MIMO) case in [20].
Usually, the works about resource allocation considering QoE measurements intend to maximize the number of users having their minimum QoE requirements satisfied [21], maximize the minimum MOS of the system [22], [23], or maximize the energy efficiency of the system [24].To the best of our knowledge, no previous works discuss the rate maximization problem subject to satisfaction constraints based on QoE measurements.
In this paper, we consider the problem of maximizing the overall system rate subject to having a minimum number per-service of users satisfied with their minimum QoE requirements.Note that our problem extends the problem studied in [19] since we consider a more holistic manner of measuring the user satisfaction, i.e., QoE instead of QoS.We summarize our main contributions as: • We analyze the problem of maximizing the overall system rate in a multi-service scenario, considering that a fraction of the users of each service must have their QoE requirements met.We highlight that to the best of our knowledge, this problem was not considered in the previous literature; • We manage to reformulate the resource allocation problem as an ILP and solve it using standard algorithms; • We propose a low-complexity suboptimal solution that has near optimal performance and presents high scalability in terms of the problem inputs.Moreover, differently of [19], our algorithm also treats unfeasible instances of the problem producing near feasible solutions.The rest of this paper is organized as follows.In Section II, we present the system model considered in this work.In Sections III and IV, we describe the studied optimization problem and reformulate it as an ILP, respectively.In Section V, we propose a low complexity algorithm that provides a near optimal solution to our problem.In Sections VI, we evaluate the performance of our suboptimal algorithm and the optimum solution, as well as the performance of a state-of-art algorithm from the literature.In Section VII, we present our conclusions.

II. SYSTEM MODELING
We consider the downlink transmission of an Evolved Node B (eNB) located in the center of a sectored cell in a Long Term Evolution (LTE)-like wireless communication system.Each sector of the cell services a set U = {1, 2, . . ., U } of User Equipments (UEs) distributed on its coverage area.
The cell's eNB employs as multiple access scheme a combination of Orthogonal Frequency Division Multiple Access (OFDMA) and Time Division Multiple Access (TDMA), allocating a set K = {1, 2, . . ., K} of time-frequency Resource Blocks (RBs) to the UEs.Due to signaling constraints, an RB is the minimum allocable resource [25].Each RB consists of a set of Q adjacent subcarriers spaced of ∆f Hz in frequency-domain and a set of T consecutive symbols in time-domain, whose total duration corresponds to one Transmission Time Interval (TTI).In our analyses, each RB can be assigned to only one UE per TTI.We assume that the channel response of an RB k should remain approximately constant over its Q subcarriers during the period of one TTI.Thus, for a UE u, the channel response of RB k can be approximated by the complex channel coefficient h u,k of the first symbol transmitted to the UE over the middle subcarrier of the RB.
As the RBs are orthogonal to each other in time and frequency and there is no resource reuse inside a sector, there is no intra-cell interference among the UEs.However, the UEs might experience inter-cell interference from other sectors that share the same resources.Due to the stochastic behavior of wireless data traffic, the interference modeling and its mitigation in packet-switched systems is a challenging issue.In the literature, some works propose methods to mitigate the interference, such as coordination among eNBs and interference alignment [26]- [30].On the other hand, for the sake of simplicity, some papers treat the inter-cell interference as part of the Additive White Gaussian Noise (AWGN) added to the received signal in the UE, which is valid when the number of UEs and Base Stations (BSs) increases [31].More detailed/sophisticated interference modeling and mitigation is out of the scope in this paper.Therefore, we perform our analyses considering a scenario composed by a single sector of a cell and adopt the simplifying assumption that interference is incorporated as part of the AWGN.
We consider that the eNB and the UE are equipped with single antennas, i.e., we consider a Single Input Single Output (SISO) scenario.We also consider that the signal transmitted from the eNB to a UE experiences long-term fading, in terms of average path loss and shadowing, and short-term fading.
In this paper, the Radio Resource Allocation (RRA) problem consists of a snapshot optimization problem which is solved on a TTI basis.Hence, without loss of generality and for simplicity of notation, we will omit any TTI index.We consider that the eNB has a total available power P t , which is allocated to the RBs during the transmission.We also consider that Equal Power Allocation (EPA) is employed, so that the power p k allocated to the k th RB is given by p k = Pt K .The Signal to Noise Ratio (SNR) of UE u in the RB k is given by where the σ 2 denotes the AWGN average power in the frequency band of an RB.
We consider that the eNB employs a link adaptation scheme that allows to transmit with different data rates depending on the estimated SNR γ u,k of the UE u at RB k.Therefore, the data rate allocated by the eNB to the UE u in RB k is r u,k = f (γ u,k ), where f (•) represents the link adaptation function that maps SNR to rate values.
The total data rate allocated to a UE u is given by where K u ⊂ K is the subset of RBs allocated to the UE.The UEs' QoE measurements are given in terms of their MOSs, which depend on the multimedia applications used by the UEs.In our analyses, we consider that the MOS of a UE u can be obtained from the UE's data rate, i.e., where φ u (•) is an increasing function that maps the achieved rate of an UE u into a MOS value.Due to the diversity of applications with distinct requirements, we consider that the UEs are separated into different mobile service subscription plans.We define S = {1, 2, . . ., S} as the set of subscription plans and U s as the set of subscribers of the service plan s ∈ S.Moreover, we consider that s∈S U s = U and we also consider that s∈S U s = ∅, i.e., that each user subscribes to only a single service plan.
Despite the fact that our modeling considers an OFDMA-based system, it is worth to note that the analysis proposed in this work could be performed using any multiple access scheme that ensures orthogonality among the resources guaranteeing no intra-cell interference.The models defined in this section are used to introduce the problem investigated in this paper, as well to evaluate their performance.

III. PROBLEM FORMULATION
In this work, we aim to allocate the available RBs in order to maximize the overall system rate, while ensuring that a minimum number m s of UEs in each service plan s get their QoE requirements met.
We define X as an U × K assignment matrix, where each element x u,k is equal to 1 if the RB k is allocated to the UE u and equal to 0 otherwise.Therefore, our problem can be written as an optimization problem as follows: x u,k ∈ {0, 1}, ∀u ∈ U and ∀k ∈ K, where u(a, b) denotes the Heaviside step function, which assumes the value 1 when a ≥ b and 0 otherwise, and ϕ s is the minimum MOS value required by a UE u of service s to be satisfied.
The problem stated in (4) aims at finding the optimal resource assignment that maximizes the achievable total system rate in the objective function (4a).Constraints (4b) and (4d) guarantee that each RB is assigned to a single UE.Furthermore, (4c) requires that a minimum number m s of UEs should be satisfied for each service plan s.

IV. OPTIMAL SOLUTION
Notice that (4) is a combinatorial optimization problem with a nonconvex constraint (4c); hence, it has a prohibitive computational complexity [32].In this section we reformulate the problem stated in (4) into a more tractable form.
In order to convert the minimum MOS constraint into a minimum UE's rate requirement, we need to define a function which maps MOS into rate.Since we consider φ u (•) as an increasing function, we can not guarantee its invertibility, unless it is strictly increasing.In order to define a function φ † (•) which maps MOS into rate, we adopt the concept of generalized inverse function for increasing functions stated in [33].Thus, we define φ † (•) as where inf{•} is the infimum operator, which denotes the greatest lower bound of a set.Therefore, we can define the data rate (ψ u ) that UE u requires to achieve the MOS requirement ϕ s of the service plan s as: Therefore, we can rewrite the constraint (4c) as Consider ρ ∈ {0, 1} U ×1 as a vector, where each element ρ u is a binary variable that assumes the value 1 if the UE u is selected to get satisfied and 0 otherwise.Using ρ, we can rewrite (7) into two new constraints, (8c) and (8d), and restate problem (4) as follows: x u,k ∈ {0, 1}, ∀u ∈ U and ∀k ∈ K, (8e) where p s,u assumes value 1 if the UE u subscribes the service plan s and 0 otherwise.It is noteworthy that in (4c), the functions u(•) and φ u (•) are applied over the optimization variables x u,k .Since u(•) is neither convex nor concave, and φ u (•) is usually nonlinear, the optimal solution of (4) becomes harder to find.Differently, the constraints (8c) and (8d) are linear, which simplifies the problem structure.
In fact, the problem stated in (8) can be rewritten in a compact form, where the variables are organized as matrices and vectors.Consider that the terms r u,k are organized into a matrix R with dimensions U × K. Also consider that the variable m s , for s ∈ S, is arranged into a column vector m with length S and let ψ = ψ 1 ψ 2 . . .ψ U T be a column vector containing the rate requirements of all U UEs in the system.Moreover, we also group the terms p s,u into a matrix P with dimension S × U .Let us also denote by the operator the Hadamard product, which consists in a element-wise matrix multiplication, and by ⊗ the Kronecker product.We also represent by * the Khatri-Rao product, which consists in a column-wise Kronecker product.
Using these definitions, we can rewrite the problem (8) as X is a binary matrix and (9e) ρ is a binary vector, where 1 a is a column vector with length a composed by 1's and I a denotes the identity matrix with order a.The operator where x k denotes the k th column of the matrix X.
At this point, we can rearrange the optimization variables into a single vector y = vec T {X} ρ T T .In order to obtain X and ρ in terms of y, we denote vec {X} = Ay and ρ = By, where A = I U K 0 U K×U , B = 0 U ×U K I U , and 0 a×b is a matrix with dimensions a × b composed by zeros.Thus, we can rewrite (9) as Notice that in (10), we reduce our optimization variables to a single vector y, in opposite to (9), where our optimization variables are X and ρ.In order to further simplify the problem (10), we consider the following variables: and Applying ( 11) into (10), we rewrite the problem (8) as thus finally reformulating the initial optimization problem presented in (4) as the standard ILP in (12) to which standard methods to solve ILPs, such as Branch and Bound (BB) and Branch and Cut (BC), can be directly applied.These methods have much lower average complexity than the brute force solution, i.e., the complete enumeration of all possible assignments [34].However, the class of ILPs is known to be NP-Hard (unless NP = P), i.e., these problems cannot be solved in polynomial time since their complexity increases exponentially with the problem dimensions.Thus, an approach relying on optimally solving an ILP might not be adequate for solving problems in real-time systems, such as RRA in cellular communication systems.Therefore, low-complexity and efficient suboptimal methods to solve (12) are highly desired.

V. SUBOPTIMAL SOLUTION
In this section, we propose a low complexity suboptimal solution to the problem described in Section III, which is called Rate Maximization under Experience Constraints (RMEC).
In order to develop the proposed heuristic, we adopt the divide-and-conquer strategy by dividing the problem into smaller subproblems.Our algorithm is divided into three stages: firstly, we disregard from the users' set U a certain number of UEs which we choose not to satisfy; secondly, we calculate an initial assignment; finally, we reallocate the RBs between the users in order to ensure that the problem constraints are met.A general overview of our suboptimal algorithm is shown as a flowchart in Fig. 1.The three steps of the RMEC algorithm are detailed in the rest of this section, with reference to each block of the flowchart in Fig. 1.

A. Step 1: User Selection
As mentioned before, one of our contributions is the possibility of separating the users in different sets and satisfying a fraction of these users in each set.This constraint is represented by (4c) in the optimization problem (4).
As presented in Section II, the rate of a user u in the RB k depends on its SNR γ u,k .Due to the large-scale fading, in most cases, the users often present similar values of SNR in all RBs, and consequently similar rates.It is also noteworthy that the higher the QoE requirement of a UE is, the harder it is to satisfy it since the UE needs more RBs to get satisfied.
Our main goal is to maximize the transmit rate with the constraint of satisfying at least m s users of each set S, for all s ∈ S. The idea of this phase of our suboptimal solution is to select exactly m s users from each set U s .We remark that by selecting more than m s users on each service, we will satisfy more users than the necessary.Moreover, the total transmit Begin (1) For each service plan, select the ms users with the highest rates and lower QoE requirement and add them to a set L of users that must be satisfied.
(2) State a relaxed linear programming aiming to maximize the overall system rate, while meeting the QoE requeriments of all UEs in the set L.
(3) Is the relaxed problem feasible?
(4) Remove from L the UE with the lowest rate and highest requeriment, and restate the relaxed problem.
(5) Obtain a fractional assignment from the relaxed problem and estimate how many resources each user must obtain and create a set of users' nodes.
(6) Create a bipartite graph, where one set of nodes corresponds to the resources and another consists of the users' nodes.(7) From the fractional assignment, add to the graph the edges linking the users' nodes to the resources and select those that correspond to the maximum matching composing an initial resource assignment.
(8) Do all UEs in L achieve their requirement?(9) Select and remove from L, the user u that needs more resources to get satisfied.(10) Create an auxiliary set containing the resources not assigned to the user u and calculate a priority vector, where each element consists of the ratio between the rate that the user u can achieve in the RB and the rate that the user that owns the RB can achieve.
(11) Select the RB k in the auxiliary set with highest priority, and remove it from the auxiliary set.(12) Can the owner of the RB k lose it without becoming unsatisfied?(13) Reassign the RB k to the user u.rate might be lower since we will distribute the same number of RBs to more users.
Consider a set L of users that must be satisfied, which is initially empty.For each service s ∈ S, we create an auxiliary set A initially equal to U s .Then, we iteratively remove from this set the UEs with lowest transmit rate and higher QoE requirement until |A| = m s , where |•| denotes the cardinality operator.The criterion of UE disregarding can be written as where u denotes the user to be disregarded.The choice of this criterion is reasonable since users with higher rates and lower QoE requirements are easier to satisfy.After disregarding |U s | − m s users, we add the remaining m s UEs in A to the set L, as illustrated in block (1) of Fig. 1.At the end of this step of our suboptimal solution, we have |L| = s∈S m s .In Algorithm 1, we present the procedure to build the user set L.

6:
A ← A \ {u } Remove the selected user from the auxiliary set 7: end while 8: L ← L ∪ A Add the ms selected UEs to L 9: end for Furthermore, observing the optimization problem in (8), we notice that this phase of the RMEC consists in determining a value for ρ, where ρ u = 1 if u ∈ L and ρ u = 0 otherwise.Therefore, our optimization problem reduces to x u,k ∈ {0, 1}, ∀u ∈ L and ∀k ∈ K, where X sat is a matrix composed by the rows u ∈ L of the assignment matrix X.

B. Step 2: Initial User Assignment
After a comprehensive research in the computer science field, we observed that the problem stated in ( 14) has a similar structure to a recently studied problem proposed in [35], called Generalized Assignment Problem with Minimum Quantities (GAP-MQ), which is a variant of the classical Generalized Assignment Problem (GAP) [36].
Let us consider n items items with size s i,j and profit g i,j , for i ∈ [1, n items ], and n bins bins with capacities B j ∈ N, for j ∈ [1, n bins ].The GAP aims at maximizing the total profit of packing the n items items into the n bins bins, constrained by the capacity B j of each bin [36], [37].The GAP framework has been applied in a considerable number of applications, such as routing, scheduling and task assignment problems [38].It is important to mention that the GAP is NP-Hard [38] and has a 2-approximation algorithm [36].An α-approximation is defined as an algorithm that provides in a polynomial-time a solution at least 1/α of the optimal solution of any instance of a maximization problem.Furthermore, the GAP is also APX-Hard [35], which means that finding a polynomial-time α-approximation algorithm with α < 2 is NP-Hard [39].
Considering the same scenario of GAP, the GAP-MQ can be defined as a problem of maximizing the total profit of packing a subset of items into bins such that the total space used in each bin j is either zero, if the bin is not opened, or at least q j and at most B j , where q j ∈ N and q j ≤ B j .For further details of GAP-MQ, see [35].
In our analysis, we consider a particular case of the GAP-MQ, where the number of bins is fixed, i.e., all the n bins bins must be used.In [35], the author presents a (1, 2)-approximation algorithm to solve this particular problem, where a (α, β)-approximation is defined as an algorithm that provides a solution at least a factor 1/α of the optimal solution, while violating the constraints by at most a factor β.
We can relate this problem with (14), by considering that n bins = |L|, n items = |K|, q u = ψ u , and that there is no capacity limits, i.e, B u → ∞, for u ∈ L. The profit and the size in our problem are equal to the user achievable rate in a RB, i.e, g u,k = s u,k = r u,k , where k ∈ K.
We adapt the algorithm presented in [35] in order to find an initial resource allocation.Initially, in block (2) of Fig. 1, we relax the optimization problem stated in (14), by modifying the constraint (14d) into and replacing all x u,k by xu,k , for all u ∈ L and k ∈ K.The problem composed by (14a), (14b), (14c) and ( 15) consists in a Linear Programming (LP), called LP(R), and provides a fractional assignment matrix X composed of the terms xu,k .This problem can be efficiently solved by many algorithms proposed in the literature, such as the simplex method and interior point methods [32].
Notice that if the problem LP(R) is unfeasible, so the problem ( 14) is, which suggests that the original problem (4) has a high probability of being unfeasible since ( 14) is an approximation of (4).In order to deal with the unfeasibility, in blocks (3) and (4) of Fig. 1, if LP(R) presents no feasible solution, then we proposed to remove one user of the set L using the same criterion (13) of the previous step of our suboptimal solution and we proposed to repeat this process until LP(R) presents a feasible solution.We highlight that if we need to withdraw any user of L in this step, the solution that will be obtained for our algorithm violates the constraint of the minimum number of satisfied users, however we still provide a near feasible solution to the problem.In summary, differently from previous works, our proposed solution takes into account a strategy to deal with potential no feasibility of the considered optimization problem.
Next, in block (5) of Fig. 1, from X we can estimate the amount ν u of resources that each user u ∈ L will obtain as where a returns the smallest integer greater than or equal to a. Therefore, in block (6) of Fig. 1, from X we create a bipartite graph G(V, K, E).In one side of G, each node represents an RB from the set K. On the other side of G, for each user u, there are ν u nodes, denoted by v u,n ∈ V, where n ∈ [1, ν u ].The edges linking both sides (v u,n , k) ∈ E are added accordingly to the following explanation.
As illustrated in block (7) of Fig. 1, in order to create G(V, K, E), for each user u ∈ L, we consider a counter c = 0 and initialize the index of the user's node n = 1.We also consider the indices of RBs sorted in non-increasing order of r u,k , i.e., r u,1 ≥ r u,2 ≥ • • • ≥ r u,K .For each k and xu,k > 0, we accumulate xu,k into the counter c and create a new edge (v u,n , k) with weight equal to r u,k .When the value of c becomes greater or equal to one, which means that the user's node v u,n reaches its maximum capacity, we decrement the counter c by one and pass the residual capacity to the next user's node, i.e., n = n + 1.If c is still greater than zero, we add another edge (v u,n , k) with weight equal to r u,k .
In our problem, obeying the QoE constraints is more important than achieving the optimal system rate since the cell operator aims to satisfy a certain quantity of users.Therefore, after the construction of the bipartite graph, instead of obtaining the maximum matching, as in [35], we compute the minimum weighted matching.This modification in the algorithm proposed in [35] ensures that users with worse channel conditions are selected to receive resources.
The minimum weighted matching of a bipartite graph consists in finding a subset of edges which yields a minimum cost attending the following constraints: all nodes of the graph are connected by at most one edge of this subset and the number of selected edges for this subset must be maximum (maximum cardinality).In the context of our problem, we select the edges that produce the minimum sum rate in a way that each node of V is connected by at most one edge and each node from the set of resources K in the graph G is connected by one edge.
A classic method used to find the minimum weighted matching in a bipartite graph is the Hungarian algorithm [40].This method basically creates a cost matrix representing the bipartite graph and selects the maximum number of elements, where at most one element per row and column must be selected.The number of rows and columns of the matrix is equal to the number of nodes of each partition of the graph.If there is an edge between two nodes on the graph, the corresponding element of the matrix is equal to the edge weight, otherwise it is equal to infinity.
We denote by M ⊂ E the subset of edges that composes the minimum weighed matching.In order to find M, we apply the Hungarian algorithm [40] over G. Finally, we initialize X sat with all elements equal to zero, then for each edge (v u,n , k) ∈ M we set x u,k = 1, for u ∈ L, k ∈ K and n ∈ (1, ν u ).The entire description of this phase of our suboptimal solution is presented in Algorithm 2.
As an example, consider that three users that must be satisfied are competing for 5 RBs and all of them have the same MOS requirement that implies in a rate requirement of  From the fractional assignment we construct the bipartite graph G. Notice that applying (16) on X, we calculate the number of nodes that each user will hold in the bipartite graph, namely ν 1 = 2, ν 2 = 1 and ν 3 = 3.Therefore, we create the bipartite graph depicted in Fig. 2 with 6 user nodes and 5 resource nodes.The edges are added to G accordingly to lines 7-23 of the Algorithm 2. For user 1, we initialize c = 0 and sort the indices of the RBs in non-increasing order of achievable rate, thus the indices are sorted as [1 2 3 5 4].Taking the first RB in the sorted list, we get x1,1 = 0.4029 > 0, so we add an edge (v 1,1 , 1) = r 1,1 = 655 and add x1,1 to c, resulting in c = 0.4029.The next resource on the list has x1,2 = 0, thus we go further to the next RB, 3, which has x1,3 = 1.We add a new edge (v 1,1 , 3) = r 1,2 = 248 to E and add x1,3 to c, resulting in c = 1.4029.As c > 1, it means that the node v 1,1 reaches its maximum capacity, so we go to the next node, v 1,2 , and decrement the value of c by one, i.e., c = c − 1 = 0.4029.As c > 0, we add a new edge (v 1,2 , 3) = r 1,3 = 248 to E. The next RBs in the sorted list has no assigned portion, thus we pass to the next user.The edge addition to the users 2 and 3 follows the same idea as the user 1.After the creation of the bipartite graph, we compute the edges that compose the minimum weighted matching using the Hungarian algorithm, denoted by the solid edges in Fig. 2. Neglecting the edges (v u,n , k) / ∈ M, we notice that all RB nodes are linked to only one user node, meeting the constraint (8b).From Fig. 2, the initial allocation is given by

C. Step 3: Reallocation
In this step of our algorithm, we propose a resource reallocation in order to respect the constraint (14c) rather than achieve higher overall system rates.
As depicted in block (8) of Fig. 1, if all UEs in L are already satisfied, then the initial solution provided in the previous step is used.Otherwise, we start by removing from L all users that have already achieved their QoE, then we choose the UE u ∈ L that needs more resources to achieve its requirement.Considering the user u, we define an auxiliary set J that will contain all k ∈ K\{x u,k = 1}, i.e., all resources indices that are not allocated to the user u, as shown in block (9) of Fig. 1.After that, in block (10) of Fig. 1, we create a priority vector w = [w 1 w 2 . . .w K ] T , where each element w k , for k ∈ J , is equal to the ratio between the rate of user u in RB k and the achievable rate of the user that got the referred resource in the initial allocation.Then, in block (11) of Fig. 1, we get the index of the RB k ∈ J with the highest value w k and remove it from the auxiliary set J .We denote by i ∈ L the user that owns resource k.In blocks ( 12) and ( 13) of Fig. 1, if the user i achieves the requirement ψ i even without the RB k, then we transfer the resource k from the user i to u.If the user u gets satisfied with the received resource, then we go further to the next unsatisfied user, if any.Otherwise, if the user u do not get satisfied, then we continue the process until removing all resources from J .These steps are depicted in blocks ( 14) and ( 15) of Fig. 1.This step of our algorithm finishes when all unsatisfied users are parsed.The algorithm description is presented in Algorithm 3.
VI. PERFORMANCE ANALYSIS In this section, we evaluate the performance of our algorithm proposed in Section V by comparing it to the if k∈K r u,k x u,k < ψu then If user u is not satisfied 5: k ← the resource index k ∈ J with highest w k 9: J ← J \{k} 10: i ← the user that owns the resource j 11: if j∈K r i,j x i,j − r i,k > ψ i then 12: x i,k ← 0 13: x u,k ← 1 14: if j∈K r u,j x u,j > ψu then 15: break 16: end if 17: end if 18: end while 19: end if 20: end while optimal solution (12) provided in Section IV and to the algorithm presented in [19].

A. Scenario Modeling
The simulations were done in a snapshot-based system-level network simulator and the adopted system model is aligned with 3rd Generation Partnership Project (3GPP) LTE standards [25], [41].We consider a three-sectored hexagonal cell with 1 km radius and an eNB located on its center.We consider that the system operates at a frequency of 2 GHz with a downlink bandwidth of 10 MHz.The system considers K = 50 RBs, each composed by Q = 12 adjacent subcarriers spaced of ∆f = 15 kHz and by T = 14 consecutive symbols.The channel modeling considers path loss, shadowing and Independent and Identically Distributed (IID) small-scale fading (i.e, the IID fading is modeled as a random variable with Zero Mean Circularly Symmetric Complex Gaussian (ZMCSCG) distribution).In order to reduce inter-cell interference, we also consider a downtilted antenna that provides horizontal and vertical gain, as in [42].In Table I, we present the main adopted system parameters.
In all simulations, we consider that the services are web browsing based [9], [45], with MOS given by where R u is given in kbps.
In the following analysis, we compare our proposed algorithm (RMEC) with the optimal solution, obtained by solving (12), and with the RAISES heuristic provided by [19].The comparisons are performed in terms of outage and total system rate.We consider that an outage event occurs when the constraint of minimum number of satisfied UEs is violated.
Notice that RAISES intends to solve a similar problem to the one treated in this paper, however considering QoS instead of QoE constraints.In order to compare the results of our algorithm with those provided in [19], we convert the QoS into QoE metrics, using the function φ u (•).

B. Results
In Fig. 3, we present the outage rate as function of the required MOS considering three different number of served UEs, U = 10, 20 and 30.In this analysis, we consider that all users subscribe a single service and that the satisfaction requirement (m 1 ) is equal to 90% of the total number of UEs.
In Fig. 3a, for U = 10 UEs, the outage slightly varies with the required MOS.Moreover, the performance of both RMEC and RAISES algorithm regarding the required MOS remains near optimal.In Fig. 3b, for U = 20 UEs, both algorithms presents near optimal outage rates for low MOS values.However, with the increase of the MOS requirement, we notice that the outage rate of the RAISES algorithm increases faster, oppositely to RMEC that continues showing near optimal results.Observe that, for a required MOS of 4.4, the outage rate of RAISES is approximately 3.6 times greater than for RMEC, although the outage still remains on acceptable rates.In Fig. 3c, for U = 30 UEs, the outage rate of both algorithms continues presenting near optimal results for low MOS requirements.However, notice that with the increasing MOS requirement, the outage rate of RAISES increases even faster, reaching an unacceptable outage rate of 31.29% for a MOS requirement of 4.4, while RMEC presents 8.54% of outage.Comparing Figs.3a, 3b and 3c, we observe that for low MOS requirements, the outage rate is slightly smaller when we consider a greater number of served UEs in the system.This happens due to the increase of the UE diversity, i.e., when the number of UEs increases, the chances of choosing the 90% of the UEs with good channel conditions also increase.
In Fig. 4 we analyze the total system rate versus the MOS required by the users' service, considering the same setup of the outage analysis.In order to perform a fair comparison, we consider only the cases where the optimal solution is feasible.
In Fig. 4a, for U = 10 UEs, the total system rate of both RAISES and RMEC algorithms are near optimal.Nevertheless, it is worth noting that for a MOS requirement of 4.4, the RMEC algorithm provides a rate 1.3 Mbps higher than RAISES.In Fig. 4b, for U = 20 UEs, the performance of RAISES degrades with the increasing required MOS.Comparing this result with the outage rate presented in Fig. 3b, we notice that the RAISES performance decreases with its outage increasing, which indicates that the RAISES algorithm presents a scalability issue with the increasing number of UEs.In Fig. 4c, for U = 30 UEs, the performance of RMEC continues presenting near optimal results.Meanwhile, the difference between the total system rate achieved by RMEC and RAISES reaches approximately 17% for a required MOS of 4.4.Comparing this result with Fig. 3c, the scalability issue appears more evidently.We remark that in both outage and total system rate analysis, our proposed algorithm presented better results than RAISES.Furthermore, the RMEC always showed near optimal performance and did not register any scalability issue with the increasing number of UEs.
This difference on the algorithms' performance relies mainly in the process of obtaining an initial solution.Both RMEC and RAISES share the same structure: i) the selection of the users that will be satisfied, ii) an initial user assignment and, iii) a reallocation process.The choice of an initial allocation is very important for both algorithms, since the reallocation process works as a "fine-tuning" for the final solution.RAISES algorithm starts from the solution of the max rate scheduler, i.e., first it allocates the resources to the users aiming to maximize the overall system rate, without considering the users' requirements.This initial allocation is often far from a feasible solution.Therefore, when the number of resources and users increases, the capability of the reallocation process of finding a feasible solution decreases.This explains why there is a lack of scalability for RAISES algorithm.On the other hand, our heuristic considers as initial allocation a graph-based rounding of the upper-bound solution (relaxed solution of the problem), which yields an initial allocation that is in fact much closer to a feasible solution than RAISES one.Thus, in the reallocation process, our algorithm finds a near-optimal feasible solution in most of the cases where it exists.
In Fig. 5 we depict the outage rate as function of the required MOS, but in this analysis we evaluate the impact of the minimum number of satisfied UEs, m 1 .We consider three different values for m 1 , namely, 80, 90 and 100% of the total number of UEs.Moreover, we also consider that the eNB serves 20 users subscribed in the same service.
In Fig. 5a, for a requirement of 80% of the UEs, both algorithms follow the optimal solution performance, by presenting almost no outage for all considered MOS requirements.It means that in this scenario, the system has a high probability of serving at least 16 of the 20 UEs with good channel conditions, even when the UEs have high QoE requirements.When the minimum number of satisfied UEs is 90% (18 UEs), as in Fig. 5b, the outage rate increases, but remains in acceptable levels.Notice that with the increasing MOS requirement, while the RMEC algorithm presents a near optimal outage rate, the difference between our proposed algorithm and RAISES grows.In Fig. 5c, we try to satisfy all 20 UEs.In this case, if at least one UE has poor channel conditions, the optimal solution of the allocation problem becomes unfeasible.This lack of UE diversity increases significantly the outage rate.Notice that in this case the RAISES algorithm comes to present an outage rate 14% higher than our proposed algorithm.In Fig. 6 we analyze the total rate achieved by the system considering the same setup of Fig. 5.In this analysis, we also considered only cases where (12) presented a feasible solution.
In Fig. 6a we notice that for m 1 = 80% of the number of UEs, both algorithms presented a good performance.However, notice that our proposed algorithm achieves a total system rate closer to the optimal solution than RAISES, specially for high MOS requirements, as we can observe for a MOS requirement of 4.4, where our proposed solution presented a rate approximately 1.6 Mbps higher.By comparing this result with the outage in Fig. 5a, we notice that our proposed solution presents a better result even in scenarios where there is no resource scarcity.In Fig. 6b, for m 1 = 90% of the number of UEs, our proposed solution presents a near optimal performance.On the other hand, the RAISES algorithm achieves a total system rate approximately optimal for low MOS requirement; however, its performance deteriorates with the increasing of the required MOS.For instance, for a requirement of 4.4, the RAISES algorithm reaches a total system rate approximately 9.8% lower than that of our proposed algorithm.We highlight that by comparing this result with those in Fig. 5b, we notice that the performance degradation is also linked with the outage rate increasing, which indicates that RAISES also presents a lack of scalability regarding to the minimum number of satisfied users, m 1 .In Fig. 6c, for m 1 = 100% of the UEs, the total achieved rate of our proposed algorithm also presents a near optimal performance for all considered MOS requirements.In this analysis, we notice that the lack of scalability of RAISES regarding m 1 becomes more evident.Notice that in this case, even for a low MOS requirement of 3.6, the rate achieved by RAISES is 3.8% lower than that of RMEC.For a requirement of 4.4, this difference increases and RAISES achieves a rate approximately 21.1% lower than the one achieved by our proposed algorithm.
Observe that besides of the higher scalability of our algorithm with the number of users in the system, RMEC has also higher scalability regarding to m 1 .Notice that independently of the satisfaction target, m 1 , our algorithm presents results close to the optimal solution.On the other hand, RAISES performance deteriorates with the increase of m 1 .This scalability issue of RAISES regarding to m 1 is also explained by the selection of the initial solution.
In order to verify the near feasibility property of our proposed algorithm, in Fig. 7, we present the average of UEs that achieved their QoE requirements when the optimal      solution is unfeasible.We consider U = 20 and m 1 = 90% and 100% of the UEs.In order to obtain an optimal number of users that must be satisfied, we reduce the requirement m 1 by one and solve (12), until a feasible solution is found.Notice that our proposed algorithm achieves a solution close to the optimal solution (12).Therefore, our proposed algorithm produces near feasible solutions in unfeasible instances of the allocation problem, unlike RAISES.In situations where the eNB has not enough resources to satisfy the QoE constraints of the m 1 UEs, we remark that the near feasibility property of RMEC is very useful since the heuristic tries to satisfy the higher number of UEs as possible, providing a good resource allocation.
Until now, we evaluated the performance of our algorithm varying the number of users, the minimum number of users that should be satisfied and the minimum user's MOS requirement in a single service scenario.These analyses showed that our algorithm provides a good solution with reduced complexity independently of the magnitude of the evaluated parameters.On the other hand, the benchmarking algorithm, RAISES, presents an scalability issue and presented inefficiency in dealing with users with the poorest channel conditions, even when a feasible solution exists.In Figs. 8 and 9, we analyze the outage probability and the total system rate in a scenario with 30 UEs and 3 services.We consider that 5 UEs subscribe the service plan 1, 10 UEs subscribe the service 2 and 15 subscribe the service 3. We also consider that the services 1, 2 and 3 have different targets of minimum number of satisfied UEs, namely, m 1 = 100% = 5 UEs, m 2 = 90% = 9 UEs and m 3 = 80% = 12 UEs.In this analysis, we consider that all services have the same MOS requirement.As in the previous results, in the total system rate analysis we consider only cases where (12) has feasible solution.
In this multi-service scenario, the performance of our algorithm presents much better performance than the RAISES algorithm.Notice that, even for high MOS requirements, the outage of our proposed algorithm remains with low values, unlike RAISES that presents high outage probability even for low MOS requirements.Besides that, our proposed algorithm also provides near optimal total system rate for all analyzed MOS requirements.As we can observe, for a MOS equal to 4.4, our proposed algorithm achieves a total system rate 9.8 Mbps higher than RAISES and an outage 18.1% lower.Once more, despite of the increasing number of services, our algorithm provides near-optimal solutions, while RAISES suffers a performance deterioration.Notice that from all analyzed parameters, the number of services in the system was the most harmful to RAISES.

VII. CONCLUSION
In this work, we have studied the problem of maximizing the total system rate, subject to meet the Quality of Experience (QoE) requirements of at least a minimum number of users per service in a multi-service cellular scenario.We remark that this constraint is very important to the mobile network operators.
In this paper, we reformulate our problem as an Integer Linear Problem (ILP), which can be solved by standard methods, like Branch and Bound (BB) or Branch and Cut (BC).However, as the computational complexity to obtain the optimal solution is prohibitive in real-time systems, we proposed a low-complexity suboptimal algorithm, called Rate Maximization under Experience Constraints (RMEC).
In our analysis, the RMEC algorithm presented a near optimal behavior in terms of both total system rate and outage.Furthermore, we have shown that our suboptimal algorithm also provides near feasible solutions to unfeasible instances of the resource allocation problem.We also showed that RMEC outperforms the state-of-art heuristic that intends to solve the same problem, but considering Quality of Service (QoS) constraints instead QoE.
512 kbps.Consider also that the users achievable rates in the RBs are given by the matrix R as follows

3 Figure 2 :
Figure 2: Bipartite Graph with solid edges denoting the maximum matching

= 30 Figure 3 :
Figure 3: Impact of the number of UEs in the outage.

Figure 5 :
Figure 5: Impact of the satisfaction requirement m 1 in the outage.

Figure 6 :
Figure 6: Impact of the satisfaction requirement m 1 in the system rate.

Figure 7 :
Figure 7: Percentage of satisfied UEs when the optimal solution is not feasible.

Figure 9 :
Figure 9: Total System Rate considering 30 UEs and 3 services.

Table I :
Simulation parameters.
a d is the distance from the eNB to the UE in meters.b θ h and θv represents the horizontal and vertical angles related to the eNB, respectively.
Figure 4: Impact of the number of UEs in the system rate.