【问题标题】:How to set SDP constraints?如何设置 SDP 约束?
【发布时间】:2014-10-25 20:42:32
【问题描述】:

Z 是一个矩阵变量,由使用 Matlab 的 CVX SDP 代码产生;如何包含矩阵 Z 元素的值应为零或一的约束?

有“带状”选项,但它不适用于矩阵。

【问题讨论】:

    标签: matlab variables cvx


    【解决方案1】:

    你不能,因为 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

    【讨论】:

    • 我很好奇为什么没有人想开发 MISDP 求解器。我看到一堆关于如何解决 MISDP 的论文。好像没有理论上的限制……
    • 嗯,YALMIP 支持 MISDP。虽然没有商业参与者的主要市场,也没有足够多的应用使其成为一个特别有趣的研究领域。
    猜你喜欢
    • 2014-05-23
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2018-06-26
    • 2019-02-19
    • 2016-12-17
    相关资源
    最近更新 更多