例如,如果我有一个 function h_max(mach) 并且我希望高度在整个飞行包络线中始终遵循这种预定义的高度 - 马赫关系,我怎么能实现这一点? 我尝试将限制数量(在本例中为 h_max)计算为它自己的 state,然后将另一个 state 计算为 h_max-h,然后通过路径约束将其限 ...
例如,如果我有一个 function h_max(mach) 并且我希望高度在整个飞行包络线中始终遵循这种预定义的高度 - 马赫关系,我怎么能实现这一点? 我尝试将限制数量(在本例中为 h_max)计算为它自己的 state,然后将另一个 state 计算为 h_max-h,然后通过路径约束将其限 ...
我有一个要解决的混合整数优化问题。 我一直试图用惩罚方法解决问题,但收效甚微,我想尝试一些替代方法。 据我所知,一些选项是 AMIEGO、GA 和分支定界 (BNB) 类型求解器。 我对 BNB 方法特别感兴趣,但我没有在 OpenMDAO 中看到分支定界驱动程序或求解器( https://ope ...
我正在使用 SimpleGADriver 为弹簧设计项目优化具有多个约束和对象的 MIP 问题。 我对设计变量的初始值有疑问。 根据我对遗传算法的理解,我认为设计变量的初始值应该由GA驱动程序随机生成,我选择的值不会影响结果,但是当我使用不同的时,计算的对象变量发生了变化使用prob.set_va ...
我正在尝试使用 dymos 设置动态优化,我在我的 dymos 轨迹的上游进行了分析。 此上游分析计算一些二维矩阵K 。 我想将这个矩阵传递到我的 dymos 问题中。 根据文档(以及我过去是如何做到的)是将K作为参数添加到轨迹中: traj.add_parameter('K',targets= ...
我是 OpenMDAO 框架的新手,正在尝试构建一个显式的自定义模型并使用 SimpleGADriver 执行多目标 MIP 优化。 在使用class MyModel(ExplicitComponent):定义我的模型时,在def compute()部分中,我有一个函数可以计算类似output_a ...
考虑以下问题import openmdao.api as om class Sys(om.Group): def setup(self): self.add_subsystem('sys1', om.ExecComp('v1 = a + b'), promotes= ...
我想用Dymos解决最优控制问题: 在此处输入图像描述服从动力系统: 在此处输入图像描述我有两个问题: (1)如何设置V(X(T))的object function( object1 ),其中state变量在最终时间点的值是function V的输入。 我觉得设定 将最小化比率为 V(X) 的变量 ...
如何在不计算目标梯度的情况下计算约束梯度? 这个我试过了 但这仍然调用目标 function 梯度。 (self.consList 是一个只有一个元素的列表,这是我的约束组件的名称)。 这是此问题的示例: ...
在 2022 年的 OpenMDAO 研讨会期间,有人提到有人在边界元法求解器的分析(或算法?)导数方面做了一些工作,用于基于梯度的优化,并且愿意分享。 有没有提到那项工作? ...
我打开这个线程是希望找到一些关于如何安装 IPOPT 和 pyOptSparse 的帮助。 我已经尝试使用应该完成这项工作的 OpenMDAO 脚本,但它似乎不起作用(我也发布了一个关于此的问题,但目前没有任何成功OpenMDAO: pyOptSparse building script ) 所以 ...
我正在使用基于 OpenMDAO 的脚本执行 static 气动弹性分析。 我正在尝试调整我的脚本以在超级计算机上运行它。 MDA 循环包括几个组件,包括一个 CFD 求解器,通常在终端中运行mpirun -np 24 python runScript.py和一个结构求解器,通常在终端中运行na ...
我的目标是在驱动程序/非线性求解器仍在运行时,我不仅想打印输入/输出/梯度信息的值,而且还想为目标 function 的残差生成实时 plot 和我感兴趣的其他设计变量/输入/梯度。 目标 function(或任何其他参数)的残差可以定义为两个连续值之间差异的对数。 我在 Openmdao 中遇到 ...
我刚开始学习 OpenMDAO 的教程,我正在尝试Sellar - A Two-Discipline Problem with a Nonlinear Solver教程,很快就遇到了错误。 网站中包含三种方法来提升和连接输入输出变量,第三种方法名为“Variable Promotion and Co ...
我打开这个讨论是希望我能找到一些关于如何安装不包含在 PyOptSparse 库中的优化器的帮助。 事实上,我发现“一些优化器是专有的,它们的源不是随 pyOptSparse 分发的。要使用它们,请按照 PyOptSparse 官方网站上特定优化器页面上的说明进行操作”,因此,我想安装那些不是包括 ...
我必须向我的 model 添加一些循环依赖项,从而将 NonlinearBlockGS 和 LinearBlockGS 添加到具有循环依赖项的组中。 我收到这样的消息 LN:LNBGSSolver 'LN:LNBGS' 系统'XXX' 未能在 10 次迭代中收敛。 在它发现问题的着色阶段。 作为问题 ...
我有以下系统,我试图在 OpenMDAO 中解决它,作为更大系统的一部分: C*x = F1(x) + F2(x) 其中 F1 和 F2 是针对给定 x(6x1 向量)在单独的显式组件中计算的一些响应(6x1 向量)(F1、F2 是组件的输出,x 是两个组件的输入)。 F 和 x 之间的关系不能 ...
我想通过最小化 Dymos 中特定路径变量的最大值来执行一些优化。 或此类变量的绝对值的最大值。 在线性规划方法中,这可以通过引入松弛变量来完成。 您是否知道以前是否曾在 Dymos 上尝试过,或者是否有理由不包含它? 我了解基于梯度的方法并不完全适合这些问题,尽管我认为可以引入一些“功能”来缓解 ...
我正在使用“SLSQP”和 SCIPY 优化器驱动程序解决 dymos 问题,但由于“LSQ 子问题中超过 3^n 次迭代”,我的问题失败了。 我一直在试图了解这个错误到底意味着什么,以找出我应该在 model 的哪个位置开始调试,但我还没有找到关于该主题的任何有用资源。 你们都提供了有关如何调试其 ...
我已经阅读了此处发布的大多数带有 OpenMDAO 标记的离散变量问题,并在此处查看了以下文档,但我找不到我的问题的答案。 这是我的用例的描述: 让我们从这里的电路示例开始。 现在假设我有一组我想使用的 R 值。 也许在我的硬件盒中,我必须利用 3 种类型的电阻器。 有了可用的电阻器,我想找到一种将 ...
我想对我的 Dymos 优化结果进行收敛性研究,我改变节点的数量并将模拟解决方案与优化解决方案进行比较。 据我了解,Dymos 将多项式拟合到系统动力学以表示时间序列解决方案。 将优化解决方案的多项式轨迹与模拟解决方案的轨迹进行比较的最佳方法是什么? 我特别想评估远离搭配/控制节点的两条轨迹之间的差 ...