The problem is given as follows :
\begin{array}{l}
\mathop {\max }\limits_{{p_{i,}}{\tau _{{k_2}}}\left[ n \right],{\gamma _{j \to {k_2}}}\left[ n \right]} \sum\limits_{{k_2} = 1}^{{K_2}} {\sum\limits_{n = 1}^N {{\tau _{{k_2}}}\left[ n \right]} } \\
{\rm{s}}{\rm{.t}}{\rm{.}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {R_{{k_2}}}\left[ n \right] - {\gamma _{j \to {k_2}}}\left[ n \right] \ge {\tau _{{k_2}}}\left[ n \right],\forall n,{k_2},j \in {{\cal K}_1}\\
{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\gamma _{j \to {k_2}}}\left[ n \right] \ge {R_{j \to {k_2}}},\forall n,{k_2},j \in {{\cal K}_1}\\
{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 0 \le {p_i} \le {P_{\max }},\forall i,
\end{array}
where
\begin{array}{l}
{R_{{k_2}}}\left[ n \right] = B\sum\limits_{{m_2} = 1}^{{M_2}} {{a_{{k_2},{m_2}}}\left[ n \right]{{\log }_2}\left( {1 + \frac{{{p_{{m_2}}}\left[ n \right]{h_{{k_2},{m_2}}}\left[ n \right]}}{{\sum\limits_{i \in {{\cal M}_2}\backslash \left\{ {{m_2}} \right\} \cup {{\cal M}_1}} {{p_i}\left[ n \right]{h_{{k_2},i}}\left[ n \right]} + {\sigma ^2}}}} \right),{k_2} \in {{\cal K}_2},{m_2} \in {{\cal M}_2},\forall n} \\
{R_{j \to {k_2}}} = B\sum\limits_{{m_2} = 1}^{{M_2}} {{a_{{k_2},{m_2}}}\left[ n \right]{{\log }_2}\left( {1 + \frac{{{p_{{m_2}}}\left[ n \right]{h_{j,{m_2}}}\left[ n \right]}}{{\sum\limits_{i \in {{\cal M}_2}\backslash \left\{ {{m_2}} \right\} \cup {{\cal M}_1}} {{p_i}\left[ n \right]{h_{j,i}}\left[ n \right]} + {\sigma ^2}}}} \right),j \in {{\cal K}_1},{m_2} \in {{\cal M}_2},\forall n}
\end{array}
Since the problem is non-convex with respect to power p_i, i employ the successive convex approximation technique, specifically, take the first Taylor expand with non-convex constraint, however, the cvx cannot solve it (sdpt3,mosek,sedumi). The code is given as follows:
function [ p] = PowerallocationUsingCVX(p_initial,a, q)
%UNTITLED2 æ€ć€æŸç€șæć
łæ€ćœæ°çæèŠ
% p_initial is initial power
global K1 K2 M1 M2 User_Position sigma belta H N B P_max
for n=1:N
for m=1:M1+M2
for k=1:K1+K2
h(k,m,n)=belta/(sum_square(q(:,m,n+1)-User_Position(:,k))+H^2);
end
end
end
cvx_begin
%cvx_solver mosek
%cvx_solver sedumi
cvx_solver sdpt3
variable tau(K2,N)
variable p(M1+M2,N)
variable gamma_vari(K1,N)
for n=1:N
for k=1:K1+K2
for m=1:M1+M2
R_bar(k,m,n)=B*1/log(2)*log(h(k,:,n)*p(:,n)+sigma);
end
end
end
for n=1:N
for k=1:K1+K2
for m=1:M1+M2
R_wave(k,m,n)=B/log(2)*log(h(k,:,n)*p(:,n)-h(k,m,n)*p(m,n)+sigma);
end
end
end
for n=1:N
for k=1:K1+K2
for m=M1+M2
A(k,m,n)=h(k,m,n)/(h(k,:,n)*p_initial(:,n)-h(k,m,n)*p_initial(m,n)+sigma)*(p(m,n)-p_initial(m,n));
end
end
end
for n=1:N
for k=1:K1+K2
for m=1:M1+M2
R_wave_up(k,m,n)=B/log(2)*log(h(k,:,n)*p_initial(:,n)-h(k,m,n)*p_initial(m,n)+sigma)+...
B/log(2)*(sum(A(k,:,n))-A(k,m,n));
end
end
end
for n=1:N
for k=1:K1+K2
for m=1:M1+M2
R_bar_up(k,m,n)=B/log(2)*log(h(k,:,n)*p_initial(:,n)+sigma)+...
B/log(2)*sum(A(k,:,n));
end
end
end
maximize sum(sum(tau))
subject to
for n=1:N
for k=1:K2
sum((R_bar(K1+k,[M1+1:M1+M2],n)-R_wave_up(K1+k,[M1+1:M1+M2],n)).*a(k,:,n))-max(gamma_vari(:,n))>=tau(k,n);
end
end
for n=1:N
for k=1:K2
gamma_vari(:,n)>=sum((R_bar_up(k,[M1+1:M1+M2],n)-R_wave(k,[M1+1:M1+M2],n)).*a(k,:,n));
end
end
0<=p<=P_max;
cvx_end
end
for example, i use solver sedumi, the window shows
_Successive approximation method to be employed._
_ SeDuMi will be called several times to refine the solution._
_ Original size: 9296 variables, 3216 equality constraints_
_ 328 exponentials add 2624 variables, 1640 equality constraints_
_ -----------------------------------------------------------------_
_ Cones | Errors |_
_ Mov/Act | Centering Exp cone Poly cone | Status_
_ --------±--------------------------------±--------_
_ 0/313 | 8.000e+00 1.687e+02 1.687e+02 | Failed_
_ 26/231 | 8.000e+00 1.854e+02 1.825e+02 | Failed_
_ 85/252 | 8.000e+00 8.870e+01 7.962e+01 | Failed_
_ 90/288 | 8.000e+00 1.223e+02 1.059e+02 | Failed_
_ 83/313 | 8.000e+00 1.247e+02 1.029e+02 | Failed_
_ 115/314 | 8.000e+00 2.374e+02 2.078e+02 | Failed_
_ -----------------------------------------------------------------_
_ Status: Failed_
_ Optimal value (cvx_optval): NaN_
Any one can help me ? Thanks in advance .