Skip to content

Commit

Permalink
[docs] update roadmap for post v1.0 (#2883)
Browse files Browse the repository at this point in the history
  • Loading branch information
odow authored Mar 1, 2022
1 parent 1d30b64 commit 2875bd1
Showing 1 changed file with 29 additions and 3 deletions.
32 changes: 29 additions & 3 deletions docs/src/developers/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,32 @@ community. The JuMP developers have compiled this roadmap document to
share their plans and goals. Contributions to roadmap issues are especially
invited.

```@meta
# TODO: the roadmap should be re-written for the post-JuMP 1.0 world.
```
Most of these issues will require changes to both JuMP and MathOptInterface, and
are non-trivial in their implementation. They are in no particular order, but
represent broad themes that we see as areas in which JuMP could be improved.

- Make nonlinear programming a first-class citizen. There have been many issues
and discussions about this: currently nonlinear constraints are handled
through a `MOI.NLPBlock` and have various limitations and restrictions.
- [https://github.com/jump-dev/JuMP.jl/issues/1185](https://github.com/jump-dev/JuMP.jl/issues/1185)
- [https://github.com/jump-dev/JuMP.jl/issues/1198](https://github.com/jump-dev/JuMP.jl/issues/1198)
- [https://github.com/jump-dev/JuMP.jl/issues/2788](https://github.com/jump-dev/JuMP.jl/issues/2788)
- [https://github.com/jump-dev/MathOptInterface.jl/issues/846](https://github.com/jump-dev/MathOptInterface.jl/issues/846)
- [https://github.com/jump-dev/MathOptInterface.jl/issues/1397](https://github.com/jump-dev/MathOptInterface.jl/issues/1397)
- Add support for coefficient types other than `Float64`:
[https://github.com/jump-dev/JuMP.jl/issues/2025](https://github.com/jump-dev/JuMP.jl/issues/2025)
Since the very beginning, JuMP has hard-coded the coefficient type as
`Float64`. This has made it impossible to support solvers which can use other
types such as `BigFloat` or `Rational{BigInt}`.
- Add support for constraint programming:
[https://github.com/jump-dev/JuMP.jl/issues/2227](https://github.com/jump-dev/JuMP.jl/issues/2227)
JuMP has a strong focus on linear, conic and nonlinear optimization problems.
We want to add better support for constraint programming.
- Add support for multiobjective problems:
[https://github.com/jump-dev/JuMP.jl/issues/2099](https://github.com/jump-dev/JuMP.jl/issues/2099)
JuMP is restricted to problems with scalar-valued objectives. We want to
extend this to vector-valued problems.
- Refactor the internal code of JuMP's macros. The code in `src/macros.jl` is
some of the oldest part of JuMP and is difficult to read, modify, and extend.
We should overhaul the internals of JuMP's macros---without making
user-visible breaking changes---to improve their long-term maintainability.

2 comments on commit 2875bd1

@odow
Copy link
Member Author

@odow odow commented on 2875bd1 Mar 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/55930

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.23.1 -m "<description of version>" 2875bd1a0d336215a63ffb0fe74ffaaad0a6979a
git push origin v0.23.1

Please sign in to comment.