The control-toolbox ecosystem gathers Julia packages for mathematical control and applications. It is an outcome of a research initiative supported by the Centre Inria of Université Côte d’Azur and a sequel to previous developments, notably Bocop and Hampath. See also: ct gallery. The root package is OptimalControl.jl which aims to provide tools to solve optimal control problems by direct and indirect methods.


See the installation page.

Getting started

To solve your first optimal control problem using OptimalControl.jl package, please visit our basic example tutorial or just copy-paste the following piece of code!

using OptimalControl

@def ocp begin
    t  [ 0, 1 ], time
    x  , state
    u  R, control
    x(0) == [ -1, 0 ]
    x(1) == [ 0, 0 ]
    (t) == [ x₂(t), u(t) ]
    ( 0.5u(t)^2 )  min

sol = solve(ocp)

You should obtain this: