11 Algorithm 2 Centralized Scheme A 1) Input: [ H$_{l}$ ] , [ A$_{l}$ ] , [ P$_{l}$ ] , [ G$_{lj}$ ] where α$_{n,k,l}$ = 0 , p$_{n,k,l}$ = P$_{k,}$$_{max}$/N ∀ k, ∀ n Subcarrier Allocation (Phase I) 2) For each user k in cell l , power is divided equally over all of its allocated subcarriers and the remaining unallocated subcarriers of the system. Initial Allocation: 3) Using [ P$_{l}$ ] from step 2, [ H$_{l}$ ] and [ G$_{lj}$ ] , compute χ$_{n,k,l}$ for every k th user at n th subcarrier in cell l . 4) Find the ( n, k ) pair that has the maximum value of χ$_{n,k,l}$ . Allocate subcarrier n to user k . 5) Delete the n th subcarrier from the set of unallocated subcarriers. If there are still unallocated subcarriers in the system go to step 2, else terminate after distributing the maximum power at each user over all of its assigned subcarriers Maximize Throughput Iteratively until Convergence do while ( C$_{new}$ − C$_{o}$ ≥ ϵ ) l = 1 , do while l ≤ L, l = l + 1 n = 1 , do while n ≤ N, n = n + 1 k = 1 , do while k ≤ K, k = k + 1 6) Compute C$_{o}$ 7) Allocate the subcarrier n to user k . 8) Compute p$_{n,k,l}$ by dividing P$_{k,}$$_{max}$ equally among the allocated subcarriers. 9) Compute C$_{n,k,l}$ − C$_{o}$ end 10) Allocate subcarrier n to the user who maximizes C$_{n,k,l}$ − C$_{o}$ end 11) Compute C$_{new}$ using (1). 12) C$_{o}$ = C$_{new}$ end Power Allocation (Phase II) 13) Compute the optimal powers P$_{l}$ in the high SINR regime (7) given the allocations from Phase I. 14) For general SINR regime, take P$_{l}$ from step 13 as an initial starting point. 15) Using P$_{l}$ , evaluate p$_{n,k,l}$h$_{n,k,l}$ + σ $^{2}$+ I$_{n,l}$ for each allocated user k in cell l at subcarrier n . 16) Compute the weights s$_{n,k,l}$ as follows: s$_{n,k,l}$ = u$_{n,k,l}$ f ( p ) 17) Approximate the posynomial using (13). 18) Solve the approximated GP using any available commercial software [13] 19) Go to step 15 using P$_{l}$ of step 18 until convergence. DRAFT March 19, 2018