问题标签 [openmdao]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 运行 openmdao 1.7.0 GUI
openmdao GUI 在 1.7.0 版本上可用吗?如果是,如何运行它?我找到了,如何在 0.10.7 版本上运行 GUI,但它在 1.7 上不起作用。
openmdao - 超出其界限和约束的设计变量的值似乎被忽略了
多次发生设计变量的值超出其界限(例如,下限 0.0,优化器将设计变量值设置为 -0.004),并且约束似乎被忽略了(例如,最小值 1.0不满足输出变量的约束)。
我正在使用 openMDAO 版本 1.6.4、ScipyOptimizer、SLSQP、force_fd、step_size 1.0e-4。
关于为什么会发生这些事情的任何想法?我做错设置了吗?可能的错误?如果没有,如何避免?
任何反馈表示赞赏。
openmdao - Openmdao 1.x:实现预期改进的有效方法
我目前正在使用 Openmdao 1.7.1。我正在尝试在预期改进的最佳点上使用克里金法训练自己的 MetaModel。目的是使用类似 EGO 的方法在紧凑的设计空间上找到全局最优值。
但是,我面临以下难题:
为了找到最佳点,我看到的唯一方法是在嵌套问题中使用梯度基优化器对预期改进函数运行优化,外部问题运行 FixedPointIterator,检查预期改进值的值.
我的问题如下:
- 还有另一种更有效的方法吗?我在 Openmdao 1.x 中找不到任何关于 EGO 的信息,如果有,我应该去哪里看?
- 如果这是唯一的方法:
- 这会在我的设计空间中找到全局最优值吗?
预先感谢您的回复。
python-2.7 - 在 python 中将 IPOPT 与 Openmdao(或 pyoptsparse)一起使用
大家好。我有一个小问题:我正在使用 openmdao 和 pyOptSparseDriver。它适用于某些求解器(例如 SLSQP、PSQP),因此该安装没有问题。
现在我想对 IPOPT 进行同样的尝试,但是 pyoptsparse 没有给出代码。我按照 COIN-OR 文档安装了 IPOPT(http://www.coin-or.org/Ipopt/documentation/node10.html),一切看起来都很好(我不知道如何检查)。现在我的桌子上有一个 COIN-OR 文件夹,我不知道如何让 pyoptsparse 从中获取 IPOPT(它是“从 .import pyoptcore”行崩溃),来自 pyIPOPT/pyIPOPT.py。谁能帮我 ?提前谢谢你
openmdao - 从 OpenMDAO 1.x 中的 numpy 数组传递单个标量
我有一个自变量 x ,它被视为一个 numpy 数组的向量。我希望能够根据向量中的其他值来约束该向量中的一些值。即 x_(k) < x_(k+1)。我试过了:
这给了我关于变量不存在和试图连接到浮点数的数组的错误。将输出数组中的特定值连接到缩放器输入的正确语法是什么?
optimization - 嵌套openmdao“程序集”/驱动程序-从0.13类比工作,这可以在1.X中实现吗?
我正在使用 NREL 的 DAKOTA_driver openmdao 插件对模型进行并行蒙特卡罗采样。在 0.X 中,我能够嵌套程序集,允许外部优化驱动程序指导 DAKOTA_driver 采样评估。我可以将此设置嵌套在外部优化器中吗?我希望外部优化器的工作流程调用 DAKOTA_driver “程序集”,然后调用 get_dakota_output 组件。
openmdao - 从子迭代中重新启动 SLSQP
我正在解决的案例是两个学科的航空航天问题。架构是 IDF。我使用记录器在每次迭代时记录数据。我正在使用有限差分。我正在使用 SciPy 的 SLSQP 优化器。
如果经过几次主要迭代,优化在行搜索期间崩溃。如何从同一点开始线搜索?
除此之外,我想检查是否从组件内部调用了对 Component 的solver_nonlinear() 的调用以进行导数计算或线搜索。有没有办法做到这一点?
metamodel - openmdao 克里金代理声称数据错误,但事实并非如此
我正在尝试使用 FloatKrigingSurrogate() 在 openmdao 1.7.1 中训练一个代理。我收到一条错误消息:
我已经检查了我正在为其制作模型的应用程序的数据文件。我已将训练数据复制到一个文件中并进行了检查。一切都是一个数字。它并不总是一团糟,但我打算将这部分作为一个更大的问题的一部分,其中采样部分是嵌套的,所以如果它真的发生了,整个问题就会陷入困境。我还能如何寻找搞砸的东西?我的代码摘录:
9 月 1 日根据 Kenneth 的评论进行了修订:显然,克里金替代模型需要一个挑战。它不喜欢愚蠢的简单函数,即 f(x)=constant。我稍微修改了文档中的元模型示例问题:
我最初想知道是否有最大数量的代理,所以我建立了那个变量 SURVECSIZ。即使 SURVECSIZ=1 它也死了。但是当我将 gi 的函数更改为乘以 (float(each)+1.) 时,它就会运行。将 +1 放在括号之外以使值成为常数 = 1 而不是 0 也会导致它死亡。我猜克里金模型过程会根据数据的变化范围进行标准化。克里金只是不想在一个简单的问题上浪费时间。不幸的是,在某些情况下,我的变异可能为零,而克里金模型需要允许它。
openmdao - 如何在 OpenMDAO 1.xx 中对参数和未知数使用严格的数据类型?
在 OpenMDAO 的早期版本(0.13.0 之前)中,我们可以使用具有不同数据类型的端口,而不是float
, like Int
,Str
等Bool
。下面给出的链接 -
http://openmdao.org/releases/0.13.0/docs/basics/variables.html
现在我正在使用最新版本,并希望将Enum
类型输入(即参数)端口用于我Component
的端口,以便将它所采用的值限制为我指定的值。在较新版本的 OpenMDAO (1.xx) 中是否有等效的方法可以在其中明确提及组件端口的数据类型?