n = 5;
sigma = 0.5*ones(n,1);
Pmin = 0.1*ones(n,1);
Pmax = 5*ones(n,1);
SINR_min = 2;
G = [1.0 0.1 0.2 0.1 0.0
0.1 1.0 0.1 0.1 0.0
0.2 0.1 2.0 0.2 0.2
0.1 0.1 0.2 1.0 0.1
0.0 0.0 0.2 0.1 1.0];
cvx_begin gp
variable P(n)
minimize( sum(P) )
subject to
Gdiag = diag(G);
Gtilde = G - diag(Gdiag);
inverseSINR = (sigma + Gtilde*P)./(Gdiag.*P);
Pmin <= P <= Pmax;
inverseSINR <= (1/SINR_min);
cvx_end
fprintf(1,'\nThe minimum total transmitter power is %3.2f.\n',cvx_optval);
disp('Optimal power levels are: '), P
Successive approximation method to be employed.
SDPT3 will be called several times to refine the solution.
Original size: 99 variables, 63 equality constraints
26 exponentials add 208 variables, 130 equality constraints
-----------------------------------------------------------------
Cones | Errors |
Mov/Act | Centering Exp cone Poly cone | Status
--------+---------------------------------+---------
26/ 26 | 2.249e+00 3.586e-01 0.000e+00 | Solved
26/ 26 | 4.538e-01 1.436e-02 0.000e+00 | Solved
25/ 26 | 2.987e-02 6.195e-05 0.000e+00 | Solved
6/ 17 | 1.547e-03 1.651e-07 0.000e+00 | Solved
0/ 0 | 7.256e-05 0.000e+00 0.000e+00 | Solved
-----------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +17.0014
The minimum total transmitter power is 17.00.
Optimal power levels are:
P =
3.6601
3.1623
2.9867
4.1647
3.0276