[ library(gfd) | Reference Manual | Alphabetic Index ]

<ConsistencyModule:> sequence(+Low,+High,+K,+ZeroOnes)

The number of occurrences of the value 1 is between Low and High for all sequences of K variables in ZeroOnes
Non-negative integer
Positive integer
Positive integer
A collection of 0/1 domain) variables or integers


This constraint ensures that the number of occurrences of the value 1 is at least Low and at most High for all sequences of K consecutive variables/values in ZeroOnes. ZeroOnes are 0/1 variables (or integers), i.e. they have the domain [0,1].

The ZeroOnes can be interpreted as the fulfillment of various conditions if the variables are linked to these conditions.

ConsistencyModule is the optional module specification to give the consistency level for the propagation for this constraint: gfd_gac for generalised arc consistency (domain consistency),

The more general version of this constraint, sequence/5, where the values being checked is not limited to 1 is known as among_seq in the global constraint catalog, and this constraint is also implemented via the more general Gecode sequence() constraint by limiting the value set to 1. This version is provided here for compatibility with IC and FD, where the more general sequence/5 constraint is implemented on top of this more restrictive sequence/4.


[eclipse 20]: sequence(2,3,3,[1,0,1,1,0,1]).    % Succeed

[eclipse 21]: sequence(2,3,3,[1,0,1,1,0,0,1]).  % Fail

See Also

sequence / 5, fd_global_gac : sequence / 4, ic_global_gac : sequence / 4