我正在为有限差分辐射解算器模型编写优化代码。我开始使用"src_indices“来连接参数,而不是提升所有变量。但当我更改连接时,优化不计算导数,给出“对目标没有影响”错误,并在第一次迭代后成功终止优化。在日志中找不到任何用于查找错误的线索(Bug可能是完全不同的原因)。
有什么建议可以让我从哪里开始吗?
我把代码上传到了GitHub https://github.com/TufanAkba/opt_question
发布于 2021-11-30 16:49:04
当你提到“设计变量对目标没有影响”时,你想到的第一件事就是可能有一个缺失的连接。由于此行为是在您更改连接样式后才开始的,因此我认为这更有可能。
有几个工具可以用来诊断这个问题。第一个是n2查看器,您可以通过在命令提示符下键入以下命令来启动它:
openmdao n2 receiver_opt.py这将启动一个浏览器窗口,其中包含详细信息here中描述的图形模型查看器。您可以使用它来探索模型的结构。要查找模型中未连接的输入,请查找任何着色为orange的输入块。它们在技术上连接到一个名为_auto_ivc的隐藏IndepVarComp,并将包括由优化器设置的设计变量。您将需要查找任何应该连接到其他组件输出的组件。
OpenMDAO也有一个只显示连接的连接查看器。
openmdao view_connections receiver_opt.py您可以使用此工具只关注连接。它被描述为here。如果您选择使用它,只需过滤以查看源输出字符串中与_auto_ivc的任何连接,即可查看未连接的输入。
如果达到这一点,并且对所有连接都是正确的感到满意,那么还有一些其他的可能性:
,
https://stackoverflow.com/questions/70170641
复制相似问题