my code has a constraint on Q_new Variable that is N * 2 Matrix;
the constraint is Q_new(1,:)’ == Q_new(N,:)’; i.e. first and last row of this matrix should be the same.
but in my CVX solution all of the columns of Q are the same;
this is not optimal
my code
cvx_begin
variable Q_new(N,2)
gama0 = P * db2pow(row0) / db2pow(sigma2);
expression R(K,1);
expression r;
for i = 1 :1: K
for n = 1:1: N
r = r + a(n,i) * ( (gama0 * log2(exp(1)))/(H^2 + norm(Q(n,:)-X(i,:))^2)/...
(H^2 + norm(Q(n,:)-X(i,:))^2 + gama0) *...
(- square_pos(norm(Q_new(n,:)-X(i,:)))+ norm(Q(n,:)-X(i,:))^2 )...
+ log2(1 + gama0/(H^2+ norm(Q(n,:)-X(i,:))^2)) );
end
R(i) = r;
end
variable eta_lb
maximize eta_lb
subject to
eta_lb * ones(K,1) <= R;
square_pos(norms(Q_new(2:N,:)-Q(1:N-1,:),2,2)) <= Smax^2 * ones(N-1,1) ;
Q_new(1,:)' == Q_new(N,:)';
cvx_end
CVX solution:
Q =
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040
584.0711 -593.8040