Try our new documentation site (beta).
GRBgetgenconstrNorm
int | GRBgetgenconstrNorm ( | GRBmodel | *model, |
int | id, | ||
int | *resvarP, | ||
int | *nvarsP, | ||
int | *vars, | ||
double | *whichP ) |
Retrieve the data associated with a general constraint of type NORM. Calling this method for a general constraint of a different type leads to an error return code. You can query the GenConstrType attribute to determine the type of the general constraint.
Typical usage is to call this routine twice.
In the first call, you specify the requested general constraint,
with a NULL
value for the vars
argument.
The routine returns the total number of operand variables in the
specified general constraint in nvarsP
.
That allows you to make certain that the vars
array is of
sufficient size to hold the result of the second call.
See also GRBaddgenconstrNorm for a description of the semantics of this general constraint type.
Return value:
A non-zero return value indicates that a problem occurred while retrieving the general constraint data. Refer to the Error Code table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.
Arguments:
model: The model that contains the desired general constraint.
id: The index of the general constraint to retrieve.
Note that any of the following arguments can be NULL.
resvarP: The variable index associated with the resultant variable of the constraint.
nvarsP: The number of operand variables of the constraint.
vars: An array to store the variable indices associated with the variable operands of the constraint.
whichP: Which norm is used. Options are 0, 1, 2, and GRB_INFINITY.
Example usage:
int type; int resvar; int nvars; int *vars; double which; error = GRBgetintattrelement(model, GRB_INT_ATTR_GENCONSTRTYPE, 3, &type); if (type == GRB_GENCONSTR_NORM) { error = GRBgetgenconstrNorm(model, 3, &resvar, &nvars, NULL, &which); /* ...allocate vars to hold 'nvars' values... */ error = GRBgetgenconstrNorm(model, 3, NULL, NULL, vars); }