public class ExtensionalConflictVA extends Constraint implements UsesQueueVariable, Stateful
This implementation tries to balance the usage of memory versus time efficiency.
| Modifier and Type | Field and Description |
|---|---|
IntVar[] |
list
It stores variables within this extensional constraint, order does
matter.
|
int[][] |
tuplesFromConstructor
It specifies the tuples given in the constructor.
|
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, tracequeueIndex| Constructor and Description |
|---|
ExtensionalConflictVA(IntVar[] list)
Deprecated.
|
ExtensionalConflictVA(IntVar[] list,
int[][] tuples)
Constructor stores reference to tuples until imposition, any changes to
tuples parameter will be reflected in the constraint behavior.
|
ExtensionalConflictVA(List<? extends IntVar> variables,
int[][] tuples)
The constructor does not create local copy of tuples array.
|
| 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.
|
protected int |
findPosition(int value,
int[] values) |
int |
getDefaultConsistencyPruningEvent() |
void |
impose(Store store)
It imposes the constraint in a given store.
|
int |
isDisallowed(int varPosition,
int value,
int[] t)
It returns the position of disallowed tuple in the array of tuples for a given variable-value pair.
|
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)
It puts back tuples which have lost their support status at the level
which is being removed.
|
int |
seekInvalidPosition(int[] t)
It finds the position at which the tuple is invalid.
|
int[] |
seekSupportVA(int varPosition,
int value)
It seeks support tuple for a given variable and its value.
|
int[] |
setFirstValid(int varPosition,
int value)
It computes the first valid tuple given restriction that a variable will
be equal to a given value.
|
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, watchedVariableGroundedauxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecompositionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisStatefulpublic int[][] tuplesFromConstructor
public IntVar[] list
@Deprecated public ExtensionalConflictVA(IntVar[] list)
list - list of variables for constraintpublic ExtensionalConflictVA(IntVar[] list, int[][] tuples)
list - list of variables for the conflict constrainttuples - list of forbidden tuplespublic ExtensionalConflictVA(List<? extends IntVar> variables, int[][] tuples)
variables - the scope of the extensional conflict constraint.tuples - the conflict (forbidden) tuples for that constraint.public int[] seekSupportVA(int varPosition,
int value)
varPosition - variable for which the support is seeked.value - value of the variable for which support is seeked.public int[] setFirstValid(int varPosition,
int value)
varPosition - the position of the variable.value - the value of the variable.public int isDisallowed(int varPosition,
int value,
int[] t)
varPosition - variable for which we search for the forbidden tuple.value - value for which we search for the forbidden tuple.t - tuple which we check for forbidness.public int seekInvalidPosition(int[] t)
t - tuple being check for in-validitypublic void removeLevel(int level)
removeLevel in interface Statefullevel - the level which is being removed.public void consistency(Store store)
Constraintconsistency in class Constraintstore - constraint store within which the constraint consistency is being checked.protected int findPosition(int value,
int[] values)
public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent in class Constraintpublic void impose(Store store)
Constraintimpose in class Constraintstore - the constraint store to which the constraint is imposed to.public void queueVariable(int level,
Var var)
ConstraintqueueVariable in class Constraintlevel - the level of the store at which the change has occurred.var - variable which has changed.public String toString()
ConstrainttoString in class ConstraintCopyright © 2022. All rights reserved.