如何解决如何解释缩放报告以改进我的模型?
相当不错的功能。我试图弄清楚如何解释报告,以查看我的模型中是否存在任何明显的问题,其中包括 Dymos 的轨迹。我的模型通常收敛得很好,尽管有时我必须将 NLP 缩放更改为基于梯度。我不知道这到底是做什么的,但如果默认设置不起作用,通常它会使 IPOPT 收敛,反之亦然。
这是雅可比根据工具的样子
我猜想要的是雅可比矩阵中分音的数量级跨越尽可能少的数量级。较低的两个对角线波段的幅度从 0.1 到 10E5,似乎与相位链接有关。例如,我们有 'traj.linkages.phase_1:h_final|phase_2:h_initial wrt traj.phases.phase_1.indep_states.states:h',震级为 10E5。我应该为此做些什么吗?
在设计变量中,一切似乎都可以正常缩放,驱动程序值的数量级为 1。 在约束报告中,OOM 跨度从 10E-5 扩大到 10E2。我没有设置defect_refs。也许我需要在这里做点什么?
解决方法
我倾向于使用从驱动程序和模型角度显示规范的表格。
在这种情况下,驱动程序值都按 1 左右的顺序进行缩放。如果它们很大,则可能需要调整缩放器/参考。 (扩大到大约 1 的数量级并不能保证是一个好的策略,但它通常是一个很好的有利位置。
您可能希望在限制驱动程序迭代后执行此操作。对于 dymos 中的收敛情况,缺陷约束的值将接近于零,这可能无法让您很好地了解它们的初始值。
例如,对于缺陷引用,如果我注意到约束的值类似于 5.5E4,那么我可能会将该缺陷引用设置为 1.0E-4。同样,单位缩放并不总是正确的,但它经常起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。