1

我的问题涉及 Scip 中的混合整数编程(MIP):
我有以下代码:

    $\min trace(X)$
subject to
    $$(A+D)^TX+X(A+D)=I\\
    d_i \in \left\{0,1\right\} \mbox{ for } i=1,\ldots,n$$
where A is a n*n matrix and $D=diag(d_1,\ldots,d_n)$ is a diagonal matrix.  

由于矩阵约束是线性的,因此可以将方程转换为线性方程组(通过克罗内克积和矢量化操作),但这仅限于小 n。是否可以直接用 Scip 求解矩阵方程?有没有办法嵌入外部求解器?还是我必须为连续的 lyapunov 矩阵方程编写自己的求解器?

4

2 回答 2

1

您可以尝试使用用于多项式约束和目标的 pip 文件格式。见http://polip.zib.de/http://polip.zib.de/pipformat.php

您必须自己进行矩阵运算或使用 ZIMPL

于 2015-01-21T23:08:45.423 回答
0

SCIP 中无法处理矩阵方程。您需要将它们转换为线性方程。此外,所有数据都必须在某个时间加载到 LP 求解器中,并且在这里也需要像通常的约束一样制定。因此,即使 SCIP 本身能够处理矩阵方程,您也迟早需要扩展问题。

于 2014-03-28T13:28:26.210 回答