在 openmdao 框架中使用无梯度优化器是否有意义

Does it make sense to use a gradient free optimizer within openmdao framework

我的理解是否正确:使用无梯度优化器将整个问题包装起来并将其视为黑盒(即使该问题有多个 groups/components 附加到具有梯度等的内部求解器)。

然后 openmdao 的实际功能没有得到很好的利用,openmdao 的优势归结为使用较小的例程等轻松跟踪您的计算。

虽然 OpenMDAO 最独特和最强大的功能确实是它的自动衍生功能,但 IMO 并不意味着它只在基于梯度的优化的情况下有用。该框架提供了一些其他功能,无论您选择哪种优化器,这些功能都很有用。例如:

  • 支持并行化
  • 强大的非线性求解器库
  • 模块化模型构建

你当然可以在没有 OpenMDAO 的情况下手动编写一个大型复杂模型,然后用无梯度优化器包装它,但我认为你最终最终会在很长一段时间内做更多的工作 运行.使用框架可以为您的模型提供组织和结构,从而获得长期回报。