Z是使用Matlab的CVX SDP代码产生的矩阵变量;如何包含矩阵Z的元素的值应为0或1的约束?
有"banded“选项,但它不适用于矩阵。
发布于 2014-09-03 14:49:39
您不能这样做,因为cvx不支持整数半定编程(当Z为2x2时的特殊情况将是可能的,因为这是SOCP可表示的,因此可以通过接口的混合整数SOCP求解器Mosek求解)。
如果您想继续使用MATLAB,您可以很容易地将您的代码转换为YALMIP (无耻插件,由我开发),因为那里支持混合整数SDP (Z=binvar(n),您基本上就完成了)。但请注意,没有可用的公共MISDP解算器,因此YALMIP将独立执行整个分支绑定机制,依赖外部SDP解算器来解决松弛问题。
这是一个解决混合整数半定规划问题的例子。
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Examples.ExperimentDesign
https://stackoverflow.com/questions/25608891
复制相似问题