diff --git a/docs/src/should_i_use.md b/docs/src/should_i_use.md index d1f27d4146f..99e71844966 100644 --- a/docs/src/should_i_use.md +++ b/docs/src/should_i_use.md @@ -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). diff --git a/docs/src/tutorials/applications/two_stage_stochastic.jl b/docs/src/tutorials/applications/two_stage_stochastic.jl index f724066d0ff..8b87bd745fb 100644 --- a/docs/src/tutorials/applications/two_stage_stochastic.jl +++ b/docs/src/tutorials/applications/two_stage_stochastic.jl @@ -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 diff --git a/docs/src/tutorials/nonlinear/nested_problems.jl b/docs/src/tutorials/nonlinear/nested_problems.jl index 54865d05c13..5ee010472e3 100644 --- a/docs/src/tutorials/nonlinear/nested_problems.jl +++ b/docs/src/tutorials/nonlinear/nested_problems.jl @@ -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 diff --git a/docs/src/tutorials/nonlinear/rocket_control.jl b/docs/src/tutorials/nonlinear/rocket_control.jl index 0a2c5127998..33b3895b834 100644 --- a/docs/src/tutorials/nonlinear/rocket_control.jl +++ b/docs/src/tutorials/nonlinear/rocket_control.jl @@ -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 diff --git a/docs/src/tutorials/nonlinear/space_shuttle_reentry_trajectory.jl b/docs/src/tutorials/nonlinear/space_shuttle_reentry_trajectory.jl index 638c7e1d8f0..a62c1c7b305 100644 --- a/docs/src/tutorials/nonlinear/space_shuttle_reentry_trajectory.jl +++ b/docs/src/tutorials/nonlinear/space_shuttle_reentry_trajectory.jl @@ -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.