Algorithm 2

DC Programming Algorithm for Power Allocation

1) Initialize P ( 0 ) , set iteration number m = 0 .

2) The Objective function Q ( P ) , convex functions F ( P ) and G ( P ) .

3) do { define convex approximation of G ( m ) ( P ) at P ( m ) as

4) G ( m ) ( P ) = F ( P ) G ( P ( m ) ) G T ( P ( m ) ) ( P P ( m ) ) (27)

5) solve the convex problem

6) P ( m ) = arg min P 1 = P s , p n p n , min Q ( m ) ( P ) (28)

7) k + +

8) } while ( | Q ( P ( M + 1 ) ) Q ( P ( m ) ) | ε );

9) end