首页 > 解决方案 > Dymos 如何使用先前的轨迹解决方案作为初始猜测?

问题描述

我连续多次运行我的轨迹问题,同时改变一个参数以生成绘图并与其他事物进行比较。我想我可以通过使用以前的解决方案作为猜测来让它运行得更快。我会做类似的事情吗

p['traj.phase_1.states:v'] = prev_p.get_val['traj.phase_1.states:v']

还有一个函数可以将文件“dymos_simulation.db”加载到内存中吗?

标签: openmdao

解决方案


dymos.run_problem旨在成为使这一过程变得简单的机制。

目前有一个 PR 解决了一些缺点,但预计它会在今天的某个时间被合并,并在接下来的一两天内包含在 dymos 0.18.0 中。同时,如果您愿意,可以针对 PR 的源分支进行测试:

https://github.com/OpenMDAO/dymos/pull/510

首先,您可以模拟出控件的初始猜测(如果您可能在模拟过程中遇到 ODE 中的奇点,则不建议这样做)。

dymos.run_problem(p, run_driver=False, simulate=True)

这将生成文件“dymos_simulation.db”。然后你可以运行

dymos.run_problem(p, run_driver=True, simulate=True, restart='dymos_simulation.db')

它将使用模拟猜测作为解决方案的初始猜测。这应该充分满足搭配约束,并为优化器提供更简单的解决方案路径。


推荐阅读