addGenConstrOr ( resvar, vars, name="" )

Add a new general constraint of type GRB.GENCONSTR_OR to a model.

An OR constraint $r = \mbox{or}\{x_1,\ldots,x_n\}$ states that the binary resultant variable $r$ should be $1$ if and only if any of the operand variables $x_1,\ldots,x_n$ is equal to $1$. If all operand variables are $0$, then the resultant should be $0$ as well.

Note that all variables participating in such a constraint will be forced to be binary, independent of how they were created.

You can also add an OR constraint using the or_ function.


resvar (Var): The variable whose value will be equal to the OR concatenation of the other variables.

vars (list of Var): The variables over which the OR concatenation will be taken.

name (string, optional): Name for the new general constraint. Note that name will be stored as an ASCII string. Thus, a name like 'A${\rightarrow}$B' will produce an error, because '${\rightarrow}$' 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.

Example usage:

  # x5 = or(x1, x3, x4)
  model.addGenConstrOr(x5, [x1, x3, x4], "orconstr")

  # overloaded forms
  model.addConstr(x5 == or_([x1, x3, x4]), "orconstr")
  model.addConstr(x5 == or_(x1, x3, x4), "orconstr")