My problem is in SDP programming mode. I have one constraint which is min(…) > threshold. So I formulate the problem and introduce slack variable as follows
variable X(M, N) nonnegative; <-slack variables
variable Q(:, :, : ) hermitian semidefinite;
variable eta nonnegative;
maximize( eta ) subject to for m=1:M tmp = cvx(zeros(1,1)); for n=1:N ... >= X(m, n); X(m, n) >= threshold; end tmp = tmp + X(m, n); end ...
However, CVX does not accept with an error “SDP constraint must be square.” Exactly the error comes from X(M,N) due to wrong declare. So how can I reformulate the slack variable X(M,N) to obtain the constraint min(…) >= threhold?
Thanks so much