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 name
  • nh::Int: default number of discretization points
  • nvar::Int: number of variables
  • ncon::Int: number of general constraints
  • minimize::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:

ProblemWith JuMPWith 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