Class ElementSet

  • All Implemented Interfaces:
    SatisfiedPresent

    public class ElementSet
    extends Constraint
    implements SatisfiedPresent
    It is an element constraint that make sure that set variable value has a domain equal to the index-th element of the supplied list of sets.

    By default, indexing starts from 1, if it is required to be different for example starting from 0, then indexOffset must be specified to be equal to -1.

    Version:
    4.7
    • Field Detail

      • idNumber

        static java.util.concurrent.atomic.AtomicInteger idNumber
      • index

        public IntVar index
        It specifies what element from the list of sets is equal to set variable value.
      • list

        public IntDomain[] list
        It specifies a list of sets from which one element will be made equal to set variable value.
      • value

        public SetVar value
        It specifies the set variable which is equal to one of the sets from the list as indicated by int variable index.
      • indexOffset

        public int indexOffset
        It allows to offset the indexing. By default the indexing starts from 1, if index variable starts from 0, and 0 denotes the first element then indexOffset should be set to -1.
    • Constructor Detail

      • ElementSet

        public ElementSet​(IntVar index,
                          IntDomain[] list,
                          SetVar value,
                          int indexOffset)
        It constructs a constraint to restrict the domains of the variables index and value.
        Parameters:
        value - variable that is restricted to have the same elements as list[index].
        list - array of sets that contains possible values for variable value.
        index - variable that is restricted to be the index of sets for which list[index] == value.
        indexOffset - the shift applied to the index variable.
      • ElementSet

        public ElementSet​(IntVar index,
                          IntDomain[] list,
                          SetVar value)
        It constructs an elementSet constraint to restrict the domains of the variables index and value.
        Parameters:
        value - variable that is restricted to have the same elements as list[index].
        list - array of sets that contains possible values for variable value.
        index - variable that is restricted to be the index of sets for which list[index] == value.
    • Method Detail

      • consistency

        public void consistency​(Store store)
        Description copied from class: Constraint
        It is a (most probably incomplete) consistency function which removes the values from variables domains. Only values which do not have any support in a solution space are removed.
        Specified by:
        consistency in class Constraint
        Parameters:
        store - constraint store within which the constraint consistency is being checked.
      • getConsistencyPruningEvent

        public int getConsistencyPruningEvent​(Var var)
        Description copied from class: Constraint
        It retrieves the pruning event which causes reevaluation of the constraint.
        Overrides:
        getConsistencyPruningEvent in class Constraint
        Parameters:
        var - variable for which pruning event is retrieved
        Returns:
        it returns the int code of the pruning event (GROUND, BOUND, ANY, NONE)
      • satisfied

        public boolean satisfied()
        Description copied from interface: SatisfiedPresent
        It checks if the constraint is satisfied. It can return false even if constraint is satisfied but not all variables in its scope are grounded. It needs to return true if all variables in its scope are grounded and constraint is satisfied.

        Implementations of this interface for constraints that are not PrimitiveConstraint may require constraint imposition and consistency check as a requirement to work correctly.

        Specified by:
        satisfied in interface SatisfiedPresent
        Returns:
        true if constraint is possible to verify that it is satisfied.
      • toString

        public java.lang.String toString()
        Description copied from class: Constraint
        It produces a string representation of a constraint state.
        Overrides:
        toString in class Constraint