Problem with Slow speed of a code


(siavash) #1

I want to solve a max-min problem that have logarithmic constraints. My code is as below,

cvx_begin quiet
variables Pc Pd(num_UE_d2d_Rx) T;
Pd_matrix = kron(exp(Pd),ones(1,num_UE_d2d_Tx));
interference_cellular = sum(row.*sum(row_prime.*Pd_matrix.*g_prime_2,2));
maximize T 
subject to
    -log(exp(Pc)*h_2)*log2(exp(1)) + log((interference_cellular+N0))*log2(exp(1)) +T <= 0;
    for k=1:num_UE_d2d_Rx
        if row(k) ~= 0
            interference_d2d(k) = sum(row.*sum(row_prime.*Pd_matrix.*g_zegond_2(:,:,k),2));
            -log(exp(Pd(k))*g_2(k))*log2(exp(1)) + log(exp(Pc)*h_prime_2(k) + interference_d2d(k) +
             N0)*log2(exp(1)) + T <= 0;
        else
            Pd(k) == 0;
        end
    end
    Pc <= log(Pc_max);
    Pd <= log(Pd_max);
    -T + log(SINR_min)*log2(exp(1)) <= 0
cvx_end

My problem is that my code has been running very slow.
Is there any solution for this very slow speed?
Thanks a lot.


(Basem El Halawany) #2

how do you handle the max-min objective function here

I read that this is a quasi convex that need to be solved iteratively using the bisection search but i do not see this in your code
if you already published this work, kindly send me the name of the paper
thanks