Yes, such constraints are called "range constraints". In Python, you would add those
constraints using model.addRange(), see
http://www.gurobi.com/documentation/8.0/refman/py_model_addrange.html. Alternatively, in
Python you can use the syntax
model.addConstr(x + y == [-15,-1])
But Gurobi does nothing smart with these constraints. When you add such constraints,
Gurobi immediately introduces an auxiliary slack variable and converts the left and right
hand side of the constraint into bounds of the slack variable. Thus, adding a range constraint
lhs <= ax <= rhs
is equivalent to
ax - s = lhs
0 <= s <= rhs-lhs
with an explicit slack variable s. I encourage you to avoid range constraints and instead
formulate the model yourself with explicit slack variables. This avoids the confusion that
after the addRange() call you suddenly have another variable in your model that you did
not add yourself using addVar().
Regards,
Tobias