0

如何将 SCIP 与 MinGW 和 Msys 集成?

4

1 回答 1

0

在您等待真正的答案时,我已经可以从官方网站引导您访问此页面,了解如何构建 SCIP(见下文)。对于实际集成,常见问题解答中有一个指针:

如何在 SCIP 中构建问题实例?

首先你必须通过 SCIPcreate() 创建一个 SCIP 对象,然后你开始通过 SCIPcreateProb() 构建问题。然后通过 SCIPcreateVar() 创建变量并通过 SCIPaddVar() 将它们添加到问题中。约束也必须这样做。例如,如果要填写一般 MIP 的行,则必须在完成后调用 SCIPcreateConsLinear()、SCIPaddConsLinear() 和 SCIPreleaseCons()。如果所有变量和约束都存在,您可以通过 SCIPsolve() 启动求解过程。如果不再需要变量指针,请确保也调用 SCIPreleaseVar()。有关创建和释放对象的说明,请参阅 doxygen 文档。

注意:有关简单示例,请参见目录“examples/MIPsolver/”和“examples/Queens/”

使用 MinGW 在 Windows 下构建/安装的备注(来自http://scip.zib.de/doc/html/INSTALL.php

要在 Windows 下构建您自己的 Windows 二进制文件,我们建议使用来自 mingw.org 的 MinGW-Compiler 和 MSYS

首先安装 MSYS,然后将 MinGW 安装到 msys 文件夹内的 mingw 文件夹中。现在您需要将以下软件包安装到 mingw 文件夹: - zlib(或使用 ZLIB=false ZIMPL=false,因为 ZIMPL 和 SCIP 中的 ZIMPL 支持需要 zlib) - pcre(或使用 ZIMPL=false,因为需要 pcre SCIP 中的 ZIMPL 和 ZIMPL 支持)- gmplib(或使用 ZIMPL=false,因为 SCIP 中的 ZIMPL 和 ZIMPL 支持需要 gmplib)

(在 ZIMPL 文件夹中调用“make clean”后,您还需要 flex 和 bison 来重新制作 ZIMPL。如果您没有安装这些软件包,我们建议不要在 ZIMPL 文件夹中使用“make clean”。)

您可以将这些附加包作为预编译的二进制文件下载,例如: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 ; make install" 应该成功且没有问题,并将软件包安装到 mingw 文件夹中。)

现在“make READLINE=false”应该可以正常编译了。请注意,我们不支持在 Windows 下创建 doxygen 文档或 readline-usage。

由于 MSYS 中没有真正的符号链接,因此 SoPlex 和 ZIMPL 的包含和库文件实际上被复制到 SCIP-lib-文件夹中。当您在编译 SCIP 后重新编译 ZIMPL 或 SoPlex 时,您必须手动将库复制到 SCIP-lib-文件夹中,然后重新编译 SCIP。

于 2011-12-03T18:33:14.063 回答