control-toolbox / OptimalControl.jl

Solvers of optimal control problems
MIT License
28 stars 5 forks source link

Move initial guess + continuation tuto from CTDirect to OptimalControl #170

Closed jbcaillau closed 4 days ago

jbcaillau commented 1 month ago

@PierreMartinon The title is clear 🙂

More or less only keep API + dev info in subpackages docs.

jbcaillau commented 3 weeks ago

@PierreMartinon can you please move this tuto from CTDirect.jl to OptimalControl.jl? (Where this tuto is outdated: "no warm start...")

More generally, I advocate having API and details for developers in the CTxxxx.jl repos, tutorials for users in one place that is OptimalControl.jl.

Your thoughts on this? @ocots @gergaud ?

PierreMartinon commented 3 weeks ago

I'll start a branch on this. By the way, as far as I know the docs/dev pages are only updated on the main branch, so is there a way to check the new docs apart from building them locally ?

ocots commented 3 weeks ago

No more possibilities.

ocots commented 3 weeks ago

In this tutorial, there are several things:

  1. The definition of the Goddard problem with its basic resolution.
  2. The initial guess options with warm start strategy.
  3. Advanced usage with the direct transcription.

The first point is already presented here.

The second point could be merged with this tutorial. I think we must not show to the user the OCPInit function. In the tutorial, we should make some sections:

Remark. For consistency with OptimalControlModel, OptimalControlSolution, we should replace OCPInit by OptimalControlInit.

For the third point, I think that it is a more advanced usage. I recommend to put this in another tutorial. This new tutorial can reference the one about initialization if it is useful. We can imagine a tutorial about manipulations of the "discretized problem".

ocots commented 3 weeks ago

The tutorial about discrete continuation can be also moved to OptimalControl.jl.

I would suggest to keep only abstract formulations of optimal control problems. But, we could keep the part that explains how to remove and replace a constraint instead of redefining all the problem.

Remark. Here I have an example of a discrete continuation with storage of the solutions and plottings. I think we could in the same spirit show a nice evolution with well chosen plots for a well chosen problem.

ocots commented 4 days ago

The two tutorials have been moved to OptimalControl.jl by @PierreMartinon. Consider as done.