我对使用OpenMDAO的想法非常着迷。但是,我不确定在将外部代码用作单个组件而没有其他事情的优化方案中使用OpenMDAO是否值得。
使用SciPy中可用的优化程序的实现与前述的openmdao实现之间是否存在差异。
还是与其他方法(例如matlab优化工具箱等)中的类似方法的实现之间的区别?
(当然,实现优化器的方式可能有所不同,但我的意思是我在概念上是在利用这种方法利用OpenMDAO吗?)
据我阅读的文章;在获得多个“相互影响”和“全局派生”的组件的情况下,openMDAO是否功能强大? 我是否通过使用单个ExternalCodeComp来利用openMDAO?
答案 0 :(得分:0)
仅使用单个ExternalCodeComp不会充分利用OpenMDAO的全部潜力。仍然会有一些优势,因为ExternalCodeComp为您处理了许多文件包装详细信息。此外,优化中通常会包含一些细节,例如添加约束,通常会需要其他组件。在这种情况下,您可以使用ExecComp添加一些其他计算。 最后,使用OpenMDAO将使您将来有可能扩展模型以包括其他学科。
如果您确定除了优化一个外部代码,就别无所求,那么OpenMDAO确实可以简化为使用裸pyoptsparse,scipy或matlab优化器的类似功能。在这种情况下,除了易于使用ExternalCodeComp之外,OpenMDAO并没有带来太多好处。