【发布时间】:2011-01-30 02:51:06
【问题描述】:
如何将 SCIP 与 MinGW 和 Msys 集成?
【问题讨论】:
-
莫斯托法,结束这个问题怎么样?
如何将 SCIP 与 MinGW 和 Msys 集成?
【问题讨论】:
当您在等待真正的答案时,我已经可以从官方网站引导您访问此页面,了解如何构建 SCIP(见下文)。对于实际集成,faq 中有一个指针:
首先你必须通过 SCIPcreate() 创建一个 SCIP 对象,然后你 开始通过 SCIPcreateProb() 构建问题。然后你创建 通过 SCIPcreateVar() 变量并通过将它们添加到问题中 SCIPaddVar()。约束也必须这样做。为了 例如,如果要填写一般 MIP 的行,则必须 调用 SCIPcreateConsLinear(), SCIPaddConsLinear() 和另外 SCIPreleaseCons() 完成后。如果所有变量和约束 存在,您可以通过 SCIPsolve() 启动求解过程。 如果您不需要 变量指针了。有关创建和发布的说明 对象,请参阅 doxygen 文档。
注意:有关简单示例,请参见目录“examples/MIPsolver/”和“examples/Queens/”
要在 Windows 下构建您自己的 Windows 二进制文件,我们建议使用 来自 mingw.org 的带有 MSYS 的 MinGW 编译器
先安装MSYS,再安装MinGW到msys里面的mingw文件夹 文件夹。现在您需要将以下软件包安装到mingw 文件夹: - zlib(或使用 ZLIB=false ZIMPL=false,因为 ZIMPL 和 SCIP 中的 ZIMPL 支持需要 zlib) - pcre(或使用 ZIMPL=false,因为 SCIP 中的 ZIMPL 和 ZIMPL 支持需要 pcre) - gmplib(或使用 ZIMPL=false,因为 SCIP 中的 ZIMPL 和 ZIMPL 支持需要 gmplib)
(在 ZIMPL 文件夹中调用“make clean”后,您还需要 flex 和 bison 重新制作 ZIMPL。我们建议不要使用“make clean” 如果您没有安装这些软件包,请在 ZIMPL 文件夹中。)
您可以将这些附加包下载为预编译的二进制文件 示例来自:http://gnuwin32.sourceforge.net/packages.html (zlib&pcre) http://cs.nyu.edu/exact/core/gmp/ (gmplib) 或编译 从项目主页自行获取:http://www.zlib.net/ http://www.pcre.org/http://www.gmplib.org/(命令“./configure --prefix=/mingw ;制作 ; make install" 应该会成功,并将软件包安装到 mingw 文件夹中。)
现在“make READLINE=false”应该可以正常编译了。请 请注意,我们不支持创建 doxygen 文档或 Windows 下的 readline 用法。
由于 MSYS 中没有真正的符号链接,因此包含和库 SoPlex 和 ZIMPL 的文件实际上被复制到 SCIP-lib 文件夹。编译后重新编译 ZIMPL 或 SoPlex 时 SCIP,您必须手动将库复制到 SCIP-lib-folder 然后重新编译 SCIP。
【讨论】: