Dear @ufechner7, dear all, seizing the opportunity of OptimalControl.jl latest release to provide some more details:
As pointed by @baggepinnen the package is indeed devoted to trajectory (= solution to ODEs) optimisation, either by direct methods (transcription into nonlinear programs) or indirect methods (multiple shooting on Hamiltonian flows). There are already very nice tools, in particular for direct solving, in other languages (such as Casadi, GPOPS…) or in Julia (InfiniteOpt.jl…) We try to propose a user friendly unified approach for both direct and indirect approaches, including the differential geometric tools needed to do so (check, e.g., Goddard tuto). We build upon cutting edge modeller-solver pairs such as ADNLPModels.jl / ExaModels.jl with Ipopt / MadNLP.jl (the latter now allowing to solve control problems on GPU) for the direct part, on OrdinaryDiffEq.jl and AD tools (ForwardDiff.jl + DI) for the indirect one (+ ongoing discussions with @rveltz to leverage BifurcationKit.jl for continuation). The DSL leverages the very nice package MLStyle.jl by @thautwarm.
Optimal control of ODEs is all about dynamical systems, optimisation… and use cases: there are several tutorials and applications in the package documentation, and we welcome issues and PRs . More to come, with ongoing benchmarks on OptimalControlProblems.jl.