The control-toolbox ecosystem gathers Julia packages for mathematical control and applications. It is an outcome of a research initiative supported by the Inria Centre at Université Côte d’Azur and the Labex CIMI (Centre International de Mathématiques et Informatique de Toulouse) at Université de Toulouse 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: