我在zimpl中编写了优化问题并使用SCIP来解决它。 我的一个约束是
x'Qx<=0.05(portfolio risk <=0.05)
其中x
为n*1
向量,Q
为n*n
协方差矩阵。目前我正在从txt文件中读取我的协方差矩阵并且它非常大(3000 * 3000),我使用param[I]=read "cov.txt"
之类的东西。
当我使用SCIP读取zpl文件时,解析需要很长时间。我只是想知道是否有更好的方法将数据加载到我的问题中?我是否必须通过文件(磁盘IO)将值传递给zimpl模型中的参数,还是可以使用内存来传递值?
答案 0 :(得分:0)
有更有效的方法,但他们需要编程。 1.您可以通过SCIP C / C ++ API直接实现您的模型。 你可以编写一个包含zimpl和SCIP的程序然后就可以了 可以将文件作为内存中的字符串传递给zimpl。但我怀疑有一个 教程/文档和zimpl仍然需要解析文件。 鉴于如果有足够的内存,Linux文件系统无论如何都会缓存文件 可用,这可能不会比你现在的时间快得多 如果你在第一次之后直接第二次运行相同的模式。