Model.addQConstr()
addQConstr ( lhs, sense=None, rhs=None, name="" )
Add a quadratic constraint to a model.
Important note: the algorithms that Gurobi uses to solve quadratically constrained problems can only handle certain types of quadratic constraints. Constraints of the following forms are always accepted:
-
, where
is Positive Semi-Definite (PSD)
-
, where
is a vector of variables, and
is a non-negative variable (a Second-Order Cone)
, where
is a vector of variables, and
and
are non-negative variables (a rotated Second-Order Cone)
Note that this method also accepts a TempConstr as its first argument (with the name as its second argument). This allows you to use operator overloading to create constraints. See TempConstr for more information.
Arguments:
lhs: Left-hand side for new quadratic constraint. Can be a constant, a Var, a LinExpr, or a QuadExpr.
sense: Sense for new quadratic constraint (GRB.LESS_EQUAL or GRB.GREATER_EQUAL).
rhs: Right-hand side for new quadratic 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 quadratic constraint object.
Example usage:
model.addQConstr(x*x + y*y, GRB.LESS_EQUAL, z*z, "c0") model.addQConstr(x*x + y*y <= 2.0, "c1")








