public class ElementInteger extends Constraint implements UsesQueueVariable, Stateful, SatisfiedPresent
The first element of the list corresponds to index - indexOffset = 1. By default indexOffset is equal 0 so first value within a list corresponds to index equal 1.
If index has a domain from 0 to list.length-1 then indexOffset has to be equal -1 to make addressing of list array starting from 1.
Modifier and Type | Field and Description |
---|---|
boolean |
checkDuplicates
It specifies whether duplicate values should be treated specially (combined to a single check).
|
IntVar |
index
It specifies variable index within an element constraint list[index-indexOffset] = value.
|
int |
indexOffset
It specifies indexOffset within an element constraint list[index-indexOffset] = value.
|
int[] |
list
It specifies list of variables within an element constraint list[index-indexOffset] = value.
|
IntVar |
value
It specifies variable value within an element constraint list[index-indexOffset] = value.
|
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
queueIndex
Constructor and Description |
---|
ElementInteger(IntVar index,
int[] list,
IntVar value,
int indexOffset)
It constructs an element constraint.
|
ElementInteger(IntVar index,
int[] list,
IntVar value,
int indexOffset,
boolean checkDuplicates)
It constructs an element constraint.
|
ElementInteger(IntVar index,
List<Integer> list,
IntVar value)
It constructs an element constraint with default indexOffset equal 0.
|
ElementInteger(IntVar index,
List<Integer> list,
IntVar value,
int indexOffset)
It constructs an element constraint.
|
ElementInteger(IntVar index,
List<Integer> list,
IntVar value,
int indexOffset,
boolean checkDuplicates)
It constructs an element constraint.
|
Modifier and Type | Method and Description |
---|---|
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
int |
getDefaultConsistencyPruningEvent() |
void |
impose(Store store)
It imposes the constraint in a given store.
|
boolean |
isStateful()
This function can be overriden by any constraint to specify dynamic conditions (based on
the domain of variables at imposition level to decide if it is a stateful constraint.
|
void |
queueVariable(int level,
Var var)
This is a function called to indicate which variable in a scope of
constraint has changed.
|
void |
removeLevel(int level)
This function is called in case of the backtrack, so a constraint can
clear the queue of changed variables which is no longer valid.
|
boolean |
satisfied()
It checks if the constraint is satisfied.
|
String |
toString()
It produces a string representation of a constraint state.
|
afc, arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, imposeDecomposition, increaseWeight, intArrayToString, long2int, numberArgs, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
public IntVar index
public IntVar value
public final int indexOffset
public final boolean checkDuplicates
public int[] list
>=1
) if indexOffset is equal to 0.public ElementInteger(IntVar index, int[] list, IntVar value, int indexOffset)
index
- variable indexlist
- list of integers from which an index-th element is takenvalue
- a value of the index-th element from listindexOffset
- shift applied to index variable.public ElementInteger(IntVar index, int[] list, IntVar value, int indexOffset, boolean checkDuplicates)
index
- variable indexlist
- list of integers from which an index-th element is takenvalue
- a value of the index-th element from listindexOffset
- shift applied to index variable.checkDuplicates
- informs whether to create duplicates list for values from list (default = true).public ElementInteger(IntVar index, List<Integer> list, IntVar value)
index
- index variable.list
- list containing variables which one pointed out by index variable is made equal to value variable.value
- a value variable equal to the specified element from the list.public ElementInteger(IntVar index, List<Integer> list, IntVar value, int indexOffset)
index
- variable indexlist
- list of integers from which an index-th element is takenvalue
- a value of the index-th element from listindexOffset
- shift applied to index variable.public ElementInteger(IntVar index, List<Integer> list, IntVar value, int indexOffset, boolean checkDuplicates)
index
- variable indexlist
- list of integers from which an index-th element is takenvalue
- a value of the index-th element from listindexOffset
- shift applied to index variable.checkDuplicates
- informs whether to create duplicates list for values from list (default = true).public void removeLevel(int level)
Stateful
removeLevel
in interface Stateful
level
- the level which is being removed.public void consistency(Store store)
Constraint
consistency
in class Constraint
store
- constraint store within which the constraint consistency is being checked.public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
public boolean isStateful()
Stateful
isStateful
in interface Stateful
public void impose(Store store)
impose
in class Constraint
store
- the constraint store to which the constraint is imposed to.public void queueVariable(int level, Var var)
Constraint
queueVariable
in class Constraint
level
- the level of the store at which the change has occurred.var
- variable which has changed.public boolean satisfied()
SatisfiedPresent
Implementations of this interface for constraints that are not PrimitiveConstraint may require constraint imposition and consistency check as a requirement to work correctly.
satisfied
in interface SatisfiedPresent
public String toString()
Constraint
toString
in class Constraint
Copyright © 2022. All rights reserved.