XPRBnewsum
XPRBnewsum |
Purpose
Synopsis
XPRBctr XPRBnewsum(XPRBprob prob, const char *name, XPRBarrvar av, int type, 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.
|
||||||||
type
|
Type of the constraint, which must be one of:
|
||||||||
rhs
|
Right hand side value of the constraint.
|
Return value
Reference to the new constraint if function executed successfully,
NULL otherwise.
Example
The following creates a new constraint,
ctr2, given by
∑i=04 ty1i = 9.
XPRBprob prob; XPRBctr ctr2; XPRBarrvar ty1; ... ty1 = XPRBnewarrvar(prob, 5, XPRB_PL, "arry1", 0, 500); ctr2 = XPRBnewsum(prob, "r2", ty1, XPRB_E, 9);
Further information
This function creates a simple sum constraint over all entries of an array of variables. It replaces calls to
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