I’m new in CVX.
I wrote a code of a convex problem and I get answer.
but my objected function respect to answer is way difference from article.
this is my code:
M = 5;
UE = 2;
d = randi([1 50],1,UE);
beta = 3.8;
R_min = [1, 1.5, 2, 2.5, 3];
N0 = 0.01;
power = zeros(length(R_min),1);
h = (sqrt(1/2)*complex(randn(M,UE),randn(M,UE))).*sqrt(d.^(-beta));
[hs, hi] = sort(vecnorm(h));
h = h(:,hi);
variable W(M,M,UE) hermitian semidefinite
trace_W = 0;
trace_W = trace_W + trace(W(:,:,ii));
s = 0;
H = h(:,l)*h(:,l)';
s = s + trace(H*W(:,:,m));
power(i) = trace_W;
but power output is in range of 10e4 for different R_min and in article the answer is in range of 10
this is optimization problem in artilce:
The high is more than 3 orders of magnitude greater than the low. So aside from any differences in the program and whether it was implemented correctly by you and/or the article authors, obviously the input data values matter in your program…
Thanks for your help
there is another optimization in this article that should have same result as this one.
In comparison of these two methods this one does not give right answer all the time (with same random numbers)
and also add more constraint to problem to control “The high”, did not help.
is there anything else that can solve this issue?