0

我已经在 zimpl 中编写了我的优化问题并使用 SCIP 来解决它。我的限制之一是

x'Qx<=0.05(portfolio risk <=0.05)

其中xn*1向量,Qn*n协方差矩阵。目前我正在从一个 txt 文件中读取我的协方差矩阵,它非常大(3000*3000),我使用了类似param[I]=read "cov.txt".

当我使用 SCIP 读取 zpl 文件时,解析需要很长时间。我只是想知道是否有更好的方法将数据加载到我的问题中?我是否必须通过文件(磁盘 IO)将值传递给 zimpl 模型中的参数,还是可以使用内存来传递值?

4

1 回答 1

0

有更有效的方法,但它们需要编程。1. 您可以通过 SCIP C/C++ API 直接实现您的模型。2.您可以编写一个嵌入zimpl和SCIP的程序,然后可以将文件作为字符串从内存传递给zimpl。但我怀疑是否有教程/文档,并且 zimpl 仍然必须解析文件。鉴于如果有足够的内存可用,Linux 文件系统无论如何都会缓存文件,如果您在第一次之后直接第二次运行相同的模型,这可能不会比现在快多少。

于 2016-03-12T22:52:47.753 回答