Hi All,
I am solving an MINLP using Juniper and getting this
Status of relaxation: NORM_LIMIT
any suggestions how to resolve this.
Thanks
Hi All,
I am solving an MINLP using Juniper and getting this
Status of relaxation: NORM_LIMIT
any suggestions how to resolve this.
Thanks
Your problem may be unbounded. Put bounds on the variables.
Thanks Mohamed82008, it working forgot to put bounds on the variable. now getting new error
MathOptInterface.LowerBoundAlreadySet{MathOptInterface.EqualTo{Float64},MathOptInterface.EqualTo{Float64}}(MathOptInterface.VariableIndex(103))
any idea on how to get variable name from variable index i.e. 103
Please provide a minimal working example demonstrating the problem.
Hi odow,
It is a commercial code. I cant share. Is there a way to know about the variable name from the VariableIndex.
Thanks
You shouldn’t get that error using JuMP. So it’s either a bug that we should fix, or a mistake in your code. It would be helpful if you could remove the confidential stuff and post a simplified example that reproduces the problem.
@odow,
This reproduce the error. I am not sure this is the correct or not.
m = Model(with_optimizer(Cbc.Optimizer))
@variable(m, x)
@constraint(m, x in MOI.LessThan(7.0))
@constraint(m, x in MOI.LessThan(5.0))
@constraint(m, x in MOI.LessThan(10.0))
@objective(m, Max, x)```
it reproduce the error
ERROR: MathOptInterface.UpperBoundAlreadySet{MathOptInterface.LessThan{Float64},MathOptInterface.LessThan{Float64}}: Cannot add `SingleVariable`-in`MathOptInterface.LessThan{Float64}` constraint for variable MathOptInterface.VariableIndex(1) as a `SingleVariable`-in`MathOptInterface.LessThan{Float64}` constraint was already set for this variable and both constraints set an upper bound.
Use JuMP.set_upper_bound
instead of @constraint(m, x in MOI.LessThan(7.0))
.
It’s not valid in MOI to add multiple SingleVariable-in-LessThan
constraints on the same variable: Constraints · MathOptInterface
Constraints with
SingleVariable
inLessThan
,GreaterThan
,EqualTo
, orInterval
sets have a natural interpretation as variable bounds. As such, it is typically not natural to impose multiple lower- or upper-bounds on the same variable, and the solver interfaces should throw respectivelyLowerBoundAlreadySet
orUpperBoundAlreadySet
.Moreover, adding two
SingleVariable
constraints on the same variable with the same set is impossible because they share the same index as it is the index of the variable, seeConstraintIndex
.