I am stuck in this problem because it is solved quite slow. My code is as following:
cvx_begin
variables pm1 pm2 pm3 pm4 pm5 pm6
maximize sum(am1.*log(1+pm1.*C1’))+sum(am2.*log(1+pm2.*C2’))+ sum(am3.*log(1+pm3.*C3’))+ sum(am4.*log(1+pm4.*C4’))+ sum(am5.*log(1+pm5.*C5’))+ sum(am6.*log(1+pm6.*C6’))
subject to
0<pm1<=P_max;
0<pm2<=P_max;
0<pm3<=P_max;
0<pm4<=P_max;
0<pm5<=P_max;
0<pm6<=P_max;
cvx_end
where C_i=|g_i|^2/{Q_i^m[n]*2*\delta^2}
.
I takes a quite long time to perform the problem, Somtimes my computer even crashed due to the running so that I had to terminate it.
I think the problem results from the functions ‘log’ which requires successive approximation. So could somebody suggest an equivalent formulation that CVX can process more efficiently?
Thanks in advance.