Initializing help system before first use

XPRBnewsum

XPRBnewsum


Purpose
Create a sum constraint.
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:
XPRB_L 
`less than or equal to' constraint;
XPRB_G 
'greater than or equal to' constraint;
XPRB_E 
equality;
XPRB_N 
a non-binding row (objective function).
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