public class Assignment extends Constraint implements UsesQueueVariable, Stateful, SatisfiedPresent
Modifier and Type | Field and Description |
---|---|
IntVar[] |
d
It specifies a list of variables d.
|
int |
shiftD
It specifies a shift applied to variables d.
|
int |
shiftX
It specifies a shift applied to variables x.
|
IntVar[] |
x
It specifies a list of variables x.
|
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
queueIndex
Constructor and Description |
---|
Assignment(IntVar[] xs,
IntVar[] ds)
It constructs an Assignment constraint with shift equal 0.
|
Assignment(IntVar[] xs,
IntVar[] ds,
int min)
It enforces the relationship x[d[i]-min]=i+min and
d[x[i]-min]=i+min.
|
Assignment(IntVar[] xs,
IntVar[] ds,
int shiftX,
int shiftD)
It enforces the relationship x[d[i]-shiftX]=i+shiftD and
d[x[i]-shiftD]=i+shiftX.
|
Assignment(List<? extends IntVar> xs,
List<? extends IntVar> ds)
It constructs an Assignment constraint with shift equal 0.
|
Assignment(List<? extends IntVar> xs,
List<? extends IntVar> ds,
int shiftX,
int shiftD)
It enforces the relationship x[d[i]-shiftX]=i+shiftD and
d[x[i]-shiftD]=i+shiftX.
|
Assignment(List<? extends Var> xs,
List<? extends Var> ds,
int min)
It enforces the relationship x[d[i]-min]=i+min and
d[x[i]-min]=i+min.
|
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.
|
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 final IntVar[] d
public int shiftD
public IntVar[] x
public int shiftX
public Assignment(IntVar[] xs, IntVar[] ds, int shiftX, int shiftD)
xs
- array of variables xds
- array of variables dshiftX
- a shift of indexes in X array.shiftD
- a shift of indexes in D array.public Assignment(List<? extends IntVar> xs, List<? extends IntVar> ds, int shiftX, int shiftD)
xs
- arraylist of variables xds
- arraylist of variables dshiftX
- shift for parameter xsshiftD
- shift for parameter dspublic Assignment(List<? extends IntVar> xs, List<? extends IntVar> ds)
xs
- arraylist of x variablesds
- arraylist of d variablespublic Assignment(List<? extends Var> xs, List<? extends Var> ds, int min)
xs
- arraylist of variables xds
- arraylist of variables dmin
- shiftpublic Assignment(IntVar[] xs, IntVar[] ds)
xs
- array of x variablesds
- array of d variablespublic 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 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 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.