Relay Selection and Resource Assignment for Cooperative SC-FDMA Networks

In this article, we study relay selection and resource allocation in a cooperative network that employs Single Carrier Frequency Division Multiple Access (SC-FDMA) in the uplink direction such as in Long Term Evolution Advanced (LTE-A) system. With SC-FDMA, the frequency resources assigned to a transmitter should be adjacent to each other in the frequency domain (adjacency constraint). We formulate the total data rate maximization problem as a non-linear combinatorial optimization problem. Through algebraic manipulations, we managed to convert the original problem in a Mixed Integer Linear Problem (MILP) that can be optimally solved by standard computational solvers. So as to reduce the computational complexity, we propose a low-complexity suboptimal solution to this problem. Additionally, we propose a transmit power adjustment in order to reduce the power consumption in the system and improve Energy Efficiency (EE) by exploiting the characteristics of the forwarding mechanism in the relays. Finally, we present simulation results so as to evaluate the performance of the proposed solutions and obtain insights on the effect of the main variables presented in the system model.


I. INTRODUCTION
Mobile communication systems are continually evolving driven by the strong demand for new multimedia services, higher data rates, and increased system capacity in terms of the number of subscribers.The 4 th Generation (4G) Long Term Evolution -Advanced (LTE-A) system provides a range of technologies to meet these demands [1].
In particular, the LTE-A system uses the Orthogonal Frequency Division Multiple Access (OFDMA) in the downlink, while Single Carrier -Frequency Division Multiple Access (SC-FDMA) is used in the uplink.The main reason for choosing SC-FDMA in the uplink is to reduce the Peak-to-Average Power Ratio (PAPR).A transmit signal with low PAPR requires power amplifiers with a reduced linear region which facilitates the design and decreases the costs of mobile terminals [2].However, SC-FDMA scheme imposes adjacency constraint on resource allocation which requires that subcarrier blocks allocated to a transmitter must be adjacent or contiguous in the frequency domain.This restriction makes Leonardo Paiva -Computer Engineering, Federal University of Ceará, Sobral-CE, Brazil.F. Rafael M. Lima -Wireless Telecommunications Research Group (GTEL) -Computer Engineering, Federal University of Ceará, Sobral-CE, Brazil.Tarcisio F. Maciel and F. Rodrigo P. Cavalcanti -Wireless Telecommunications Research Group -Federal University of Ceará, Fortaleza -CE, Brazil.E-mails: leopaiva.ec@alu.ufc.br,{rafaelm, maciel, rodrigo}@gtel.ufc.br.F. Rafael M. Lima would like to thank FUNCAP for the financial support.Leonardo Paiva and Tarcisio F. Maciel would like to thank CNPq for the financial support.
Digital Object Identifier: 10.14209/jcis.2018.18 the resource allocation process much more difficult than in OFDMA systems [3].This new constraint significantly reduces the freedom in Radio Resource Allocation (RRA) compared to the OFDMA case where this constraint does not exist.Therefore, RRA solutions previously designed for OFDMA cannot be directly applied to the SC-FDMA case.
Cooperative networks is a key component of LTE-A that can provide benefits in terms of spectral and energy efficiencies, coverage and reliability [4].Basically, in cooperative networks the communication between source and destination nodes is performed with the help of one or more relay nodes that can forward information.Cooperative networks offer new degree levels to be exploited in wireless communications but, at the same time, increases the complexity of RRA.Motivated by this, in this article we study RRA by means of relay selection and frequency resource assignment for cooperative networks that employs SC-FDMA scheme.
The remainder of this article is organized as follows.In Section II we provide a literature review highlighting some important works that are related to this article and also summarize the main contributions of this article.In Section III we present the modeling of the system describing the main characteristics of the system.In Sections IV and V we show the formulation of the studied problem and propose an optimal solution, respectively.Section VI presents alternative solutions to maximize the overall data rate and energy savings.A performance evaluation through computational simulations is presented in Section VII while the main conclusions and perspectives are shown in Section VIII.Finally, the computational complexity of the involved algorithms is calculated in the appendix of this article.

II. LITERATURE REVIEW AND MAIN CONTRIBUTIONS
The problem of maximizing the total uplink data rate in SC-FDMA networks has been studied by some articles for conventional (non-cooperative) networks.In [5] the authors studied the total data rate maximization problem without assuming the adjacency constraint.As previously explained, this is an important condition to ensure low PAPR.In [6] the authors considered the total data rate maximization problem with adjacency constraint, however, in order to simplify the problem, they assumed that each terminal should get the same number of frequency resources which is not practical as the terminals have heterogeneous demands.In [7] the authors formulated the same problem as an integer optimization problem called set partitioning, in which the optimal solution can be obtained without resorting to exhaustive search.The correlation in the channel gain between adjacent frequency resources is exploited in [8] where information about the channel coherence bandwidth is used in the proposed solution.However, the effect of the frequency domain equalization on the Signal to Noise Ratio (SNR) of the contiguous frequency blocks at the receiver is not taken into account when estimating the transmit data rate.Frequency domain equalization is needed in SC-FDMA networks in order to mitigate Inter Symbol Interference (ISI).
In [9] the authors investigate the total data rate maximization problem for non-cooperative SC-FDMA networks assuming adjacency constraint and frequency domain equalization where they propose a low-complexity heuristic solution.The interested reader can see [10] for a general survey on solutions to the total data rate maximization problem in uplink SC-FDMA for non-cooperative networks.
Relay selection in cooperative networks using OFDMA was studied by several works, among which we highlight [11] and [12].In [11] the authors studied the problem of data rate maximization and assumed that relays employ the Amplifyand-Forward (AF) protocol.The authors propose two solutions with reduced computational cost.More recently, the authors in [12] have addressed the problem of relay selection, subcarrier pairing, and power allocation in order to improve the system Energy Efficiency (EE).An important difference between [11] and [12] is that the latter assumes a more realistic model where transmission occurs with discrete data rates due to the use of Modulation and Coding Scheme (MCS).
Resource allocation for cooperative SC-FDMA networks has been studied in [4], [13]- [17].Relay selection and frequency resource assignment have been considered in the works [13], [14].However, the relay selection proposed in those works is based only on path loss or distance-based mechanisms neglecting the potential of other channel state information measurements.In addition, adjacency constraint is not taken into account in the resource assignment problem.
In [15] the authors investigate different alternatives for the AF protocol.However, the relaying strategies are limited to only two options: single-dedicated-relaying and single-sharedrelaying.In the first one, the information from each source node is forwarded by a distinct relay, i.e., each relay forwards information of a unique source node.In the second one, the same relay forwards information of all source nodes.The same limitations on relay selection are present in the work [16].In [4] the authors consider relay selection but only one source node is modeled in the system which turns the studied problem simpler.On the other hand, in [17] the authors assumes multiple source nodes but all information must be forwarded by only one relay node.
In this work, we study the total data rate maximization problem in cooperative SC-FDMA networks with multiple source and relay nodes.Relay selection can be performed without the limitations assumed by previous works where the same relay can forward information of none, one or multiple source nodes.Also, frequency resource assignment should respect the resource adjacency constraint.Our main contributions are: • Formulation of the total data rate maximization problem in the uplink direction employing SC-FDMA scheme, assuming relay selection and frequency resource assignment.As far we know, this problem has not been previously stated in this form; • Proposal of a method to obtain the optimal solution without resorting to exhaustive search.The formulated problem is originally non-linear and combinatorial but, through algebraic manipulations, we convert it to Mixed Integer Linear Problem (MILP) that can be solved by well-known solvers; • Proposal of a low-complexity alternative solution to the formulated problem that presents a good performancecomplexity trade-off; • Proposal of a transmit power adjustment in the source and relay nodes that can improve the system EE, and finally; • Performance evaluation of the involved solution by means of computational simulations.
III. SYSTEM MODELING We consider a cooperative wireless communication system using SC-FDMA in uplink where there are J mobile terminals acting as source nodes, R relays nodes that employ the Decode-and-Forward (DF) protocol and a Base Station (BS) as the destination node.The relay model considered in this work is equivalent to the layer-2 type 1 relay in Long Term Evolution (LTE) 3 rd Generation Partnership Project (3GPP) [18], [19] We assume J = {1, • • • , J} as the set of available mobile terminals that intend to send information to the BS.We define R = {1, • • • , R} as the set of relays available to forward information from mobile terminals to the BS.We define Resource Block (RB) as the minimum allocable resource in the system that is composed of c adjacent subcarriers in the frequency domain and t Orthogonal Frequency Division Multiplexing (OFDM) symbols in the time domain.In this way, we define N = {1, • • • , N } as the set of available RBs in the system.
As assumed in [20], we consider a communication of the type Opportunistic Relaying (OR), where the direct communication between the source nodes and destination is unavailable due to severe shadowing and path loss and, therefore, the relay nodes are required to enable end-to-end communication.The SC-FDMA scheme assumed in our work is Localized Frequency Division Multiple Access (LFDMA) that is the most common assumed in the literature [7]- [9].This scheme imposes two constraints on resource allocation, namely: exclusivity, in which an RB cannot be shared among users of the same cell at the same time; and adjacency, where the RB assigned to each transmitting node must be adjacent in the frequency domain [2] We assume that all nodes in the system have perfect Channel State Information (CSI).The transmission in the system is organized in two phases according to the half-duplex method.In the first phase, we have the transmission of the mobile terminals (source) to the relays (hop 1).In the second phase, the relays forward the information received from the terminals to the BS (hop 2).In both phases, the SC-FDMA scheme is used and the same set of RBs, N , is reused.
We define an assignment pattern in SC-FDMA as an RB allocation where the assigned RBs are adjacent to each other in the frequency domain, i.e., an assignment that obeys the adjacency constraint.According to [7], the number of possible assignment patterns to a transmitter is given by We assume that P = {1, • • • , P } is the set of all possible assignment patterns and N p = {1, • • • , N p } is the set of all RBs that belongs to the p th assignment pattern.We model the adjacency constraint through the binary matrix, A, with dimensions N ×P consisting of the elements a n,p with n ∈ N and p ∈ P, which assume the value 1 if RB n belongs to the assignment pattern p, and 0 otherwise.An example of the matrix A for N = 4 and, consequently, P = 11 is given by We define X s with dimensions J ×P ×R as a binary assignment matrix in the first hop (sources → relays), consisting of the elements x f j,p,r that assume value 1 if the mobile terminal j is transmitting with the assignment pattern p through the relay r, and 0 otherwise.Similarly, in the second hop (relays → destination), we define the binary assignment matrix X r with dimensions R × P that consists of the elements x r r,p which assume value 1 if relay r is transmitting with the assignment pattern p, and 0 otherwise.As we will see later, some constraints must be imposed on these matrices in order to assure exclusivity and adjacency constraints.
We assume that all subcarriers in the same RB experience the same channel frequency response.Therefore, the channel frequency response of an RB is the same as the one experienced by the mid subcarrier of that RB.In addition, to ensure a low PAPR, the power is equally divided among all RBs that compose the chosen assignment pattern.So as to model the small-scale channel effects, we define h s j,r,n,p as the frequency response of the channel between terminal j and relay r in RB n that belongs to the assignment pattern p in the first hop.Similarly, in the second hop we define h r r,n,p as the frequency response of the channel between relay r and the BS in RB n that belongs to the assignment pattern p.We define γ s j,r,n,p as the SNR corresponding to the link between terminal j and relay r on RB n that belongs to the assignment pattern p.This variable is defined as where P s is the total power available at the source node and is equally distributed among all subcarriers of all RBs that compose the assignment pattern.|N p | is the cardinality of the set N p , α s j,r represents the joint effect of the path loss and shadowing of the link between the terminal j and relay r and, finally, σ 2 is the noise power at the receiver in the bandwidth of a subcarrier.We define γ r r,n,p as the SNR experienced in the link between relay r and the BS on RB n in hop 2. This SNR is given by where P r is the total power available in a relay node and is also equally distributed among all subcarriers of the RBs that compose the assignment pattern and α r r represents the joint effect of the path loss and shadowing of the link between the relay and BS.As not all RBs belong to assignment pattern p, the SNRs in ( 3) and ( 4) are only valid for the RBs n that belong to the specific assignment pattern p.
As motivated in section II, we assume the use of a frequency domain equalizer in the receivers (relays and BS) so as to mitigate ISI.In this work, we consider that an equalizer of the type Minimum Mean Square Error (MMSE) is used.From [21], [22], the effective SNR between terminal j and relay r with the assignment pattern p after the equalization process, γ s,MMSE j,p,r , is given by Equivalently, the effective SNR between relay r and the BS with assignment pattern p, γ r,MMSE r,p , is given by With the use of link adaptation, a terminal can transmit at different data rates according to the channel conditions, allocated power and perceived noise/interference.We assume a mapping function, f (•), which models the use of different MCS.Therefore, this function performs the mapping between the effective SNR and the discrete transmit data rates of the MCS in a given link.We assume in this study M possible MCS levels contained on set M = {1, • • • , M }.So as to have a transmission in the m th MCS level, the experienced effective SNR of the link should be in the range of SNRs [γ m , γ m+1 ) such that γ m+1 > γ m .According to this model, the transmission on the m th MCS level can be attained with the smaller effective SNR within the SNR region, i.e., γ m .The transmit data rates on hop 1 between terminal j and relay r with assignment pattern p, and on hop 2 between relay r and the BS with assignment pattern p is given by respectively.Finally, as we assume the use of DF protocol, the end-to-end data rate in the system between terminal j and the BS is given by [12] min ∀j ∀p

IV. PROBLEM FORMULATION
The end-to-end data rate maximization problem is formulated in the following max {x s j,p,r ,x r r,p } ∀r min ∀j ∀p x s j,p,r •υ s j,p,r ; subject to: ∀r ∀p The objective function ( 9) consists of the total system data rate that corresponds to the sum of the data rates sent by the R relays.The constraint (10) ensures that each mobile terminal in hop 1 should be associated with only one assignment pattern p and be connected to a single relay r.Note that the first column of the assignment matrix in (2) corresponds to the assignment of no RB.The resource exclusivity constraint is assured by constraint (11).Constraint (12) guarantees that each relay r is associated with only one assignment pattern p. Similar to (11), the constraint (13) assures that an RB is used by at most one relay in hop 2.

V. OPTIMAL SOLUTION
The proposed problem has linear constraints but a nonlinear objective.Combinatorial problems of this nature must be solved by complete enumeration or brute force method, in which all possible associations between terminals and relays (relay selection) and resource pattern assignments in hops 1 and 2 should be listed and evaluated in the search for the best solution.
Fortunately, the objective function can be linearized under the cost of new optimization variables and constraints on the problem.The following technique is used to make (9) linear: where z i is an auxiliary variable.According to this, the problem can be restated as subject to (10)-( 13) and: where z r is real variable representing the data rate forwarded by the r th relay.
In order to solve the studied problem through computational softwares, it is useful to write the optimization problem in a standard form in which the variables and inputs of the problem are written as vectors and matrices.Consider that υ We define the optimization variable as . The vectors x s , x r and z can be obtained from y by the following relations: x s = T s y, x r = T r y and z = T z y with where I k is the k × k identity matrix and 0 k×q is a k × q matrix composed of 0's.
The objective function ( 14) can be written as a GT z y, where G is a vector composed of 1's and dimension 1×R.The constraint (15) can be written as The constraint (10) can be written as KT s y = 1 J×1 , where K = 1 1×R ⊗ D and D = I J ⊗ 1 1×P where 1 k×q is a matrix composed of 1's with dimension k × q and ⊗ is the Kronecker product operator.The constraint (11) is formulated as ST s y = 1 N ×1 , where S = 1 1×JR ⊗ A. The constraint (11) can be written as UT r y = 1 R×1 , where U = I R ⊗ 1 P .Finally, the constraint (13) can be written as According to the previous definitions, the studied optimization problem can be written in compact form as subject to: The new reformulated problem now belongs to the MILP class, which can be solved optimally by optimization software based on the Branch and Bound (BB) algorithm [23].

VI. LOW-COMPLEXITY SOLUTIONS
Motivated by the high computational complexity to obtain the optimal solution of the formulated problem, we present in this section a low-complexity solution.Furthermore, we propose a power adjustment algorithm in order to improve the system EE.

A. Proposed solution for relay selection and RB assignment
In order to reduce the computation complexity we adopt a two-step approach where the RB assignment problem is solved firstly in one hop, and based on the obtained solution, the solution to the other hop is obtained.Assuming a typical scenario where there are more terminals (source nodes) than relays, the hop 2 presents a lower spatial diversity than hop 1 due to the small number of potential links.Therefore, in our proposed solution, we firstly solve the RB assignment for hop 2, and then, relay selection and RB assignment in hop 1 is obtained.
In the paper [9], the authors propose a heuristic solution for RRA in the uplink in SC-FDMA systems with adjacency constraints called Unconstrained Rate Maximization (URM).The authors consider a scenario where there are multiple mobile terminals acting as a source and a BS as a destination.The studied scenario in [9] is similar to the scenario in hop 2, i.e., multiple candidates to receive resources and transmit information to a destination.Thus, we can apply the proposed solution in [9] to perform RB assignment in hop 2.
1) Second hop solution: Initially, the algorithm proposed by [9] performs an allocation similar to that used by the OFDMA scheme, without considering adjacency constraints.Then, from pre-established rules, the algorithm creates virtual allocations in order to meet adjacency constraints not previously considered.Among the virtual allocations, the algorithm selects the one that has the best performance and meets the constraints based on a metric.The algorithm performs iterations until the constraints imposed by SC-FDMA are met.
In the end of the algorithm applied in hop 2, we have a set K RP containing the pairs composed of the relays and their respective assignment pattern.In this case, the solution to hop 2 selected R ≤ R relays to forward information to the BS.The worst-case computational complexity of this algorithm is O (J • N ) for J > N or O N2 when J < N .
2) First hop solution: The main idea of this solution is to check the quality of the link between relays and mobile terminals chosen in hop 2 solution and assign to them the resources in order to obtain the highest possible total data rate in the system.The resources are assigned by giving priority to the relays with worst average channel gains in hop 1.The flowchart of the solution proposed for hop 1 is shown in Figure 1 and is described in more details as follows.
Firstly in step (1), we define the set J A that is initialized with the set J .This set will be updated along the algorithm to store the mobile terminals that have not yet connected to any relay and have not received RBs.In the same way, we define the set P A initially equal to the set P. This set will be updated in the course of the algorithm containing the assignment patterns that have not yet been assigned.We define the set K JPR initially empty.This set will be updated along the algorithm containing the terminals, patterns, and relays that are associated by the proposed solution.Finally, we define υ1 r and υ 2 r as the potential 1 total data rate received by relay r in hop 1 and transmitted by relay r in hop 2, respectively.Note that r is already known at the beginning of the algorithm as it was defined by the solution to hop 2.
In step (2), for each relay r belonging to the set K RP , the average channel gain of all potential links with relay r in hop 1 is computed and inserted into the set G. In step (3) we select the relay that has the lowest average channel gain in G.The reasoning here is to let the relays that have the worst channel conditions choose firstly their best RBs.
In step (4), for the selected relay r * , we verify if there is any pair of terminal j and assignment pattern p in hop 1 that would turn the total data rate received by the selected relay r * in hop 1 greater than the total data transmitted by relay r * in hop 2, υ 2 r .In the positive case, in step ( 5), the pair terminal and assignment pattern that has the least number of RBs is chosen.The idea here is to use the least amount of RBs as possible in order to give opportunity to the other relays receive RBs. Otherwise, in step (6), we choose the pair terminal and assignment pattern that offers the highest data rate.In step (7), we update the total data rate received by relay r * in hop 1.In step (8), we add the selected terminal, pattern and relay to the set K JPR and remove the selected terminal and assignment pattern from the sets J A and P A , respectively.
In step (9), we check whether the set P A is empty, i.e., if all RBs were already assigned.If so, in step ( 12), the assignment pattern 1 (no RB) is assigned to all remaining terminals in the set J A and in step (13) we reach the end of the solution for hop 1.In the negative case in step (9), in step (10) we check whether the received data rate by relay r * in hop 1 is greater than or equal to the transmitted data rate of relay r * in hop 2. If true, we make the relay r * not available to connect to other terminals and return to step (3).Otherwise, we return to step (4).The main idea of the test in step (10) is because if the received data rate by relay r * in hop 1 is greater than the transmitted data rate in hop 2 by the same relay, it is not advantageous to connect it to more terminals since the endto-end data rate forwarded by this relay is limited by the hop with the lowest data rate.

B. Power saving
In order to improve the EE in the system we propose a power adjustment algorithm that reduces the total power by exploiting the forwarding protocol used by relays.This power adjustment could be applied after the optimal solution presented in Section V or the heuristic solution presented in Section VI-A.As previously presented, the total end-toend data rate in the system is limited by the worst hop for each relay, i.e., the actual transmit data rate of a relay is the minimum between the potential received data rate by the relay in hop 1 and the potential transmit data rate by the same relay in hop 2.
As we assumed in Section III that all nodes (source and relay nodes) transmit with the maximum power, a transmit power saving can be obtained by exploiting the unbalance between the received data rate in hop 1 and the transmit data rate in hop 2 for each relay.The Power Saving (PS) solution is presented in the flowcharts of Figures 2 and 3 and is better described below.
Begin (1) Define the sets J A ← J , P A ← P e KJR ← ∅.
(2) For each relay belonging to the set KRP, calculate the average channel gain and insert it into set G.
(5) Among the pairs that satisfy the condition on step (4), choose the pair (j † , p † ) with the lower number of RBs.
(8) i) Insert (j † , p † , r * ) into the set KJPR; ii) Remove j † and p † from their respective sets.The main idea of the algorithm is to check for each relay whether it is possible to decrease the MCS level in hops 1 or 2 maintaining the same total data rate retransmitted by the relay.In other words, each relay r has a received data rate, υ 1 r , at hop 1 generated by one or more terminals that are connected to that relay; and a transmitted data rate at hop 2, υ 2 r , representing the potential data rate of the relay to the BS.If υ 1 r < υ 2 r the transmit power of the relay in hop 2 can be decreased until υ 1 r = υ 2 r .On the other hand, if υ 1 r > υ 2 r the transmit power of one or more terminals in hop 1 can be decreased until υ 1 r = υ 2 r .It is important to highlight that in both cases, there is no decrease in the end-to-end transmit data rate while part of the total transmit power in the system is saved.
In step (1) of Figure 2, we define the set T composed of all relays that are connected to one or more terminals.We define the set J r composed of all the terminals connected to the r th relay.In step (2), we choose a relay r that belongs to the set T and calculate the effective data rate υ ef r given by the minimum between υ 1 r and υ 2 r .In step (3), we check if the worst hop for the selected relay is the hop 2. If so, it means that the MCS level of the terminals transmitting to relay r can be decremented and, consequently, their transmit power can be decreased.In this case, we go to step (4) where we choose a terminal j ∈ J r and identify its current MCS level, m.If the worst hop for relay r is the hop 1, the transmit power can be saved in hop 2 and this will be explained later in Figure 3.
In step (5), for the chosen terminal j and relay r, we calculate the current received data rate of relay r in hop 1, υ 1 r , when terminal j employs MCS m.In step (6) we verify if the total received data rate of relay r in hop 1 is less than the total transmit data rate of relay r in hop 2 or whether the MCS level is m = 0.If not, the MCS level m of terminal j is decreased to m − 1 and step ( 5) is repeated.By decreasing the MCS level, the required transmit power is also reduced.In step (7), the current MCS employed by terminal j is updated to the MCS level m + 1.In step (8), we remove relay r from the set of available relays T and test if the set of available relays is empty.If not, we return to step (2).Otherwise, in step ( 9), we reached the end of the algorithm.
In case the worst hop for relay r in step ( 3) is the hop 1, Begin (1): Define the sets T and Jr that contain all the relays that forward information to BS and all the terminals connected to the r th relay, respectively.
(3): Does the minimum data rate for relay r occurs in hop 2, υ ef r = υ 2 r ?
(4): For each terminal ∈ Jr, calculate the current MCS level m.
(5): For terminal j and relay r: calculate the total transmit data rate υ 1 r in hop 1 when using the MCS level m. in step (10) of Figure 3, we recalculate the total transmit data rate, υ 2 r , of relay r in hop 2 when the MCS level m is used.In step (11) we test if the transmit data rate of relay r in hop 2 is lower than the received data rate of relay r in hop 1 or whether the MCS level is m = 0.In the negative case, the MCS level of relay r is decremented and a new test is performed.In case the new transmit data rate of relay r in hop 2 is lower than υ 1 r , the new transmit power of relay r is calculated in step (12).That is, the minimum power required in relay r to maintain the same total system performance is the power required to reach the MCS level m + 1.In step (13) we update the set T by removing relay r and testing whether set T is empty.if so, in step (15), we reached the end of the algorithm.Otherwise, another relay should be evaluated in step (2) of Figure 2 in order to check for new power savings.

VII. PERFORMANCE EVALUATION
In this section, we present the performance evaluation of the proposed solutions in this article.In subsection VII-A we present the main simulation assumptions and in subsection VII-B we show and analyze the simulation results.

A. Simulation parameters
The main simulation assumptions presented in section III were implemented in a computer simulation.In order to obtain (10): Calculate the total transmit data rate of relay r in hop 2, υ 2 r , when the MCS level m is used on relay r. statistically valid results, different Monte Carlo instances were performed.At each instance, we assume that the BS is located in the center of the coordinate axes and that the R relays are dropped on an arc of a circle with radius d R equally spaced by angles 2π 3R (1 + 1 R−1 ) radians, considering R > 1.For R = 1, we consider that the relay is positioned at the angle of π/3 radians relative to the x-axis.We assume that the mobile terminals are uniformly distributed in a sector of 2π 3 radians delimited by two radii, d 1 = 400 m and d 2 = 600 m.An instance of the relays' and terminals' positions is shown in Figure 4.The cell radius and distances between nodes in the system were chosen so as to provide acceptable average SNR in the receiving nodes according to the assumed channel modeling.The number of terminals, relays nodes and RBs are limited by the computational complexity to obtain the optimal solution.
We assume that each RB is composed of 12 adjacent subcarriers in the frequency domain and is 1 ms long.Thus, the half-duplex transmission takes place in two slots of the time duration of 1 ms each.The propagation effects are composed of a distance-dependent path loss model 2 , a lognormal shadowing component, and a Rayleigh-distributed fast fading component.In addition, the fast-fading component of the channel gain of a given mobile terminal or relay is considered independent among resources [24].We consider that the total power available in each mobile terminal and relay is 24 dBm.In addition, the link adaptation is based on the report of 15 Channel Quality Indicator (CQI) used in LTE-A [25].The mapping between channel quality and MCS was obtained through link level simulations [26].The optimal solution was obtained through the IBM ILOG CPLEX computational library [27].The main simulation parameters used in the simulations are shown in Table I.

B. Results
In Figure 5 we have the average total data rate versus the number of RBs for J = 8 and different number of relays, R. We can observe that the average total data rate increases with the number of RBs for a fixed number of relays.This is an expected result as increasing the number of RBs is equivalently to increase the frequency bandwidth.Furthermore, for a fixed number of RBs, we can notice an improvement of the average total data rate when the number of relays is increased.The main reason for that is the higher spatial/cooperative diversity as the probability of improving the channel links in hops 1 and 2 is increased when the number of relay stations is augmented.A similar behaviour can be seen in Figure 6 where we present the average total data rate versus the number of RBs for R = 3 and different number of terminals, J.In that figure, the higher number of terminals improves the probability of finding channel links in good channel state in hop 1.
In both Figures 5 and 6 we can also observe the relative performance between the optimal and heuristic solutions.Clearly, the heuristic solution presents a performance loss to the optimal solution.However, the maximum performance loss to the optimal solution is approximately 5.37% in the simulated load range for J = 8, R = 3 and N = 16.As it will be clear later, this is an acceptable loss when the computational complexity of both solutions are considered.
In Figure 7 we present the average total data rate versus the distance between the relays and BS where the terminals region is kept unchanged.We can notice that the absolute performance of both algorithms decreases as we increase the distance between the relays and the BS.This behavior is due the fact that increasing the distance between relays and the  BS artificially worsens the channel quality of the links in hop 2 whereas the channel quality of the links in hop 1 is improved (terminals get close to the relays).As the end-toend performance is limited by the worst hop, the total data rate tends to decrease.Another important aspect in Figure 7 is the relative behaviour between the optimal and heuristic solutions.We can see that the highest performance loss of the heuristic solution occurs when the distance between relays and BS is of 200 m.In fact, when the channel quality of the links in both hops are balanced, algorithms that better exploit the space of solutions (such as the optimal algorithm) have potential to achieve higher average data rates.Moreover, the heuristic solutions tends to achieve an almost optimal performance as the distance between relays and the BS increases.
In Figure 8 we present the average runtime in seconds of a snapshot (Monte Carlo repetition) for the optimal and heuristic solutions for different number of relays, R. All results were obtained from a computer configured with Windows 7 operating system with a 2.3 GHz core i5 Intel processor.Firstly, the higher number of relays increases the complexity of the studied problem and in general leads to an augmented runtime although this is more evident for the optimal solution.Furthermore, the runtime of the optimal solution presents an exponential increase with the number of RBs.This is  an expected result as the BB algorithm used to solve the optimization problem presents an exponential worst-case computational complexity equal to O J 2 R 2 N 5 • 2 (JRN 2 ) as shown in appendix A.A. On the other hand, besides the heuristic solution presents drastically lower absolute values for average runtime, they also show a gentle slope increase with the number of RBs.For a fixed value of J = 8, R = 6 and N = 16, the average runtime of the optimal solution is approximately 48 times greater than the execution time of the heuristic solution.The worst-case computational complexity of the proposed heuristic solution is polynomial and given by O JN 3 as shown in appendix A.B.
In the last part of this section we are devoted to evaluate the performance of the proposed PS mechanism presented in section VI-B.In Figure 9 we present the EE in bits/s/W versus the number of RBs for the optimal and heuristic solutions with and without the PS mechanism.The total EE is calculated as the ratio between the total transmit data rate received by the BS and the total consumed power in the system.According to this figure, it is clear that the PS mechanism is capable of boosting the system EE of both optimal and heuristic solutions.For example, for the optimal solution and a fixed value of J = 8, R = 6 and N = 16, when the PS algorithm is used, the EE gain is approximately 23.6% higher in relation to the corresponding solution without PS.In the same scenario for the heuristic solution, the use of PS algorithm leads to a performance gain of 19.6% relative to the case without PS.Basically, the PS mechanism is capable of improving the system EE by exploiting the characteristics of the forwarding method in the relays.The EE gains are obtained by decreasing the total transmit power while the transmit data rate is maintained.Finally, it is worth of mentioning that the heuristic solution with PS method is able to achieve the same EE of the optimal solution without PS.This is an important result as we have shown that the optimal solution requires a formidable computational effort.
Finally, in Figure 10 we present the percentage of total used power in the system versus the number of terminals when the PS method is applied for the optimal and heuristic solution.The percentage of total used power is the ratio between the total used power in all nodes when PS is used and the sum of the total available power in all nodes of the system.We can see that in general the use of the PS mechanism reduces the average transmit power usage in approximately 19.3% for both solutions which could be translated directly to Operational Expenditure (OPEX) savings for wireless system operators.

VIII. CONCLUSIONS AND PERSPECTIVES
In this article we studied the problem of relay selection and Resource Block (RB) assignment in a cooperative network that uses Single Carrier -Frequency Division Multiple Access (SC-FDMA) in the uplink in order to obtain a total data rate maximization.The studied optimization problem was initially formulated as non-linear combinatorial and later reformulated to a Mixed Integer Linear Problem (MILP).In this way, the optimal solution of this problem could be obtained by using a wide range of available computer libraries without resorting to exhaustive search solutions.
In order to reduce the computational complexity of the problem, we proposed an alternative solution for relay selection and RB based on the two-step approach: firstly we solve the problem for hop 2 and then the problem for hop 1.Moreover, in order to address the important topic of Energy Efficiency (EE), we proposed a Power Saving (PS) mechanism that is able to reduce the total used transmit power by exploiting the forwarding method in the relays.
According to the simulation results, our proposed heuristic was able to obtain an acceptable performance loss to the optimal solution with a drastically lower average runtime.In some scenarios, the average runtime for the optimal solution was 48 times greater than the one needed for the heuristic solution.Moreover, the PS mechanism has shown to be effective in improving the EE when combined with the optimal and heuristic solutions.
As perspectives of this work, we can mention the modeling of Quality of Service (QoS) constraints for each terminal (source nodes), design of relay selection and RB assignment that aims at maximizing the system EE and, finally, extension of the problem formulation and solutions to Interleaved Frequency Division Multiple Access (IFDMA) where a different subcarrier arrangment should be considered.

APPENDIX A COMPUTATIONAL COMPLEXITY OF STUDIED ALGORITHMS
The worst-case computational complexity of the optimal and heuristic solutions proposed in this article are presented in appendices A-A and A-B, respectively.The computational complexity considered here is the worst-case one that gives an upper bound on the computational resources required by an algorithm and is represented by the asymptotic notation O (•).As in the articles [28], [29] , we consider summations, multiplications and comparisons as the most relevant and timeconsuming operations.

A. Computational Complexity of Optimal Solution
The formulated optimization problem in the article belongs to the class of integer and linear programming problems and can be solved optimally through the algorithm Branch and Bound (BB).The problem has R + JP R + RP variables and 3R + 2N + J constraints.Considering l as the number of variables and m as the number of constraints, the required total number of operations is given by [28] √ 2 Retaining the term of higher order we have that the worstcase computational complexity is

B. Computational Complexity of Heuristic Solution
The computational complexity of relay selection and RB assignment presented in Figure 1 is given in the following.It is noteworthy that the resource allocation in hop 2 has the worstcase complexity equal to O (R • N ) for R > N or O N 2 when R < N , as presented in [9].
In order to calculate the worst-case computational complexity for the solution in hop 1 we should identify the problem instance that would lead to the highest number of operations.In our algorithm, this corresponds to the case when the solution to hop 2 returns assignments where all relays are active (transmitting to the destination).Furthermore, in the worst case, the allocation of assignment patterns in hop 1 occurs in such way that only resource assignment patterns composed of one RB are chosen.This would lead to the highest number of operations in the algorithm.
The most computationally intense operations in the proposed solution to hop 1 are the steps 4 and 6 in the flowchart presented in

( 6 ): υ 1 r < υ 2 rFigure 2 .
Figure2.Flowchart of the first part of the PS solution to the case when the received data rate by relay r in hop 1 is higher than the transmit data rate of relay r in hop 2.

( 11 ): υ 2 r < υ 1 rFigure 3 .
Figure 3. Flowchart of the second part of PS solution to the case when the received data rate of relay r in hop 1 is smaller than the transmit data rate of relay r in hop 2.

Figure 4 .
Figure 4. Example of studied scenario for J = 6 and R = 3.

= 6 Figure 5 .
Figure 5. Average total data rate versus number of RBs for Optimal and Heuristic solutions when J = 8, R = 3 and 6 and the distance between the relays and the BS is of 300 m.

8 Figure 6 .
Figure 6.Average total data rate versus number of RBs for Optimal and Heuristic solutions when R = 3, J = 4 and 8 and the distance between the relays and the BS is of 300 m.

Figure 7 .
Figure 7. Average total data rate versus the distance between relays and BS for Optimal and Heuristic solutions when N = 16, R = 3 and J = 8.

= 6 Figure 8 .
Figure 8.Average runtime versus RBs for Optimal and Heuristic solutions when J = 8, R = 3 and 6 and the distance between the relays and the BS is of 300 m.

Figure 9 .
Figure 9. EE versus number of RBs with and without PS for Optimal and Heuristic solutions considering J = 8, R = 3 and the distance between the relays and the BS of 300 m.

Figure 10 .
Figure 10.Average percentage of total power used after power adjustment versus number of terminals for Optimal and Heuristic solutions when R = 3 and N = 16 and the distance between the relays and the BS is of 300 m.

Figure 1 .
The operation in step 4 requires |J A |.|P A | comparisons and |J A |.|P A | summations per iteration.From one iteration to another we can assume that the size of set J A decreases by a unit and P A decreases by N .Assuming that initially J A = J and P A = P we have that the total number of comparisons and summations are each N i=1 ((J − i) .(P − i.N )) that has N JP as upper bound.Therefore, an upper bound on the number of operations in step 4 is 2N JP .In step 6 we also have an upper bound of JP N comparisons.Therefore, keeping only the high order terms we have that the worst-case computational complexity is O (N JP ) or O JN 3 .Francisco Rodrigo Porto Cavalcanti received the D.Sc.degree in Electrical Engineering from the State University of Campinas, São Paulo, Brazil, in 1999.Upon graduation, he joined the Federal University of Ceará (UFC), where he is currently an Associate Professor and holds the Wireless Communications Chair at the Department of Teleinformatics Engineering.In 2000, he founded, and since then has directed, the Wireless Telecom Research Group (GTEL), which is a research laboratory based on Fortaleza, Brazil, which focuses on the advancement of wireless telecommunications technologies.At GTEL, he manages a 19-year long program of research projects in wireless communications sponsored by Ericsson Research.In 2017 he was a visiting researcher to Ericsson's main site at Stockholm, Sweden.Prof. Cavalcanti has produced a varied body of work including books, papers, patents and software dealing with wireless access networks and technologies.Prof. Cavalcanti is a distinguished researcher of the Brazilian Scientific and Technological Development Council for his technology development and innovation record.He also holds a Leadership and Management professional certificate from the Massachusetts Institute of Technology, Cambridge, USA.