Disciplined convex programming error: Invalid constraint: {convex} <= {convex}


(zy) #1

I am new to CVX and i tried the following optimization problem:
I cut out most of the code to keep only the wrong part. I wrote the formula in the picture
error
%% ---------------------------------------------------------------------
cvx_begin
variable rou(K,K)
variable V(M,1)
variable cauy(M,K)
sb2_left = cvx(zeros(M,1));
sb2_right = cvx(zeros(M,1));

%% -----------------------------calculate subect 2 left
for m=1:M
sb2_left(m) = sum(Gamma(m,: ) .* (cauy(m,:).^2));
end
%% -----------------------------calculate subect 2 right
for m=1:M
sb2_right(m) = V(m)^2;
end
%% -----------------------------subject------------------------------
subject to
for m=1:M
sb2_left(m) <= sb2_right(m);
end
for m=1:M
0 <= V(m) <=1;
end
cvx_end
i got the following error message for line 20 in my code, sb2_left(m) <= sb2_right(m) ;:
Disciplined convex programming error: Invalid constraint: {convex} <= {convex}
What’s wrong?
can anyone help me with this problem?


(Michael C. Grant) #2

This is addressed in the FAQ.


(zy) #3

Thanks for your reply. I read the FAQ based on your suggestion, I think my constraint is not in line with the DCP ruleset. This problem has been proved to be quasi-convex, so to solve some of the feasibility issues. My purpose is to reproduce the original author’s results, how can I modify the constraint expression, can you give me some advice?