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
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.8
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static AtomicInteger
It specifies what element from the list of sets is equal to set variable value.int
It allows to offset the indexing.It specifies a list of sets from which one element will be made equal to set variable 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
ConstructorsConstructorDescriptionElementSet
(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
Modifier and TypeMethodDescriptionvoid
consistency
(Store store) It is a (most probably incomplete) consistency function which removes the values from variables domains.int
It retrieves the pruning event which causes reevaluation of the constraint.int
boolean
It checks if the constraint is satisfied.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 Details
-
idNumber
-
index
It specifies what element from the list of sets is equal to set variable value. -
list
It specifies a list of sets from which one element will be made equal to set variable value. -
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 indexOffsetIt 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
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
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 Details
-
consistency
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
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
Description copied from class:Constraint
It produces a string representation of a constraint state.- Overrides:
toString
in classConstraint
-