My optimization problem is as follows
My code is as follows
cvx_begin
variable Psi_hat(M+1, M+1)
variable gamma_k(K,1)
variable zeta_k(K,1)
cvx_solver mosek
R_sum =0;
for k = 1:K
temp0(k) = log(exp(gamma_k(k) - zeta_k(k)))/log(2);
R_sum = R_sum + temp0(k);
end
for k = 1:K
A(:,:,k) = [F(:,:,k)W_k_ini(:,:,k)F(:,:,k)’ F(:,:,k)W_k_ini(:,:,k) H_d_H(k,:)';…
H_d_H(k, W_k_ini(:,:,k) F(:,:,k)’ 0 ];
B(:,:,k) = [F(:,:,k)diag(diag( W_k_ini(:,:,k)))F(:,:,k)’ F(:,:,k)diag(diag( W_k_ini(:,:,k))) H_d_H(k,:)';…
H_d_H(k, diag(diag( W_k_ini(:,:,k))) F(:,:,k)’ 0 ];
Z(:,:,k) =diag([H_r_H(k, 0])* diag([H_r_H(k,:)‘;0]);
end
for k = 1:K
C(:,:,k) =[(G*W_k_ini(:,:,k)*G’).eye(M,M) zeros(M,1);…
zeros(1,M) 0 ];
D(:,:,k) = [(Gdiag(diag( W_k_ini(:,:,k)))*G’).*eye(M,M) zeros(M,1);…
zeros(1,M) 0 ];
end
temp1_all = 0;
for k = 1:K
temp1 (k) =real(trace(A(:,:,k)*Psi_hat)) + real(H_d_H(k,:)*W_k_ini(:,:,k)*H_d_H(k,:)');
temp1_all = temp1_all + temp1(k);
end
for k = 1:K
temp1__all (k) = temp1_all - temp1(k);
end
temp2_all = 0;
for k = 1:K
temp2 (k) =real(trace(B(:,:,k)Psi_hat)) + real(H_d_H(k,diag(diag( W_k_ini(:,:,k)))H_d_H(k,:)');
temp2_all = temp2_all + temp2(k);
end
for k = 1:K
temp3 (k) = active_noise_maxpower_originalreal(trace(Z(:,:,k)Psi_hat)) + noise_maxpower_original;
end
for k = 1:K
constraint_1(k) = abs(alpha)^2temp1_all+ alpha(1-alpha)temp2_all + temp3 (k) ;
end
for k = 1:K
constraint_5(k) = abs(alpha)^2temp1__all(k) + alpha(1-alpha)*temp2_all + temp3 (k) ;
end
temp3_1_all = 0;
for k = 1:K
temp3_1(k) = real(trace( C(:,:,k)Psi_hat));
temp3_1_all = temp3_1_all + temp3_1(k) ;
end
temp3_2_all = 0;
for k = 1:K
temp3_2(k) = real(trace( D(:,:,k)Psi_hat));
temp3_2_all = temp3_2_all+ temp3_2(k) ;
end
constraint_3= abs(alpha)^2temp3_1_all+ alpha(1-alpha)temp3_2_all + active_noise_maxpower_original(trace(Psi_hat)-1) ;
minimize -real(R_sum)
subject to
for k = 1:K
real(constraint_1(k))>= real(exp(real(gamma_k(k))))*1e8;
real(constraint_5(k))<= real(exp(relax_scaler_zeta_ini(k))*real(zeta_k(k)-relax_scaler_zeta_ini(k) + 1))*1e8;
end
real(constraint_3)<=Pr_max;
for m = 1:M
1<= diag(Psi_hat(m,m)) <=a_max;
end
diag(Psi_hat(M+1,M+1) )==1;
Psi_hat == hermitian_semidefinite(M+1);
cvx_end
My results(This value is the approximate value of the original objective function) are as follows
① The value of mosek solver optimization
② The results displayed during the first mosek solver run
However, when I calculated the value of the original objective function with the optimized variables, the result was as follows