Package org.jacop.set.constraints
Class ElementSet
- java.lang.Object
-
- org.jacop.constraints.DecomposedConstraint<Constraint>
-
- org.jacop.constraints.Constraint
-
- org.jacop.set.constraints.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 Summary
Fields Modifier and Type Field Description (package private) static java.util.concurrent.atomic.AtomicInteger
idNumber
IntVar
index
It specifies what element from the list of sets is equal to set variable value.int
indexOffset
It allows to offset the indexing.IntDomain[]
list
It specifies a list of sets from which one element will be made equal to set variable value.SetVar
value
It specifies the set variable which is equal to one of the sets from the list as indicated by int variable index.-
Fields inherited from class org.jacop.constraints.Constraint
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
-
Fields inherited from class org.jacop.constraints.DecomposedConstraint
queueIndex
-
-
Constructor Summary
Constructors Constructor Description ElementSet(IntVar index, IntDomain[] list, SetVar value)
It constructs an elementSet constraint to restrict the domains of the variables index and value.ElementSet(IntVar index, IntDomain[] list, SetVar value, int indexOffset)
It constructs a constraint to restrict the domains of the variables index and value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the values from variables domains.int
getConsistencyPruningEvent(Var var)
It retrieves the pruning event which causes reevaluation of the constraint.int
getDefaultConsistencyPruningEvent()
boolean
satisfied()
It checks if the constraint is satisfied.java.lang.String
toString()
It produces a string representation of a constraint state.-
Methods inherited from class org.jacop.constraints.Constraint
afc, arguments, cleanAfterFailure, decompose, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, impose, imposeDecomposition, increaseWeight, intArrayToString, numberArgs, queueVariable, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGrounded
-
Methods inherited from class org.jacop.constraints.DecomposedConstraint
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
-
-
-
-
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 classConstraint
- 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 classConstraint
- 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 classConstraint
-
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 interfaceSatisfiedPresent
- 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 classConstraint
-
-