在 python 中将 IPOPT 与 Openmdao(或 pyoptsparse)结合使用

2024-01-27

大家好。我有一个小问题:我正在使用 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(使用前将#替换为@)

在 python 中将 IPOPT 与 Openmdao(或 pyoptsparse)结合使用 的相关文章

  • 在 python matplotlib 中用多种颜色填充多边形

    我正在使用 matplotlib 绘制多边形补丁 并希望表示每个多边形的部分以特定颜色填充 即制作一个饼图 但形状为三角形 正方形或六边形 有没有办法改变饼图的形状或表示多边形的多种填充颜色 Thanks 更新 这是我的意思的模拟 您可以创
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • python 类工厂继承随机父类

    我有一些这样的代码 class Person object def drive self f t raise NotImplementedError class John Person def drive self f t print Jo
  • 使用 Python 2.7 和 MySQLdb 将二进制数据插入 MySQL 中的 blob 列时如何避免编码警告

    我在将二进制数据插入到longblob使用 Python 2 7 中的 MySQLdb 在 MySQL 中的列 但我收到一个编码警告 我不知道如何解决 test py 11 Warning Invalid utf8 character st
  • pydev 断点不起作用

    我正在使用 python 2 7 2 sqlalchemy 0 7 unittest eclipse 3 7 2 和 pydev 2 4 开发一个项目 我在 python 文件 单元测 试文件 中设置断点 但它们被完全忽略 之前 在某些时候
  • 使用 python/scapy 迭代 pcap 文件数据包

    我想使用 python scapy 迭代 pcap 文件包 该文件有多个协议 当前迭代是特定于协议的 因此如果下一个数据包来自另一个协议 则迭代会 跳转 我不知道为什么现在会变成这样 我想要一个数据包一个数据包 无论什么协议 小例子 dat
  • 查找给定节点的最高权重边

    我在 NetworkX 中有一个有向图 边缘的权重从 0 到 1 表示它们发生的概率 网络连通性非常高 所以我想修剪每个节点的边缘 只保留最高概率的节点 我不确定如何迭代每个节点并仅保留最高权重in edges在图中 有没有一个networ
  • python多重继承,调用基类函数

    我只是尝试在 python 中进行多重继承 我想出了这个 class ParentOne def foo self print ParentOne foo is called class ParentTwo def foo self pri
  • 如何使用SQLAlchemy实现内连接?

    如何使用 SQLAlchemy 实现内连接 我正在尝试进行简单的聊天 class Base object def tablename self return self name lower id Column Integer primary
  • 在 Pandas Dataframe 中保存其他属性

    我记得在 MatLab 时代使用结构化数组 您可以将不同的数据存储为主结构的属性 就像是 a a A magic 10 a B magic 50 etc where a A and a B彼此完全独立 允许您在其中存储不同类型a并根据需要对
  • scikit-learn LinearRegression 的意外交叉验证分数

    我正在尝试学习使用 scikit learn 来完成一些基本的统计学习任务 我认为我已经成功创建了适合我的数据的线性回归模型 X train X test y train y test cross validation train test
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • 如何在Python中的不同目录中写入文件?

    我正在使用 python 2 7 x 在 Linux 上工作 并且我正在通过终端运行一些 python 程序 我希望某些输出应该写入位于以下位置的文件中不同的目录比我的工作目录 所以我写了这段代码 然而 发生的事情是文件All txt正在当
  • 如何将 PyTTSx 的输出保存到 wav 文件

    我正在尝试找到为什么我的代码无法正常工作的解决方案 我使用的解决方案来自在 Python 中将合成的文本转语音记录到文件中 https stackoverflow com questions 9900137 recording synthe
  • 无法使用 Python 循环分页 API 响应

    所以 我对这个感到摸不着头脑 使用 HubSpot 的 API 我需要获取我客户的 门户 帐户 中所有公司的列表 遗憾的是 标准 API 调用一次只能返回 100 家公司 当它返回响应时 它包含两个参数 使分页响应成为可能 其中之一是 ha
  • 为什么 python 3 中的 json.dumps() 返回与 python 2 不同的值? [复制]

    这个问题在这里已经有答案了 我需要在 Python 3 中生成 MD5 哈希 以便与在 Python 2 上生成的 MD5 哈希进行比较 但 json dumps 的结果不同 因为在 Python 2 上 元素的位置发生了变化 MD5 结果
  • 使用参数数组的长度作为同一函数的另一个参数的默认值

    这是我第一次在 SO 中提出问题 所以如果我不知何故做得不对 请毫不犹豫地编辑它或要求我修改它 我认为我的问题有点笼统 所以我很惊讶没有找到任何与该主题相关的先前问题 如果我错过了并且这个问题重复了 如果您能提供已回答的链接 我将非常感激
  • 无法解析 ReferenceProperty -- App Engine

    我遇到了一个错误 无法找出其根本原因 错误如下 ReferenceProperty 无法解析 u StatusLog STATUSLOGSID 此错误仅有时发生 大约一天一次或两次 生成此错误的脚本成功的次数多于失败的次数 该错误最奇怪的事

随机推荐