如何将Dymos解决方案与模拟解决方案进行数值比较



我想对Dymos优化结果进行收敛性研究,其中我改变节点数量,并将模拟解决方案与优化解决方案进行比较。据我所知,Dymos将多项式拟合到系统动力学中,以表示时间序列解。将优化解的多项式轨迹与模拟解的轨迹进行比较的最佳方法是什么?我特别想评估远离配置/控制节点的两个轨迹之间的差异。。。以表明多项式拟合实际上代表了模拟解。如何访问多项式拟合数据?

提前谢谢。

对于一些测试,我们有一个assert_timeseries_nar_equal函数,它将密度更高的时间序列视为真值,并测试密度较低的时间序列(通常是离散解(是否合理地接近它。

实际上,我们现在正在研究一种更明确的方法,因此用户更容易在一般情况下应用,例如比较两种不同情况下的离散解决方案。

一般来说,有几种不同的方法可以针对显式集成测试显式结果。您可以验证两个解决方案的最终状态是否合理接近。由于误差往往会在轨迹的过程中增加,这通常足以进行快速检查。这种方法的缺点是,它不能测试两种解决方案是否走了相同的路径到达最终条件。

为了在远离节点的地方测试解决方案,我建议如下:向包含更多分段或更高阶分段的相关阶段添加第二个时间序列输出。此时间序列将具有更多节点。Dymos将从解决方案的配置网格插值到这个更密集的时间序列输出网格上。将其与显式模拟进行比较,在时间、控制和参数方面仍然应该完全匹配,您将更好地捕捉插值状态多项式与显式仿真结果。

还有其他统计方法可以用来比较时间序列,但将显式轨迹加上一些误差边界可视化为"时间序列";管";我们想把离散解放入其中,通常是我处理它的方式。

最新更新