XPRBnewarrsum
XPRBnewarrsum |
Purpose
Synopsis
XPRBctr XPRBnewarrsum(XPRBprob prob, const char *name, XPRBarrvar av, double *cof, int qrtype, double rhs);
Arguments
prob
|
Reference to a problem.
|
||||||||
name
|
The constraint name (of unlimited length). May be
NULL if not required.
|
||||||||
av
|
Reference to an array of variables.
|
||||||||
cof
|
Array of constant coefficients for all elements of
av. It must be at least the same size as
av.
|
||||||||
qrtype
|
Type of the constraint, which must be one of:
|
||||||||
rhs
|
The right hand side value of the constraint.
|
Return value
Reference to the new constraint if function executed successfully,
NULL otherwise.
Example
The following creates the constraint
∑i=04 ci·ty1i ≥ 7.0.
XPRBprob prob; XPRBctr ctr4; XPRBarrvar ty1; double c[] = {2.5, 4.0, 7.2, 3.0, 1.8}; ... ty1 = XPRBnewarrvar(prob, 5, XPRB_PL, "arry1", 0, 500); ctr4 = XPRBnewarrsum(prob, "r4", ty1, c, XPRB_G, 7.0);
Further information
This function creates a linear constraint consisting of the sum over variables multiplied by the coefficients indicated by array
cof. This function replaces
XPRBnewctr and
XPRBaddterm. If the indicated name is already in use, BCL adds an index to it. If no constraint name is given, BCL generates a default name starting with
CTR. (The generation of unique names will only take place if the names dictionary is enabled, see
XPRBsetdictionarysize.)
- Note:
- all terms that are added to a constraint must belong to the same problem as the constraint itself.
Related topics