大家好。我有一个小问题:我正在使用 openmdao 和 pyOptSparseDriver。它适用于某些求解器(例如 SLSQP、PSQP),因此安装没有问题。
现在我想用 IPOPT 尝试同样的操作,但是 pyoptsparse 没有给出代码。我按照 COIN-OR 文档安装了 IPOPT (http://www.coin-or.org/Ipopt/documentation/node10.html http://www.coin-or.org/Ipopt/documentation/node10.html),一切看起来都很好(我不知道如何检查)。现在我的桌子上有一个 COIN-OR 文件夹,我不知道如何让 pyoptsparse 从中获取 IPOPT(这是崩溃的“from . import pyoptcore”行),来自 pyIPOPT/pyIPOPT.py。
谁能帮我 ?
提前谢谢你
我们通过 pytoptsparse 包将 IPOPT 与 OpenMDAO 结合使用,并将其作为独立库安装,就像您所做的那样。为了让它工作,你需要设置IPOPT_DIR
环境变量指向您在运行 pyoptsparse 安装之前安装 IPOPT 的位置。
因此,假设您安装了 IPOPT,例如/usr/local/IPOPT:
$ export IPOPT_DIR=/usr/local/IPOPT
$ cd /path/to/pyoptsparse/
$ python setup.py install
this should导致 pyoptsparse 编译 IPOPT 的 python 包装器并生成文件 pyoptcore.so ,该文件将被放置在 Python 中site-packages/pyoptsparse/pyIPOPT
.
在我们的集群上,我们必须修改pyoptsparse/pyIPOPT/setup.py
由于我们使用 Intel 编译了所有内容,因此需要稍微修改文件,但是如果您使用 gfortran 进行编译,则 pyoptsparse 的官方版本应该适合您。
或者,您可以按照贾斯汀的建议进行操作,这本质上是您在 pyoptsparse 文档中找到的说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)