The cvx_status obtained by the original optimization problem is ‘solved’, but when a new constraint (2) is added, the obtained cvx_status is ‘Infeasible’。The newly added constraint is also convex, but why does it make the problem ‘Infeasible’? Hope someone can help me out. thank you very much!
Among them, v and W are the matrix with given value, the value of noise and t have been given, and Q , Betaa and z are the variables to be optimized.
The original optimization problem:
cvx_solver mosek
cvx_save_prefs
cvx_begin quiet
variable Q(N+1,N+1) hermitian
variables Betaa(1)
variable z(1)
constraint(1) = trace(QvW*v’)+noise-z;
maximize 1/t(log(1+Betaa)/log(2)
subject to
real(constraint)<=0;
Q == hermitian_semidefinite(N+1);
diag(Q) ==1;
cvx_end
At this time, cvx_status: ‘solved’.
Optimization problem after adding new constraints:
cvx_solver mosek
cvx_save_prefs
cvx_begin quiet
variable Q(N+1,N+1) hermitian
variables Betaa(1)
variable z(1)
constraint(1) = trace(EvWv’)+noise-z;
constraint(2) = trace(EvWv’)-R(trace(EvW*v’)+noise);
maximize 1/t(log(1+Betaa)/log(2)
subject to
real(constraint)<=0;
Q == hermitian_semidefinite(N+1);
diag(Q) ==1;
cvx_end
At this time, cvx_status: ‘Infeasible’.
I hope you can give me some advice, thanks!