Model.addGenConstrNorm()


Model.addGenConstrNorm()

addGenConstrNorm ( resvar, vars, which, name="" )

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

A NORM constraint <span>$</span>r = \mbox{norm}\{x_1,\ldots,x_n\}<span>$</span> states that the resultant variable <span>$</span>r<span>$</span> should be equal to the vector norm of the argument vector <span>$</span>x_1,\ldots,x_n<span>$</span>.

Arguments:

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

vars (list of Var, or tupledict of Var values, or 1-dim MVar): The variables over which the vector norm will be taken. Note that this may not contain duplicates.

which (float): Which norm to use. Options are 0, 1, 2, and any value greater than or equal to GRB.INFINITY.

name (string, optional): Name for the new general constraint. Note that name will be stored as an ASCII string. Thus, a name like 'A<span>$</span>{\rightarrow}<span>$</span>B' will produce an error, because '<span>$</span>{\rightarrow}<span>$</span>' 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 = 2-norm(x1, x3, x4)
  model.addGenConstrNorm(x5, [x1, x3, x4], 2.0, "normconstr")