Open jbcaillau opened 3 months ago
@PierreMartinon @jbcaillau @0yassine0 In the Space shuttle problem from JuMP
tutorial, the time steps are considered as variables to optimize. Do we agree that we cannot do that for the moment?
We can do
We cannot do
On the other hand, we could try to do that by using a fixed grid on [0,1] with a series of n positive optimization variables Dt_i, and manually rescale the dynamics. I expect the numerical cost to be horrendous though.
@ocots @PierreMartinon @0Yassine0 yes, the usual manual trick works to glue things (e.g. multidynamics with unknown switching time). Actually, it is interesting and not completely standard to optimise the grid points themselves: interesting to compare with a uniform grid size (should be better, but price to pay = more vars).
@ocots I remember that you did sth similar, no?
@PierreMartinon @joseph-gergaud not very difficult to add this possibility in the transcription process (enforcing a lower bound on each $t_{i+1}-t_i$ to avoid stupid things), provided there is a demonstrated advantage.
I think I can do a simple example for this. @jbcaillau, you typically take positive Dt_i instead of the t_i themselves, easier constraint ;-)
@PierreMartinon now that it is possible to pass a
time_grid
, we can rather easily combine solve with grid refinement and warm start to solve iteratively on a adaptive discretisation.
A basic illustration here https://github.com/control-toolbox/CTDirect.jl/pull/158 (on uniform grids, but still passed as explicit grids...)
@ocots @PierreMartinon @0Yassine0 yes, the usual manual trick works to glue things (e.g. multidynamics with unknown switching time). Actually, it is interesting and not completely standard to optimise the grid points themselves: interesting to compare with a uniform grid size (should be better, but price to pay = more vars).
@ocots I remember that you did sth similar, no?
@PierreMartinon @joseph-gergaud not very difficult to add this possibility in the transcription process (enforcing a lower bound on each ti+1−ti to avoid stupid things), provided there is a demonstrated advantage.
Added an example in https://github.com/control-toolbox/CTDirect.jl/pull/158
@PierreMartinon now that it is possible to pass a
time_grid
, we can rather easily combine solve with grid refinement and warm start to solve iteratively on a adaptive discretisation.