It seems that the problem is not with small values, but with the fact that the equality constraint is quadratic. This works:
using JuMP
using Gurobi
model = Model(Gurobi.Optimizer)
@variable(model, x)
a = 5e-5
b = 3e-3
@constraint(model, c1, x == 0)
@constraint(model, c2, 1 == (a * x +b*x))
@objective(model, Min, x)
optimize!(model)
compute_conflict!(model)
MOI.get.(model, MOI.ConstraintConflictStatus(), c1)
MOI.get.(model, MOI.ConstraintConflictStatus(), c2)
Gives:
Can Gurobi always support quadratic equality constraints? The example works with inequality:
using JuMP
using Gurobi
model = Model(Gurobi.Optimizer)
@variable(model, x)
a = 5e-5
b = 3e-3
@constraint(model, c1, x == 0)
@constraint(model, c2, 1 <= (a * x^2 +b*x))
@objective(model, Min, x)
optimize!(model)
compute_conflict!(model)
# MOI.get.(model, MOI.ConstraintConflictStatus(), c1)
MOI.get.(model, MOI.ConstraintConflictStatus(), c2)
# # Without broadcasting
MOI.get.(model, MOI.ConstraintConflictStatus(), c2)
and gives:
I am unfortunately not familiar with Gurobi enough to offer more help.