Search code examples
optimizationopenmdao

Dymos Single/Multiple shooting and Global Optimizers (Extension possibilities)


I was wondering if there are attempts to expand dymos to single shooting/multiple shooting problems. Essentially those ones which would solve the dynamic equations in every optimization query call (which would only use the controls as optimization variables). Currently there is the possibility to use solve_segments=True with an implicit numerical integrator (based on the transcription), and this would be similar but possibly also with explicit integrators (As forward Euler in its basic format, or variable step size ones)

This could be beneficial to explore for example global optimization techniques (and combinations) for trajectory optimization /mdo within the same platform and optimal control setup.


Solution

  • As of Dymos 1.1.0, and August 2021, time-stepping integration is not included. As you pointed out solve_segments provides very similar functionality. We are working on time-stepping, initially with fixed-step Euler integration. We plan to extend it to higher-order RK methods and adaptive-step. It will allow the same control transcriptions we already have (segment-by-segment interpolation of fully dynamic controls, and phase-wide interpolation of polynomial controls).

    We not ready to announce a timeline for when this will be available though. It's still a bit early in development. A safe bet would be about 1 year before the feature is fully baked though.