Documentation


GRBModel::addGenConstrPoly()

Add a new general constraint of type GRB_GENCONSTR_POLY to a model.

A polynomial function constraint states that the relationship <span>$</span>y = p_0 x^d + p_1 x^{d-1} + ... + p_{d-1} x + p_{d}<span>$</span> should hold between variables <span>$</span>x<span>$</span> and <span>$</span>y<span>$</span>.

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.

GRBGenConstr addGenConstrPoly ( GRBVar xvar,
    GRBVar yvar,
    int plen,
    const double* p,
    std::string name="",
    std::string options="" )
    Arguments:

    xvar: The <span>$</span>x<span>$</span> variable.

    yvar: The <span>$</span>y<span>$</span> variable.

    plen: The length of coefficient array p. If <span>$</span>x^d<span>$</span> is the highest power term, then plen should be <span>$</span>d+1<span>$</span>.

    p: The coefficients for the polynomial function (starting with the coefficient for the highest power).

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

    options (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.