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.9
  • Field Details

    • idNumber

      static 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 Details

    • 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:
      index - variable that is restricted to be the index of sets for which list[index] == value.
      list - array of sets that contains possible values for variable value.
      value - variable that is restricted to have the same elements as list[index].
      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:
      index - variable that is restricted to be the index of sets for which list[index] == value.
      list - array of sets that contains possible values for variable value.
      value - variable that is restricted to have the same elements as list[index].
  • Method Details

    • 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)
    • getDefaultConsistencyPruningEvent

      public int getDefaultConsistencyPruningEvent()
      Specified by:
      getDefaultConsistencyPruningEvent in class Constraint
    • 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 String toString()
      Description copied from class: Constraint
      It produces a string representation of a constraint state.
      Overrides:
      toString in class Constraint