Time grid options #170
Replies: 1 comment
-
On local error: a standard way to assess the local error is to compare two different discretisation formulas. We could write a function check_local_error that would take a trajectory and try to check this ? As an offline diagnostic, we can just recompute the trajectory (with the same initial conditions and control) using a high precision variable step method, and check the error wrt the original one. Here we even have an estimate of the total error. This information may be used to drive an iterative optimization strategy, eg with increasingly precise discretisations ? The double formula idea can probably be included somehow in the NLP directly, although this would roughly double the size due to the second trajectory. Such added cost is unlikely to be worth it unless it can allow to significantly improve the optimization overall. Maybe in a format where all time steps are optimization variables (ie only the grid size is fixed), and the additional info from the local error can be used to optimize better the time steps, maybe by adding to the objective the minimization of the sum of all local errors ? Note: for this kind of manipulations, it may be useful to have a fully discrete solution structure instead of the functional (interpolated) OCP one. This new struct can be local to CTDirect and used only when explicitly requested. Steps
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Besides passing an explicit time grid as a vector of steps, there are some further directions to explore, as mentioned in #119 and ???. Practically, the argument time_grid could be reused for different features.
By increasing complexity (or so I think):
See also
Beta Was this translation helpful? Give feedback.
All reactions