We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERROR: MathOptInterface.UpperBoundAlreadySet{MathOptInterface.Interval{Float64}, MathOptInterface.LessThan{Float64}}: Cannot add `VariableIndex`-in-`MathOptInterface.LessThan{Float64}` constraint for variable MathOptInterface.VariableIndex(15) as a `VariableIndex`-in-`MathOptInterface.Interval{Float64}` constraint was already set for this variable and both constraints set an upper bound. Stacktrace: [1] _throw_if_upper_bound_set_inner(variable::MathOptInterface.VariableIndex, S2::Type, mask::UInt16, T::Type) @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/variables_container.jl:126 [2] _throw_if_upper_bound_set @ ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/variables_container.jl:137 [inlined] [3] add_constraint @ ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/variables_container.jl:256 [inlined] [4] add_constraint @ ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/model.jl:371 [inlined] [5] add_constraint(m::MathOptInterface.Utilities.CachingOptimizer{Cbc.Optimizer, MathOptInterface.Utilities.Model{Float64}}, func::MathOptInterface.VariableIndex, set::MathOptInterface.LessThan{Float64}) @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/cachingoptimizer.jl:546 [6] add_constraint(b::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{Cbc.Optimizer, MathOptInterface.Utilities.Model{Float64}}}, f::MathOptInterface.VariableIndex, s::MathOptInterface.LessThan{Float64}) @ MathOptInterface.Bridges ~/.julia/packages/MathOptInterface/Ohzb2/src/Bridges/bridge_optimizer.jl:1666 [7] add_constraint @ ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/types/incremental.jl:84 [inlined] [8] update_relaxed_problem_box!(m::EAGO.GlobalOptimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/nonconvex/lower_problem.jl:89 [9] relax_problem!(m::EAGO.GlobalOptimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/nonconvex/lower_problem.jl:215 [10] obbt!(m::EAGO.GlobalOptimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/domain_reduction.jl:253 [11] preprocess!(t::EAGO.DefaultExt, m::EAGO.GlobalOptimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/nonconvex/lower_problem.jl:321 [12] preprocess! @ ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/nonconvex/lower_problem.jl:330 [inlined] [13] macro expansion @ ./timing.jl:299 [inlined] [14] global_solve!(m::EAGO.GlobalOptimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/optimize_nonconvex.jl:285 [15] optimize! @ ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/optimize_nonconvex.jl:354 [inlined] [16] optimize!(m::Optimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}) @ EAGO ~/.julia/packages/EAGO/XpIwc/src/eago_optimizer/optimize/optimize.jl:39 [17] optimize! @ ~/.julia/packages/MathOptInterface/Ohzb2/src/Bridges/bridge_optimizer.jl:376 [inlined] [18] optimize! @ ~/.julia/packages/MathOptInterface/Ohzb2/src/MathOptInterface.jl:87 [inlined] [19] optimize!(m::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{Optimizer{EAGO.Incremental{Cbc.Optimizer}, EAGO.Incremental{Ipopt.Optimizer}, EAGO.DefaultExt}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}) @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/Ohzb2/src/Utilities/cachingoptimizer.jl:316 [20] optimize!(model::Model; ignore_optimize_hook::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ JuMP ~/.julia/packages/JuMP/Y4piv/src/optimizer_interface.jl:161 [21] optimize!(model::Model) @ JuMP ~/.julia/packages/JuMP/Y4piv/src/optimizer_interface.jl:143 [22] top-level scope @ REPL[59]:1
Package environment:
Status `~/privatepath/model/Project.toml` [07493b3f] Alpine v0.5.1 [bb8be931] EAGO v0.7.1 [87dc4568] HiGHS v1.1.4 [b99e6be6] Hypatia v0.7.0 [b6b21f68] Ipopt v1.1.0 [4076af6c] JuMP v1.1.1 [2ddba703] Juniper v0.9.1 [2f354839] Pajarito v0.8.0 [2f01184e] SparseArrays
Offending code: Offending code:
using Ipopt, Alpine, LinearAlgebra, Juniper, EAGO, SparseArrays, JuMP nn = 4 np = 5 n0 = 1 Qmax = 500 Pmin = 5 Pmax = 45 Aqp = sparse([1,2,2,3,3,4,4,5,5],[1,1,2,1,3,2,4,3,4],[1.,1.,-1.,-1.,1.,1.,-1.,1.,-1.],5,4) Aq0 = sparse([1],[1],[-1.],5,1) Demands = fill(25.,(4)) Elevation = [90.,90.,88.,88.] WaterHeight = [100.;] nv = 4 ## MINLP mip = optimizer_with_attributes(HiGHS.Optimizer, MOI.Silent() => true, "presolve" => "on") # NLP optimizer ipopt = optimizer_with_attributes(Ipopt.Optimizer, MOI.Silent() => true, "sb" => "yes", "max_iter" => 9999) # Local MINLP feasibility pump juniper = optimizer_with_attributes( Juniper.Optimizer, # MOI.Silent() => true, "mip_solver" => mip, "nl_solver" => ipopt, ) # Global optimizer alpine = optimizer_with_attributes(Alpine.Optimizer, "nlp_solver" => ipopt, "mip_solver" => mip, "minlp_solver" => juniper) mnl = Model(EAGO) @variable(mnl, Pmin <= p[1:nn] <= Pmax) @variable(mnl, 0 <= q[1:(2*np)] <= Qmax) @variable(mnl, z[1:(2*np)], Bin) @variable(mnl, hfq[1:(2*np)]) @constraint(mnl, transpose(Aqp)*(q[1:np] - q[(np+1):(2np)]) - Demands .== 0) @variable(mnl, b[1:(2*np)]) @constraint(mnl, b[1:np] .== -Aqp*p -Aqp*Demands -Aq0*WaterHeight -hfq[1:np] ) @constraint(mnl, b[(np+1):(2np)] .== +Aqp*p +Aqp*Demands +Aq0*WaterHeight -hfq[(np+1):(2np)]) for i in 1:(2*np) @NLconstraint(mnl, 0 <= q[i]*b[i] ) end @constraint(mnl, -Aqp*p -Aqp*Demands -Aq0*WaterHeight -hfq[1:np] -100*z[1:np] .<= 0) @constraint(mnl, +Aqp*p +Aqp*Demands +Aq0*WaterHeight -hfq[(np+1):(2np)] -100*z[(1+np):(2*np)] .<= 0) @constraint(mnl, z[1:np] + z[(np+1):(2np)] .<= 1) @constraint(mnl, sum(z) == nv) for i in 1:(2*np) @NLconstraint(mnl, hfq[i] == q[i]^1.852) end @objective(mnl,Min,sum(p)) optimize!(mnl)
Related issue: lanl-ansi/Alpine.jl#223
I will narrow down the issue a bit more in the coming days.
The text was updated successfully, but these errors were encountered:
I'm having the same error. How did you solve it?
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
Package environment:
Offending code:
Offending code:
Related issue: lanl-ansi/Alpine.jl#223
I will narrow down the issue a bit more in the coming days.
The text was updated successfully, but these errors were encountered: