微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dymos 如何使用先前的轨迹解作为初始猜测?

如何解决Dymos 如何使用先前的轨迹解作为初始猜测?

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

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

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

解决方法

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')

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。