ANN: JuMP v1.15 is released

Dear all,

I am very pleased to announce the release of JuMP v1.15.

This is a very large minor release because it introduces an entirely new API for nonlinear programs.

To summarize, there is now a first-class nonlinear expression type, NonlinearExpr, and you can create nonlinear expressions directly in the REPL, or in JuMP macros:

julia> using JuMP

julia> model = Model();

julia> @variable(model, x);

julia> expr = x^2.3 + sin(x)
(x ^ 2.3) + sin(x)

julia> typeof(expr)
NonlinearExpr (alias for GenericNonlinearExpr{GenericVariableRef{Float64}})

julia> expr.head

julia> expr.args
2-element Vector{Any}:
 x ^ 2.3

julia> @objective(model, Min, x^2.3 + sin(x))
(x ^ 2.3) + sin(x)

For next steps, you may want to:

If you have any questions or feedback on the new design, please let me know, either by reply to this thread, or by opening a GitHub issue.

Happy JuMPing,


p.s., It is my hope that this release finally brings an end to the number of questions I’ve answered with “yes, this doesn’t work in JuMP right now, but we’re working on fixing it.” [1] [2] [3] [4] [5] [6] [7] [8] [9]