【发布时间】:2020-07-15 10:14:33
【问题描述】:
我正在阅读有关 MDO 的内容,我发现 openmdao 真的很有趣。但是,我无法理解/证明一些基本选择背后的原因。
-
为什么选择基于梯度的优化?由于基于梯度的优化器永远不能保证全局最优,为什么它是首选。我知道,对于具有众多设计变量的 MDO 问题,找到全局最小值确实很困难,并且局部最优值远优于人工设计。但是考虑到该应用程序通常用于飞机或卫星等昂贵的系统,为什么要满足于局部最小值呢?在梯度方法之上使用元启发式或元启发式来收敛到全局最优不是更好吗?因此计算时间会很长,但现在几乎每所大学/领先行业都可以使用超级计算机,我认为这是一个可以接受的权衡。
-
谈到计算时间,为什么选择 python ?我同意 python 使脚本编写方便并且可以与编译语言交互。仅此一项就可以使天平有利于 Python 吗?但是,如果计算时间是导致很难找到全局最小值的主要原因之一,那么使用 C++ 或任何其他节能语言不是更好吗?
澄清这篇文章的唯一目的是证明(对我自己)使用 Openmdao 的合理性,因为我刚刚开始学习 MDO。
【问题讨论】:
标签: openmdao