Model.addConstr()
addConstr ( lhs, sense=None, rhs=None, name="" )
Add a constraint to a model.
Note that this method also accepts a TempConstr as its first argument (with the constraint name as its second argument). This allows you to use operator overloading to create a variety of different constraint types. See TempConstr for more information.
Arguments:
lhs: Left-hand side for the new constraint. Can be a constant, a Var, a LinExpr, a QuadExpr, or a TempConstr.
sense: Sense for the new constraint (GRB.LESS_EQUAL, GRB.EQUAL, or GRB.GREATER_EQUAL).
rhs: Right-hand side for the new constraint. Can be a constant, a Var, a LinExpr, or a QuadExpr.
name: Name for new constraint.
Note that name will be stored as an ASCII string. Thus, a name
like 'AB' will produce an error, because
'
' can not be represented as an ASCII character. Note
also that names that contain spaces are strongly discouraged,
because they can't be written to LP format files.
Return value:
New constraint object.
Example usage:
model.addConstr(x + 2*y, GRB.EQUAL, 3*z, "c0") model.addConstr(x + y <= 2.0, "c1") model.addConstr(x*x + y*y <= 4.0, "qc0") model.addConstr(x + y + z == [1, 2], "rgc0") model.addConstr(z == and_(x, y, w), "gc0") model.addConstr(z == min_(x, y), "gc1") model.addConstr((w == 1) >> (x + y <= 1), "ic0")
- Warning
- A constraint can only have a single comparison operator.
While 1 <= x + y <= 2 or 1 <= x[i] + y[i] <= 2 for i in range(3)
may look like valid constraints, our Python API won't interpret them as they were intended, which will almost
certainly result in unexpected behavior.








