Skip to content

Commit

Permalink
[docs] update should_i_use.md to remove optimal control (#3623)
Browse files Browse the repository at this point in the history
Co-authored-by: Morten Piibeleht <[email protected]>
  • Loading branch information
odow and mortenpi authored Dec 13, 2023
1 parent 44b56b1 commit 6b0ef01
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 15 deletions.
15 changes: 0 additions & 15 deletions docs/src/should_i_use.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,21 +95,6 @@ Alternatives to consider are:
* [Optimization.jl](https://github.com/SciML/Optimization.jl)
* [NLopt.jl](https://github.com/JuliaOpt/NLopt.jl)

### Optimal control problems

JuMP supports formulating optimal control problems as large nonlinear programs
(see, for example, [Optimal control for a Space Shuttle reentry trajectory](@ref)).
However, the nonlinear interface has a number of limitations (for example, the
need to write out the dynamics in algebraic form) that mean JuMP might not be
the right tool for the job.

Alternatives to consider are:

* [CasADi [MATLAB/Python]](https://web.casadi.org),
[CasADi.jl](https://github.com/ichatzinikolaidis/CasADi.jl)
* [InfiniteOpt.jl](https://github.com/infiniteopt/InfiniteOpt.jl)
* [pyomo.DAE [Python]](https://pyomo.readthedocs.io/en/stable/modeling_extensions/dae.html)

### Disciplined convex programming

JuMP does not support [disciplined convex programming (DCP)](https://dcp.stanford.edu).
Expand Down
6 changes: 6 additions & 0 deletions docs/src/tutorials/applications/two_stage_stochastic.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
# The purpose of this tutorial is to demonstrate how to model and solve a
# two-stage stochastic program.

# !!! info
# The JuMP extension [InfiniteOpt.jl](../../packages/InfiniteOpt.md) can also be
# used to model and solve two-stage stochastic programs.
# The JuMP extension [SDDP.jl](../../packages/SDDP.md) can be
# used to model and solve multi-stage stochastic programs.

# This tutorial uses the following packages

using JuMP
Expand Down
4 changes: 4 additions & 0 deletions docs/src/tutorials/nonlinear/nested_problems.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
# For a simpler example of writing a user-defined operator,
# see the [User-defined Hessians](@ref) tutorial.

# !!! info
# The JuMP extension [BilevelJuMP.jl](../../packages/BilevelJuMP.md) can also be used to model and
# solve bilevel optimization problems.

# This tutorial uses the following packages:

using JuMP
Expand Down
4 changes: 4 additions & 0 deletions docs/src/tutorials/nonlinear/rocket_control.jl
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@

# The example is an optimal control problem of a nonlinear rocket.

# !!! info
# The JuMP extension [InfiniteOpt.jl](../../packages/InfiniteOpt.md) can also be
# used to model and solve optimal control problems.

# This tutorial uses the following packages:

using JuMP
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
# ["Practical Methods for Optimal Control and Estimation Using Nonlinear Programming"](https://epubs.siam.org/doi/book/10.1137/1.9780898718577),
# by John T. Betts.

# !!! info
# The JuMP extension [InfiniteOpt.jl](../../packages/InfiniteOpt.md) can also be
# used to model and solve optimal control problems.

# !!! tip
# This tutorial is a more-complicated version of the [Rocket Control](@ref) example.
# If you are new to solving nonlinear programs in JuMP, you may want to start there instead.
Expand Down

0 comments on commit 6b0ef01

Please sign in to comment.