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