I'm a newbie in optimization and trying to use YALMIP to solve some integer programming problem (finding quantized coefficients for an FIR filter).
I'm trying to understand the difference between using:
sol = solvesdp(Constraints,Objective);
for which the solution is found in less than 10 seconds, and the values of b are all between -1024 and 1024.
Now, for the exact same problem, I tried to declare b as:
b = sdpvar(8,1);
constraint= ismember(b, [-1024:1:1024]);
for which the solver keeps running for hours. I would think that internally those two are identical problems. I'd like to understand this better as I was wanting to constrain 'b' to be from a much more restrained set and want to make sure I can trust the result...if it can't solve it with the current set above, which I know contains the best possible result, something is wrong with my understanding of 'ismember'.
Thanks!
David