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

%% -----------------------------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?

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?

I have read it but I donâ€™t find a solution for the problem I have.
subject to
for iUserIndex = 1 : NumberOfUsers
zeros(1 , NumberOfAPs) <= Mu_New <= ones(1 , NumberOfAPs);
New_Eita >= zeros(NumberOfUsers , NumberOfAPs);
sum(New_Eita.^2 .* ALL_Users_Gamma_k) <= Mu_New.^2;
end
Matlab gives me this error
Error using cvxprob/newcnstr (line 192)
Disciplined convex programming error:
Invalid constraint: {convex} <= {convex}

Actually, this is not my optimization problem. I am just trying to implement the same problem that mentioned above and I got the same error !!

If Mu_New. only appears as shown (and not otherwise in non-squared form), then you can use something along the lines of (this may not be quite right, because you donâ€™t seem to have paid much attention to the indexing, and in any event have not shown us your complete code, including variable declarations):

unfortunately, it appears in non-squared form in other constraints.
sorry for bothering you but I have just started working on optimization and I have one more question that may helps. if its is a slack variable the definition will be changed or it will be the same as other variables ?!.

if its is a slack variable the definition will be changed or it will be the same as other variables ?!.

Is what definition changed? A slack variable is declared the same as any other variable. You can include the nonnegative keyword as part of the declaration, or add a constraint to constrain it to be nonnegative.