You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .zenodo.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"description": "<p>The <a href=\"https://juliahub.com/ui/Packages/General/OptimalControl\" rel=\"nofollow\">OptimalControl.jl</a> package is the root package of the <a href=\"https://github.com/control-toolbox\">control-toolbox ecosystem</a>. 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.</p>",
2
+
"description": "<p>The <a href=\"https://juliahub.com/ui/Packages/General/OptimalControl\" rel=\"nofollow\">OptimalControl.jl</a> package is the root package of the <a href=\"https://github.com/control-toolbox\">control-toolbox ecosystem</a>. 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, both on CPU and GPU.</p>",
3
3
"title": "OptimalControl.jl: a Julia package to model and solve optimal control problems with ODE's",
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
6
+
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
7
7
Before opening a pull request, please start an issue or a discussion on the topic.
8
8
9
-
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).
10
-
If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions).
11
-
You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
9
+
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions). You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
12
10
13
-
If you want to ask a question, feel free to start a discussion [here](https://github.com/orgs/control-toolbox/discussions). This forum is for general discussion about this repository and the [control-toolbox organization](https://github.com/control-toolbox).
11
+
If you want to ask a question, feel free to start a discussion [here](https://github.com/orgs/control-toolbox/discussions). This forum is for general discussion about this repository and the [control-toolbox organization](https://github.com/control-toolbox).
12
+
13
+
>[!NOTE]
14
+
> If you want to add an application or a package to the control-toolbox ecosystem, please follow this [set up tutorial](https://github.com/orgs/control-toolbox/discussions/65).
The OptimalControl.jl package is the root package of the [control-toolbox ecosystem](https://github.com/control-toolbox).
37
-
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, both on CPU and GPU.
</a> packages for mathematical control and its applications.
28
+
29
+
- The root package, [OptimalControl.jl](https://github.com/control-toolbox/OptimalControl.jl), provides tools to model and solve optimal control problems defined by ordinary differential equations. It supports both direct and indirect methods, and can run on CPU or GPU.
- Complementing it, [OptimalControlProblems.jl](https://github.com/control-toolbox/OptimalControlProblems.jl) offers a curated collection of benchmark optimal control problems formulated with ODEs in Julia. Each problem is available both in the **OptimalControl** DSL and in **JuMP**, with discretised versions ready to be solved using the solver of your choice. This makes the package particularly useful for benchmarking and comparing different solution strategies.
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
108
+
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
112
109
Before opening a pull request, please start an issue or a discussion on the topic.
113
110
114
-
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).
115
-
If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions).
116
-
You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
111
+
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions). You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
117
112
118
113
If you want to ask a question, feel free to start a discussion [here](https://github.com/orgs/control-toolbox/discussions). This forum is for general discussion about this repository and the [control-toolbox organization](https://github.com/control-toolbox).
119
114
120
115
>[!NOTE]
121
116
> If you want to add an application or a package to the control-toolbox ecosystem, please follow this [set up tutorial](https://github.com/orgs/control-toolbox/discussions/65).
122
-
123
-
## See also
124
-
125
-
We acknowledge support of colleagues from [ADNLPModels](https://jso.dev/ADNLPModels.jl/stable) @[Julia Smooth Optimizers](https://jso.dev) and [MadNLP](https://github.com/MadNLP/MadNLP.jl).
Let us model and solve a simple optimal control problem, then plot the solution:
19
+
20
+
```julia
21
+
using OptimalControl
22
+
using NLPModelsIpopt
23
+
using Plots
24
+
25
+
ocp =@defbegin
26
+
t ∈ [0, 1], time
27
+
x ∈ R², state
28
+
u ∈ R, control
29
+
x(0) == [-1, 0]
30
+
x(1) == [0, 0]
31
+
ẋ(t) == [x₂(t), u(t)]
32
+
0.5∫( u(t)^2 ) → min
33
+
end
34
+
35
+
sol =solve(ocp)
36
+
37
+
plot(sol)
38
+
```
39
+
40
+
For more details about this problem, please check the basic example presented in the [documentation](https://control-toolbox.org/OptimalControl.jl).
41
+
42
+
## Citing us
43
+
44
+
If you use OptimalControl.jl in your work, please cite us:
45
+
46
+
> Caillau, J.-B., Cots, O., Gergaud, J., Martinon, P., & Sed, S. *OptimalControl.jl: a Julia package to model and solve optimal control problems with ODE's*[Computer software]. https://doi.org/10.5281/zenodo.13336563
47
+
48
+
or in BibTeX format:
49
+
50
+
```bibtex
51
+
@software{OptimalControl_jl_a_Julia,
52
+
author = {Caillau, Jean-Baptiste and Cots, Olivier and Gergaud, Joseph and Martinon, Pierre and Sed, Sophia},
53
+
doi = {10.5281/zenodo.16753152},
54
+
license = {["MIT"]},
55
+
title = {{OptimalControl.jl: a Julia package to model and solve optimal control problems with ODE's}},
0 commit comments