Documentation


Model.addGenConstrLogA()

addGenConstrLogA ( xvar, yvar, a, name="", options="" )

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

A logarithmic function constraint states that the relationship <span>$</span>y = log_a(x)<span>$</span> should hold for variables <span>$</span>x<span>$</span> and <span>$</span>y<span>$</span>, where <span>$</span>a > 0<span>$</span> is the (constant) base.

A piecewise-linear approximation of the function is added to the model. The details of the approximation are controlled using the following four attributes (or using the parameters with the same names): FuncPieces, FuncPieceError, FuncPiecesLength, and FuncPieceRatio. For details, consult the General Constraint discussion.

Arguments:

xvar (Var): The <span>$</span>x<span>$</span> variable.

yvar (Var): The <span>$</span>y<span>$</span> variable.

a (float): The base of the function, <span>$</span>a > 0<span>$</span>.

name (string, optional): Name for the new general constraint.

options (string, optional): A string that can be used to set the attributes that control the piecewise-linear approximation of this function constraint. To assign a value to an attribute, follow the attribute name with an equal sign and the desired value (with no spaces). Assignments for different attributes should be separated by spaces (e.g. "FuncPieces=-1 FuncPieceError=0.001").

Return value:

New general constraint.

Example usage:

  # y = log10(x)
  gc = model.addGenConstrLogA(x, y, 10.0, "log10", "FuncPieces=-1 FuncPieceError=1e-5")