OptimalControlProblems.jl

The OptimalControlProblems.jl package is part of the control-toolbox ecosystem and is independent of OptimalControl.jl. The control-toolbox ecosystem gathers Julia packages for mathematical control and applications. It aims to provide tools to model and solve optimal control problems with ordinary differential equations by direct and indirect methods. If you want to define an optimal control problem and solve it, please check the documentation.

In the OptimalControlProblems.jl package, you can find a list of optimal control problems modelled with JuMP and OptimalControl. There can be used for benchmarking.

Content:

Installation

To install OptimalControlProblems.jl, please open Julia's interactive session (known as REPL) and use the Julia package manager:

using Pkg
Pkg.add("OptimalControlProblems")

Reproducibility

The documentation of this package was built using these direct dependencies,
Status `~/work/OptimalControlProblems.jl/OptimalControlProblems.jl/docs/Project.toml`
  [e30172f5] Documenter v1.10.1
  [b6b21f68] Ipopt v1.9.0
  [4076af6c] JuMP v1.25.0
  [f4238b75] NLPModelsIpopt v0.10.4
  [5f98b655] OptimalControl v1.0.0
  [59046045] OptimalControlProblems v0.2.0 `~/work/OptimalControlProblems.jl/OptimalControlProblems.jl`
  [d6f4376e] Markdown v1.11.0
  [fa267f1f] TOML v1.0.3
and using this machine and Julia version.
Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × AMD EPYC 7763 64-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)
Environment:
  JULIA_PKG_SERVER_REGISTRY_PREFERENCE = eager
A more complete overview of all dependencies and their versions is also provided.
Status `~/work/OptimalControlProblems.jl/OptimalControlProblems.jl/docs/Manifest.toml`
  [54578032] ADNLPModels v0.8.12
  [47edcb42] ADTypes v1.14.0
  [a4c015fc] ANSIColoredPrinters v0.0.1
  [1520ce14] AbstractTrees v0.4.5
  [79e6a3ab] Adapt v4.3.0
  [13072b0f] AxisAlgorithms v1.1.0
  [6e4b80f9] BenchmarkTools v1.6.0
⌅ [54762871] CTBase v0.15.0
  [790bbbee] CTDirect v0.14.8
  [1c39547c] CTFlows v0.8.1
  [34c4fa32] CTModels v0.2.3
  [32681960] CTParser v0.2.3
  [d360d2e6] ChainRulesCore v1.25.1
  [523fee87] CodecBzip2 v0.8.5
  [944b1d66] CodecZlib v0.7.8
  [38540f10] CommonSolve v0.2.4
  [bbf7d656] CommonSubexpressions v0.3.1
  [34da2185] Compat v4.16.0
  [a8cc5b0e] Crayons v4.1.1
  [9a962f9c] DataAPI v1.16.0
  [864edb3b] DataStructures v0.18.22
  [e2d170a0] DataValueInterfaces v1.0.0
  [163ba53b] DiffResults v1.1.0
  [b552c78f] DiffRules v1.15.1
  [ffbed154] DocStringExtensions v0.9.4
  [e30172f5] Documenter v1.10.1
  [e2ba6199] ExprTools v0.1.10
  [9aa1b823] FastClosures v0.3.2
  [1a297f60] FillArrays v1.13.0
⌅ [f6369f11] ForwardDiff v0.10.38
  [069b7b12] FunctionWrappers v1.1.3
  [d7ba0133] Git v1.3.1
  [34c5aeac] HSL v0.5.0
  [b5f81e59] IOCapture v0.2.5
  [a98d9a8b] Interpolations v0.15.1
  [b6b21f68] Ipopt v1.9.0
  [92d709cd] IrrationalConstants v0.2.4
  [82899510] IteratorInterfaceExtensions v1.0.0
  [692b3bcd] JLLWrappers v1.7.0
  [682c06a0] JSON v0.21.4
  [0f8b85d8] JSON3 v1.14.2
  [4076af6c] JuMP v1.25.0
  [b964fa9f] LaTeXStrings v1.4.0
  [0e77f7df] LazilyInitializedFields v1.3.0
  [5c8ed15e] LinearOperators v2.10.0
  [2ab3a3ac] LogExpFunctions v0.3.29
  [33e6dc65] MKL v0.8.0
  [d8e11817] MLStyle v0.4.17
  [1914dd2f] MacroTools v0.5.16
  [d0879d2d] MarkdownAST v0.1.2
  [b8f27783] MathOptInterface v1.39.0
  [d8a4904e] MutableArithmetics v1.6.4
  [a4795742] NLPModels v0.21.4
  [f4238b75] NLPModelsIpopt v0.10.4
  [77ba4419] NaNMath v1.1.3
  [6fe1bfb0] OffsetArrays v1.17.0
  [5f98b655] OptimalControl v1.0.0
  [59046045] OptimalControlProblems v0.2.0 `~/work/OptimalControlProblems.jl/OptimalControlProblems.jl`
  [bac558e1] OrderedCollections v1.8.0
  [d96e819e] Parameters v0.12.3
  [69de0a69] Parsers v2.8.2
⌅ [aea7be01] PrecompileTools v1.2.1
  [21216c6a] Preferences v1.4.3
  [08abe8d2] PrettyTables v2.4.0
  [be4d8f0f] Quadmath v0.5.11
  [c84ed2f1] Ratios v0.4.5
  [3cdcf5f2] RecipesBase v1.3.4
  [189a3867] Reexport v1.2.2
  [2792f1a3] RegistryInstances v0.1.0
  [ae029012] Requires v1.3.1
  [37e2e3b7] ReverseDiff v1.16.1
  [ff4d7338] SolverCore v0.3.8
  [9f842d2f] SparseConnectivityTracer v0.6.17
  [0a514795] SparseMatrixColorings v0.4.18
  [276daf66] SpecialFunctions v2.5.1
  [90137ffa] StaticArrays v1.9.13
  [1e83bf80] StaticArraysCore v1.4.3
  [10745b16] Statistics v1.11.1
  [892a3eda] StringManipulation v0.4.1
  [856f2bd8] StructTypes v1.11.0
  [3783bdb8] TableTraits v1.0.1
  [bd369af6] Tables v1.12.0
  [a759f4b9] TimerOutputs v0.5.28
  [3bb67fe8] TranscodingStreams v0.11.3
  [3a884ed6] UnPack v1.0.2
  [efce3f68] WoodburyMatrices v1.0.0
  [ae81ac8f] ASL_jll v0.1.3+0
  [6e34b625] Bzip2_jll v1.0.9+0
  [2e619515] Expat_jll v2.6.5+0
  [f8c6e375] Git_jll v2.49.0+0
  [017b0a0e] HSL_jll v4.0.2+0
  [e33a78d0] Hwloc_jll v2.12.0+0
  [1d5cc7b8] IntelOpenMP_jll v2025.0.4+0
  [9cc047cb] Ipopt_jll v300.1400.1700+0
  [94ce4f54] Libiconv_jll v1.18.0+0
  [d00139f3] METIS_jll v5.1.3+0
  [856f044c] MKL_jll v2025.0.1+1
  [d7ed1dd3] MUMPS_seq_jll v500.700.301+0
  [656ef2d0] OpenBLAS32_jll v0.3.29+0
  [458c3c95] OpenSSL_jll v3.0.16+0
  [efe28fd5] OpenSpecFun_jll v0.5.6+0
⌅ [319450e9] SPRAL_jll v2024.5.8+0
  [1317d2d5] oneTBB_jll v2022.0.0+0
  [0dad84c5] ArgTools v1.1.2
  [56f22d72] Artifacts v1.11.0
  [2a0f44e3] Base64 v1.11.0
  [ade2ca70] Dates v1.11.0
  [8ba89e20] Distributed v1.11.0
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching v1.11.0
  [b77e0a4c] InteractiveUtils v1.11.0
  [4af54fe1] LazyArtifacts v1.11.0
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2 v1.11.0
  [8f399da3] Libdl v1.11.0
  [37e2e46d] LinearAlgebra v1.11.0
  [56ddb016] Logging v1.11.0
  [d6f4376e] Markdown v1.11.0
  [a63ad114] Mmap v1.11.0
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.11.0
  [de0858da] Printf v1.11.0
  [9abbd945] Profile v1.11.0
  [3fa0cd96] REPL v1.11.0
  [9a3f8284] Random v1.11.0
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization v1.11.0
  [1a1011a3] SharedArrays v1.11.0
  [6462fe0b] Sockets v1.11.0
  [2f01184e] SparseArrays v1.11.0
  [f489334b] StyledStrings v1.11.0
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test v1.11.0
  [cf7118a7] UUIDs v1.11.0
  [4ec0a83e] Unicode v1.11.0
  [e66e0078] CompilerSupportLibraries_jll v1.1.1+0
  [deac9b47] LibCURL_jll v8.6.0+0
  [e37daf67] LibGit2_jll v1.7.2+0
  [29816b5a] LibSSH2_jll v1.11.0+1
  [c8ffd9c3] MbedTLS_jll v2.28.6+0
  [14a3606d] MozillaCACerts_jll v2023.12.12
  [4536629a] OpenBLAS_jll v0.3.27+1
  [05823500] OpenLibm_jll v0.8.5+0
  [efcefdf7] PCRE2_jll v10.42.0+1
  [bea87d4a] SuiteSparse_jll v7.7.0+0
  [83775a58] Zlib_jll v1.2.13+1
  [8e850b90] libblastrampoline_jll v5.11.0+0
  [8e850ede] nghttp2_jll v1.59.0+0
  [3f19e933] p7zip_jll v17.4.0+2
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`

You can also download the manifest file and the project file.