Z is a matrix variable that results from a CVX SDP code using Matlab; how can I include a constraint that the values of the elements of matrix Z should be either zero or one?
There is the "banded" option but it doesn't work for matrices.
Z is a matrix variable that results from a CVX SDP code using Matlab; how can I include a constraint that the values of the elements of matrix Z should be either zero or one?
There is the "banded" option but it doesn't work for matrices.
You cannot as cvx does not support integer semidefinite programming (the special case when Z is 2x2 would be possible as that is SOCP representable, and thus solvable through the interfaced mixed-integer SOCP solver Mosek).
If you want to stay in MATLAB, you can easily convert your code to YALMIP (shameless plug, developed by me) as mixed-integer SDPs are supported there (Z=binvar(n) and you are basically done). Note though, there are no public MISDP solvers available, so YALMIP will perform the whole branch-and-bound machinery on its own, relying on external SDP solvers to solve relaxations.
Here is an example which solves a mixed-integer semidefinite programming problem.
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Examples.ExperimentDesign