Initializing help system before first use

XPRBnewarrsum

XPRBnewarrsum


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