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, trace
queueIndex
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, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isStateful
public 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 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.protected int findPosition(int value, int[] values)
public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
public void impose(Store store)
Constraint
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 String toString()
Constraint
toString
in class Constraint
Copyright © 2022. All rights reserved.