关于优化:Compiling SCIP: \\’spxsolver.h\\’ file not found

Compiling SCIP: 'spxsolver.h' file not found

我正在尝试使用以下命令编译 SCIP:

1
make ZLIB=false READLINE=false GMP=false

有人知道如何处理这个问题吗?

1
2
3
4
5
6
7
8
9
10
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/objscip/objsepa.o
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/objscip/objvardata.o
-> generating library lib/libobjscip-3.1.1.darwin.x86_64.gnu.opt.a
-> compiling obj/O.darwin.x86_64.gnu.opt/lib/lpi/lpi_spx.o
src/lpi/lpi_spx.cpp:76:10: fatal error: 'spxsolver.h' file not found
#include"spxsolver.h"
         ^
1 error generated.
make[1]: *** [obj/O.darwin.x86_64.gnu.opt/lib/lpi/lpi_spx.o] Error 1
make: *** [libs] Error 2

注意:我使用的是 Mac OS X Yosemite 10.10.3


问题是我安装的是 scip-3.1.1.tgz 而不是
scipoptsuite-3.1.1.tgz。在 scipoptsuite-3.1.1.tgz 上运行 make 运行得非常好。


SCIP 使用外部 LP 求解器,例如 SoPlex(默认情况下)作为底层 LP 求解器。 LP 求解器需要在编译时链接。这是你如何做到的:

  • 下载并解压 SoPlex 并将其编译到单独的目录中,例如 ~/soplex
  • 将 SoPlex 链接到 SCIP。最简单的方法是从 SCIP 目录调用 make links
  • 更多细节请参考 SCIP 安装指南,尤其是第 1 步示例。