Your constraint is going the wrong direction to be convex.
The quadratic forms are convex if the matrix is hermitian positive semidefinite.
{convex} <= affine
is a convex constraint.
affine <= {convex}
is not a convex constraint.
Maybe you should read the first several chapters of https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf to learn the basics of convex optimization.
Thanks for your reply.
I used a trick to tackle this issue. Here is the modified optimization problem.
cvx_begin
cvx_solver mosek
variable phi_ut(N,1) ;
variable phi_ur(N,1) ;
variable Phi_ut(N,N) hermitian;
variable Phi_ur(N,N) hermitian;
variable Y nonnegative;
variable t(K);
maximize Y ;
subject to
for q =1:K
t(q) >= phi_ut'*Omega_t(:,:,q) *phi_ut - 2*real(omega_t(q,:)*phi_ut) + phi_ur'*Omega_r(:,:,q) *phi_ur - 2*real(omega_r(q,:)*phi_ur);
Y <= t(q);
end
for i=1:N
AA(i) = Phi_ut(i,i);
BB(i) = Phi_ur(i,i);
end
AA + BB == ones(1,N);
Phi_ut == hermitian_semidefinite(N);
Phi_ur == hermitian_semidefinite(N);
cvx_end
At this point, It gets me this error. It is about scaling?
Interior-point solution summary
Problem status : DUAL_INFEASIBLE
Solution status : DUAL_INFEASIBLE_CER
Primal. obj: -1.0000000000e+00 nrm: 1e+00 Viol. con: 0e+00 var: 0e+00 barvar: 0e+00 cones: 0e+00
Optimizer summary
Optimizer - time: 0.00
Interior-point - iterations : 0 time: 0.00
Basis identification - time: 0.00
Primal - iterations : 0 time: 0.00
Dual - iterations : 0 time: 0.00
Clean primal - iterations : 0 time: 0.00
Clean dual - iterations : 0 time: 0.00
Simplex - time: 0.00
Primal simplex - iterations : 0 time: 0.00
Dual simplex - iterations : 0 time: 0.00
Mixed integer - relaxations: 0 time: 0.00
Status: Unbounded
Optimal value (cvx_optval): +Inf
Your “trick” changed the problem and made it completely nonsensical and unbounded. In your new formulation, Y
needs to be less than max(t)
, and min(t)
needs to be greater than something. So nothing stops the t
from being arbitrarily large, and hence nothing stops the objective Y
from being arbitrarily large, i.e., unbounded. Everything else in the formulation is irrelevant, provided that it is feasible, which it is.
You essentially try to model the set norm(x)>=something
i.e. the complement of a ball. This is in many ways one of the “hardest” non-convex sets and no amount of reformulation tricks will help. If you really need this constraint you need a solver supporting at least non-convex QPs (and not CVX).