Status of relaxation: NORM_LIMIT

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.

2 Likes

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 in LessThan , GreaterThan , EqualTo , or Interval 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 respectively LowerBoundAlreadySet or UpperBoundAlreadySet .

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, see ConstraintIndex .

1 Like