Open
Description
This happens with the new non-linear JuMP modelling, seems to work with the old one
(but the docs say the two can not be combined, and other stuff does not work with the old one)
I'm not sure if this is a JuMP's or SCIP's issue...
using JuMP, SCIP
a = 3
b = 1
model = Model(SCIP.Optimizer)
@variable(model, c[1:b], Int)
@expression(model, d[i=1:b,j=1:a], j <= c[i])
@variable(model, e[i=1:b,j=1:a], Bin)
@constraint(model, [i=1:b,j=1:a], e[i,j] == d[i,j])
print(model)
Constraints of type MathOptInterface.ScalarNonlinearFunction-in-MathOptInterface.EqualTo{Float64} are not supported by the solver.
If you expected the solver to support your problem, you may have an error in your formulation. Otherwise, consider using a different solver.
The list of available solvers, along with the problem types they support, is available at https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] _moi_add_constraint(model::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{SCIP.Optimizer}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}, f::MathOptInterface.ScalarNonlinearFunction, s::MathOptInterface.EqualTo{Float64})
@ JuMP ~/.julia/packages/JuMP/D44Aq/src/constraints.jl:679
[3] add_constraint(model::Model, con::ScalarConstraint{NonlinearExpr, MathOptInterface.EqualTo{Float64}}, name::String)
@ JuMP ~/.julia/packages/JuMP/D44Aq/src/constraints.jl:706
[4] macro expansion
@ ~/.julia/packages/JuMP/D44Aq/src/macros.jl:1345 [inlined]
[5] (::var"#25#26"{Model})(i::Int64, j::Int64)
@ Main ~/.julia/packages/JuMP/D44Aq/src/Containers/macro.jl:301
[6] #84
@ ~/.julia/packages/JuMP/D44Aq/src/Containers/container.jl:85 [inlined]
[7] iterate
@ ./generator.jl:47 [inlined]
[8] collect(itr::Base.Generator{JuMP.Containers.VectorizedProductIterator{Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, JuMP.Containers.var"#84#85"{var"#25#26"{Model}}})
@ Base ./array.jl:782
[9] map(f::Function, A::JuMP.Containers.VectorizedProductIterator{Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}})
@ Base ./abstractarray.jl:3291
[10] container
@ ~/.julia/packages/JuMP/D44Aq/src/Containers/container.jl:85 [inlined]
[11] container
@ ~/.julia/packages/JuMP/D44Aq/src/Containers/container.jl:71 [inlined]
[12] container(f::Function, indices::JuMP.Containers.VectorizedProductIterator{Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}, #unused#::Type{JuMP.Containers.AutoContainerType}, names::Vector{Any})
@ JuMP.Containers ~/.julia/packages/JuMP/D44Aq/src/Containers/container.jl:75
[13] macro expansion
@ ~/.julia/packages/JuMP/D44Aq/src/macros.jl:1213 [inlined]
[14] top-level scope
@ In[3]:14
Metadata
Metadata
Assignees
Labels
No labels