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.