-
Notifications
You must be signed in to change notification settings - Fork 93
Closed
Description
julia> import MathOptInterface as MOI
julia> MOI.Utilities.@model(
MyModel,
(),
(),
(MOI.Nonnegatives,),
(),
(),
(),
(),
(MOI.VectorAffineFunction,)
);
julia> function MOI.supports_constraint(
::MyModel,
::Type{MOI.VariableIndex},
::Type{S},
) where {S<:MOI.AbstractScalarSet}
return false
end
julia> model = MOI.instantiate(MyModel{Float64}; with_bridge_type = Float64);
julia> x, _ = MOI.add_constrained_variable(model, MOI.Interval(0.0, 1.0));
julia> MOI.delete(model, x)
ERROR: The index MathOptInterface.ConstraintIndex{MathOptInterface.VectorOfVariables, MathOptInterface.HyperRectangle{Float64}}(-1) is invalid. Note that an index becomes invalid after it has been deleted.
Stacktrace:
[1] throw_if_not_valid
@ ~/.julia/dev/MathOptInterface/src/indextypes.jl:116 [inlined]
[2] delete(b::MathOptInterface.Bridges.LazyBridgeOptimizer{…}, ci::MathOptInterface.ConstraintIndex{…})
@ MathOptInterface.Bridges ~/.julia/dev/MathOptInterface/src/Bridges/bridge_optimizer.jl:668
[3] delete
@ ~/.julia/dev/MathOptInterface/src/Bridges/Constraint/bridges/IntervalToHyperRectangleBridge.jl:98 [inlined]
[4] #11
@ ~/.julia/dev/MathOptInterface/src/Bridges/bridge_optimizer.jl:690 [inlined]
[5] call_in_context(map::MathOptInterface.Bridges.Variable.Map, bridge_index::Int64, f::MathOptInterface.Bridges.var"#11#12"{…})
@ MathOptInterface.Bridges.Variable ~/.julia/dev/MathOptInterface/src/Bridges/Variable/map.jl:621
[6] call_in_context(map::MathOptInterface.Bridges.Variable.Map, ci::MathOptInterface.ConstraintIndex{…}, f::Function)
@ MathOptInterface.Bridges.Variable ~/.julia/dev/MathOptInterface/src/Bridges/Variable/map.jl:652
[7] delete(b::MathOptInterface.Bridges.LazyBridgeOptimizer{…}, ci::MathOptInterface.ConstraintIndex{…})
@ MathOptInterface.Bridges ~/.julia/dev/MathOptInterface/src/Bridges/bridge_optimizer.jl:687
[8] _delete_variables_in_variables_constraints(b::MathOptInterface.Bridges.LazyBridgeOptimizer{…}, vis::Vector{…})
@ MathOptInterface.Bridges ~/.julia/dev/MathOptInterface/src/Bridges/bridge_optimizer.jl:531
[9] delete(b::MathOptInterface.Bridges.LazyBridgeOptimizer{…}, vi::MathOptInterface.VariableIndex)
@ MathOptInterface.Bridges ~/.julia/dev/MathOptInterface/src/Bridges/bridge_optimizer.jl:636
[10] top-level scope
@ REPL[258]:1
Some type information was truncated. Use `show(err)` to see complete types.
Metadata
Metadata
Assignees
Labels
No labels