I’m having trouble with a CVX code. It solves a problem with three constraints, but the solution always violates the last one. The problem is as:
cvx_begin
variable F1(nR,nR) complex
fo4 = 0;
for m = 1:M
num = ssigma_we*(ssigma_wR*norm(gop{m})^2+alpha(m)* ...
trace(real(gop{m}'*H{m}*H{m}.'*F1*conj(H{m})* ...
H{m}'*gop{m})));
den = ssigma_wR*norm(gop{m})^2*(ssigma_we+alpha(m)* ...
trace(real(Hev{m}*H{m}.'*F1*conj(H{m})*Hev{m}')));
fo4 = fo4 + tav(m)*log(real(2*w{m}*sqrt(num) - w{m}^2*den))/log(2);
end
maximize(fo4);
subject to
abs(trace(F1))-PT <= 0;
F1 == hermitian_semidefinite(nR);
for m = 1:M
num = ssigma_we*(ssigma_wR*norm(gop{m})^2+alpha(m)* ...
trace(real(gop{m}'*H{m}*H{m}.'*F1*conj(H{m})* ...
H{m}'*gop{m})));
den = ssigma_wR*norm(gop{m})^2*(ssigma_we+alpha(m)* ...
trace(real(Hev{m}*H{m}.'*F1*conj(H{m})*Hev{m}')));
R0(m) - tav(m)*real(log(real(2*w{m}*sqrt(num) - w{m}^2*den)))/log(2) <= 0;
end
cvx_end
Any ideas on how to fix it? Maybe adjustments to the constraint definition or the problem setup?
Thanks in advance!