List of Problems
The problems are stored in OptimalControlProblems.jl/ext directory. JuMP models are stored in JuMPModels directory and OptimalControl models are stored in OptimalControlModels.
For each problem, we provide the following data in MetaData directory:
name::String
: problem namenh::Int
: default number of discretization pointsnvar::Int
: number of variablesncon::Int
: number of general constraintsminimize::Bool
: true if optimize == minimize
To get the list of metadata, you can use the following code:
using OptimalControlProblems
OptimalControlProblems.metadata
To access the metadata of a specific problem, you can execute the following command:
OptimalControlProblems.metadata[:chain]
Dict{Any, Any} with 5 entries:
:minimize => true
:ncon => 305
:name => "chain"
:nh => 100
:nvar => 404
The table below summarizes the names and status of the each problem:
Problem | With JuMP | With OptimalControl |
---|---|---|
beam | ✅ | ✅ |
bioreactor | ✅ | ✅ |
cart_pendulum | ❌ | ✅ |
chain | ✅ | ✅ |
dielectrophoretic_particle | ✅ | ✅ |
double_oscillator | ✅ | ✅ |
ducted_fan | ✅ | ✅ |
electrical_vehicle | ✅ | ✅ |
glider | ✅ | ❌ |
insurance | ✅ | ✅ |
jackson | ✅ | ✅ |
moonlander | ✅ | 🟠 |
quadrotor | 🟠 | 🟠 |
robbins | ✅ | ✅ |
robot | ✅ | ✅ |
rocket | ✅ | ✅ |
space_shuttle | ✅ | 🟠 |
steering | ✅ | ✅ |
truck_trailer | 🟠 | 🟠 |
vanderpol | ✅ | ✅ |
Legend
The problems are solved with Ipopt and the parameters:
tol = 1e-8
constr_viol_tol = 1e-6
max_iter = 500
mu_strategy = "adaptive"
linear_solver = "mumps"
max_wall_time = 240.0
sb = "yes"
The symbols in the table means:
- ✅ locally solved
- 🟠 locally infeasible or maximum of iterations
- ❌ error during execution