# After adding new constraints, cvx_status is 'Infeasible'

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!

The multiplication sign is omitted from the expression here, but it is actually present.

You have not provided a reproducible problem, so I will refer you to https://yalmip.github.io/debugginginfeasible , which, other than section 1, also applies to CVX.

Is is certainly possible that adding constraints can transform a feasible problem into an infeasible problem. For instance, if the only constraint is `x >= 0`, the problem is feasible. If the constraint `x <= -1` is added, the problem becomes infeasible.

When you are trying to figure out what is going on, do NOT use `quiet`. Without `quiet`, the solver and CvX output will be displayed, which might be helpful.

OK, I got it, thank you very much,Mark! I’m going to drop ‘quite’ to find out why it doesn’t work.