Solving optimal control problems with Julia
Jean-Baptiste Caillau, Olivier Cots, Joseph Gergaud, Pierre Martinon, Sophia Sed
What it's about
- Nonlinear optimal control of ODEs:
\[g(x(t_0),x(t_f)) + \int_{t_0}^{t_f} f^0(x(t), u(t))\, \mathrm{d}t \to \min\]
subject to
\[\dot{x}(t) = f(x(t), u(t)),\quad t \in [t_0, t_f]\]
plus boundary, control and state constraints
- Our core interests: numerical & geometrical methods in control, applications
Where it comes from
- BOCOP: the optimal control solver
- HamPath: indirect and Hamiltonian pathfollowing
- Coupling direct and indirect solvers, examples
OptimalControl.jl
- Basic example: double integrator (1/3)
- Basic example: double integrator (2/3)
- Basic example: double integrator (3/3)
- Indirect simple shooting
- Advanced example: Goddard problem
Wrap up
- [X] High level modelling of optimal control problems
- [X] Efficient numerical resolution coupling direct and indirect methods
- [X] Collection of examples
Future
- ct_repl
- Additional solvers: direct shooting, collocation for BVP, Hamiltonian pathfollowing...
- ... and open to contributions!
- CTProblems.jl
control-toolbox.org
- Open toolbox
- Collection of Julia Packages rooted at OptimalControl.jl