public class ValuePrecede extends Constraint implements UsesQueueVariable, Stateful, SatisfiedPresent
Value precedence of s over t in an integer sequence x = [x0,..., xn−1] means if there exists j such that xj = t, then there must exist i < j such that xi = s.
The algorithm is based on paper "Global Constraints for Integer and Set Value Precedence" by Y. C. Law, J. H. Lee Principles and Practice of Constraint Programming (CP'2004).
Modifier and Type  Field and Description 

IntVar[] 
x
It specifies lists of variables for the constraint.

atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
queueIndex
Constructor and Description 

ValuePrecede(int s,
int t,
IntVar[] x)
It constructs ValuePrecede.

ValuePrecede(int s,
int t,
List<IntVar> x)
It constructs ValuePrecede.

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.

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.

arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, imposeDecomposition, increaseWeight, intArrayToString, numberArgs, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isStateful
public final IntVar[] x
public ValuePrecede(int s, int t, IntVar[] x)
s
 value occuring firstt
 value occuring nextx
 list of arguments x's.public void impose(Store store)
Constraint
impose
in class Constraint
store
 the constraint store to which the constraint is imposed to.public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
public void consistency(Store store)
Constraint
consistency
in class Constraint
store
 constraint store within which the constraint consistency is being checked.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 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 void removeLevel(int level)
Stateful
removeLevel
in interface Stateful
level
 the level which is being removed.public String toString()
Constraint
toString
in class Constraint
Copyright © 2018. All rights reserved.