Simple integrator: state energy minimisation nonsmooth turnpike
The state energy minimisation simple integrator problem consists in minimising
\[ \int_{0}^{2} x(t)^2 \, \mathrm{d}t\]
subject to the constraints
\[ \dot x(t) = u(t), u(t) \in [0,\gamma], \\\]
and the limit conditions
\[ x(0) = 1, \quad x(2) = 0.5.\]
You can access the problem in the CTProblems package:
using CTProblems
prob = Problem(:turnpike, :integrator, :state_energy, :x_dim_1, :u_dim_1, :lagrange, :u_cons, :singular_arc)
title = simple nonsmooth turnpike - state energy min - affine system in u
model (Type) = OptimalControlModel{Autonomous, Fixed}
solution (Type) = OptimalControlSolution
Then, the model is given by
prob.model
The (autonomous) optimal control problem is given by:
t ∈ [t0, tf], time
x ∈ R, state
u ∈ R, control
x(t0) == x0, initial_con
x(tf) == xf, final_con
-1 ≤ u(t) ≤ 1, u_con
ẋ(t) == u(t)
∫(x(t) ^ 2) → min
The (autonomous) optimal control problem is of the form:
minimize J(x, u) = ∫ f⁰(x(t), u(t)) dt, over [0, 2]
subject to
ẋ(t) = f(x(t), u(t)), t in [0, 2] a.e.,
ηl ≤ η(x(t)) ≤ ηu,
ϕl ≤ ϕ(x(0), x(2)) ≤ ϕu,
where x(t) ∈ R and u(t) ∈ R.
Declarations (* required):
╭────────┬────────┬──────────┬──────────┬───────────┬────────────┬─────────────╮
│ times* │ state* │ control* │ variable │ dynamics* │ objective* │ constraints │
├────────┼────────┼──────────┼──────────┼───────────┼────────────┼─────────────┤
│ V │ V │ V │ X │ V │ V │ V │
╰────────┴────────┴──────────┴──────────┴───────────┴────────────┴─────────────╯
You can plot the solution.
using Plots
plot(prob.solution)