
<ConsistencyModule:> scalar_product(++Coeffs,+Collection,+Rel,?Sum)

   Constrains the scalar product of the elements of Coeffs and Collection to satisfy the relation sum(Coeffs*Collection) Rel P.

Arguments
   Coeffs              Collection of N integers.
   Collection          Collection of N integers or (domain) variables.
   RelOp               One of the atom: #>, #>=, #<, #=<, #=, #\=
   P                   (Domain) variable or integer (array notation accepted)

Type
   library(gfd)

Description
          Constrains the scalar product of the elements in Collection to satisfy
          the relation sum(Coeffs*Collection) Rel P.
	  
          Rel can be one of #>, #>=, #<, #=<, #=, #\= (or equivalently,
          >, >=, <, =<, =, \=).
	  
          The Scalar Product of the collection of N integers in Coeffs and
          the collection of N domain variables or integers in Collection 
          is the sum of all Ci*Vi, where Ci is a element in Coeffs and
          Vi the corresponding element in Collection.
          
	  Any input variables which are not already domain variable will be
          turn into domain variables with default bounds.
	  
          You may find it more convenient to embed scalar_product in a
          constraint expression.
	  
          ConsistencyModule is the optional module specification to give the 
          consistency level for the propagation for this constraint: 
          gfd_bc for bounds consistency, and 
          gfd_gac for domain (generalised arc) consistency.
          
          Domain consistency is different from bounds consistency only if
          Rel is #=.
          
          This constraint is known as scalar_product in the global constraint 
          catalog, and is implemented using Gecode's linear() constraint.
          
    


