pyomo - 在 Ubuntu Linux 20.04 上安装带有 AMPL 的 SCIP 7.0.2 以与 Pyomo 一起使用
问题描述
我想按照本手册中的说明在我的 Ubuntu Linux 20.04 机器上安装SCIP 求解器以在Pyomos SolverFactory 中使用。7.0.2
但是当我使用make
我得到以下错误:
crd@crd-laptop:~/Downloads$ cd scipoptsuite-7.0.2/
crd@crd-laptop:~/Downloads/scipoptsuite-7.0.2$ make
make[1]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2“ wird betreten
** Creating directory "/home/cord/Downloads/scipoptsuite-7.0.2/scip/lib/static".
** Creating directory "/home/cord/Downloads/scipoptsuite-7.0.2/scip/lib/include".
** Creating directory "/home/cord/Downloads/scipoptsuite-7.0.2/scip/lib/include/zimplinc".
** Creating directory "/home/cord/Downloads/scipoptsuite-7.0.2/scip/lib/include/".
** Building SoPlex library "/home/cord/Downloads/scipoptsuite-7.0.2/soplex/lib/libsoplex.linux.x86_64.gnu.opt.a".
make[2]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird betreten
make[3]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird betreten
make[3]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird verlassen
make[3]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird betreten
-> compiling obj/O.linux.x86_64.gnu.opt/lib/soplex/clufactor_rational.o
In file included from src/soplex/clufactor_rational.cpp:18:
src/soplex/spxdefines.h:46:10: fatal error: boost/multiprecision/number.hpp: Datei oder Verzeichnis nicht gefunden
46 | #include "boost/multiprecision/number.hpp"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:503: obj/O.linux.x86_64.gnu.opt/lib/soplex/clufactor_rational.o] Fehler 1
make[3]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird verlassen
make[2]: *** [Makefile:375: makelibfile] Fehler 2
make[2]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2/soplex“ wird verlassen
make[1]: *** [Makefile.doit:187: /home/cord/Downloads/scipoptsuite-7.0.2/soplex/lib/libsoplex.linux.x86_64.gnu.opt.a] Fehler 2
make[1]: Verzeichnis „/home/cord/Downloads/scipoptsuite-7.0.2“ wird verlassen
make: *** [Makefile:85: scipbinary] Fehler 2
在我的带有 AMPL 绑定的 Windows 机器上使用它非常有效,但我被困在这里。
有什么提示吗?
提前致谢!
解决方案
我现在可以使用您的提示自行解决问题!诀窍是使用标志进行编译BOOST=false
,ZIMPL=false
现在它就像 pyomo's 的魅力一样工作SolverFactory
。
这些是对我有用的命令(输出被抑制):
user@machine:~/Downloads$ $ sudo apt install g++ zlib1g-dev bison flex libgmp-dev libreadline-dev libncurses5-dev
user@machine:~/Downloads$ tar xzf scipoptsuite-7.0.2.tgz
user@machine:~/Downloads$ cd scipoptsuite-7.0.2/
user@machine:~/Downloads/scipoptsuite-7.0.2$ make BOOST=false ZIMPL=false
user@machine:~/Downloads/scipoptsuite-7.0.2$ cd scip/interfaces/ampl/
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl$ ./get.ASL
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl$ cd solvers/
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl/solvers$ sh configurehere
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl/solvers$ make
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl/solvers$ cd ..
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl$ make
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces/ampl$ cd ..
user@machine:~/Downloads/scipoptsuite-7.0.2/scip/interfaces$ sudo cp ampl/bin/scipampl /usr/local/bin/
在 pyomo 中, 如果使用solver_io='nl'
.
感谢@Leon 为我指明了正确的方向!
编辑:如果libboost-all-dev
通过apt install
它安装也适用于BOOST=true
.
推荐阅读
- webpack - Custom output path in webpack when I know the specific entry path
- msdtc - MSDTC WS-AT, HTTP could not register URL https://+:2372/WsatService/. Your process does not have access rights to this namespace
- python-3.x - How can I install and import dnspython in aws-lambda?
- python - list of lists - assigning values inside of list of lists to variables, changing values inside of list of lists due to local variable functions
- python - Python Pandas:在排序的多索引数据框中找到 n 并为每个级别 1 索引返回 [0:n+1]
- java - When you extend an abstract class which implements an interface, is it good to also mention this in the child class?
- javascript - 在 mongodb 的投影中使用数学函数
- database - 根据前一个 24 小时平均值查询浓度的时间和平均值
- javascript - 在 v9 中删除集合 firebase
- python - 硒不运行Javascript