编译SCIP:找不到'spxsolver.h'文件

时间:2015-06-07 06:22:32

标签: optimization scip

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

make ZLIB=false READLINE=false GMP=false

任何人都知道如何处理这个问题?

-> 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

2 个答案:

答案 0 :(得分:2)

问题是我正在安装scip-3.1.1.tgz而不是。{ scipoptsuite-3.1.1.tgz。在make上运行scipoptsuite-3.1.1.tgz运行完全正常。

答案 1 :(得分:0)

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

  1. 下载并解压缩SoPlex并将其编译在单独的目录中,例如~/soplex
  2. 将SoPlex链接到SCIP。最简单的方法是从SCIP目录中调用make links
  3. 请参阅Installation guide of SCIP了解更多详情,尤其是第1步的分步示例。