TABLE I Algorithm I: WSR optimal allocation fractions Proposition 3. The optimal solution to (3) can be determined using Algorithm I whenever the necessary and sufficient condition for feasibility, ∑ b ∈B ′ ¯ h (Γ$_{b}$ , b ) ≤ 1 , holds. For any fixed budgets { Γ$_{b}$ } ∀ b ∈ B ′ 1 satisfying the feasibility condition, ˆ O (Γ , { Γ$_{b}$ } ) is continuous, non-decreasing, piecewise linear and concave in Γ ∈ [ ∑ b ∈B ′ 1 ¯ h (Γ$_{b}$ , b ) , 1] . Proof. First note that using Proposition 2 with (10), we see that we are maximizing |B ′ $_{1}$| piecewise linear concave functions subject to a linear budget constraint. Notice that in Algorithm I we always choose the pico TP yielding the highest slope and assign it as much resource as possible till the point that maximal slope changes. This greedy strategy is optimal for the problem at hand because: (i) each slope curve S ( Z$_{b}$, Γ$_{b}$ , b ) , Z$_{b}$ ≥ ¯ h (Γ$_{b}$ , b ) is a piecewise constant function in Z$_{b}$ and (ii) any Macro resource assigned to any TP b ′ has no influence on the slope curve of any other TP b = b $^{′}$, b ∈ B ′ $_{1}$. More formally, (10) can be shown to equivalent to the maximization of a modular function subject to a cardinality constraint for which the greedy strategy is optimal. Next, the claimed properties of ˆ O (Γ , { Γ$_{b}$ } ) directly follow from the facts in Proposition 2 that in (10) each ˆ O ( Z$_{b}$, Γ$_{b}$ , b ) is continuous, non-decreasing, piecewise linear and concave in Z$_{b}$ . Let Γ = [Γ$_{b}$]$_{b}$$_{∈B}$ ′ 1 denote any vector of all pico budgets and let S ( Z, Γ ) denote the slope curve of ˆ O ( Z, Γ ) = ˆ O ( Z, { Γ$_{b}$ } ) for Z ≥ ∑ b ∈B ′ 1 ¯ h (Γ$_{b}$ , b ) , which from Proposition 3 we know to be piecewise constant and non-increasing in Z . We then have the following corollary. 1: Initialize with B ′ $_{1}$, U ( b $^{)}$, b ∈ B ′ $_{1}$. Set Z$_{b}$ = ¯ h (Γ$_{b}$ , b ) , ∀ b ∈ B ′ 1 and C = Γ − ∑ b ∈B ′ 1 Z$_{b}$ . 2: For each pico TP b ∈ B ′ $_{1}$, if Z$_{b}$ = 0 then distribute the slack at that pico, Γ$_{b}$ − ∑ j ∈U ( b ) R min j R$_{j,b}$ , among users in U ( b $^{)}$. 3: Repeat 4: Determine ˆ b = arg max$_{b}$$_{∈B}$ ′ $_{1}${ S ( Z$_{b}$, Γ$_{b}$ , b ) } 5: Determine ˆ Δ = sup { Δ ∈ I R$_{+}$ : S ( Z$_{ˆ}$ b + Δ , Γ$_{ˆ}$ $_{b}$, ˆ b ) = S ( Z$_{ˆ}$ $_{b}$, Γ$_{ˆ}$ $_{b}$, ˆ b ) } . 6: Increment Z$_{ˆ}$ b = Z$_{ˆ}$ b + min { C, ˆ Δ } and update C = max { 0 , C − ˆ Δ } . 7: Until C = 0 . 8: Output { Z$_{b}$ } , ∀ b ∈ B ′ $_{1}$, the corresponding allocation fractions { θ$_{u,}$$_{1}$, γ$_{u,b}$ } , ∀ u ∈ U ( b $^{)}$, b ∈ B ′ $_{1}$.