public class Diff extends Constraint
Modifier and Type | Field and Description |
---|---|
boolean |
doProfile
It specifies if the constraint should compute and use the profile.
|
Rectangle[] |
rectangles
It specifies the list of rectangles which are of interest for this diff constraint.
|
static String[] |
xmlAttributes
It specifies the arguments required to be saved by an XML format as well as
the constructor being called to recreate an object from an XML format.
|
atomicExecution, consistencyPruningEvents, earlyTerminationOK, id, increaseWeight, numberArgs, numberId
queueIndex
Constructor and Description |
---|
Diff(ArrayList<? extends ArrayList<? extends IntVar>> rectangles)
It specifies a diffn constraint.
|
Diff(ArrayList<? extends ArrayList<? extends IntVar>> rectangles,
boolean profile)
It specifies a diff constraint.
|
Diff(ArrayList<? extends IntVar> o1,
ArrayList<? extends IntVar> o2,
ArrayList<? extends IntVar> l1,
ArrayList<? extends IntVar> l2)
It constructs a diff constraint.
|
Diff(ArrayList<? extends IntVar> o1,
ArrayList<? extends IntVar> o2,
ArrayList<? extends IntVar> l1,
ArrayList<? extends IntVar> l2,
boolean profile)
It constructs a diff constraint.
|
Diff(IntVar[][] rectangles)
It specifies a diff constraint.
|
Diff(IntVar[][] rectangles,
boolean profile)
It specifies a diff constraint.
|
Diff(IntVar[] origin1,
IntVar[] origin2,
IntVar[] length1,
IntVar[] length2)
It constructs a diff constraint.
|
Diff(IntVar[] o1,
IntVar[] o2,
IntVar[] l1,
IntVar[] l2,
boolean profile)
It constructs a diff constraint.
|
Diff(Rectangle[] rectangles,
boolean doProfile)
It specifies a diff constraint.
|
Modifier and Type | Method and Description |
---|---|
ArrayList<Var> |
arguments()
It returns the variables in a scope of the constraint.
|
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
int |
getConsistencyPruningEvent(Var var)
It retrieves the pruning event which causes reevaluation of the
constraint.
|
String |
id()
It gives the id string of a constraint.
|
void |
impose(Store store)
It imposes the constraint in a given store.
|
void |
increaseWeight()
It increases the weight of the variables in the constraint scope.
|
void |
queueVariable(int level,
Var V)
This is a function called to indicate which variable in a scope of
constraint has changed.
|
void |
removeConstraint()
It removes the constraint by removing this constraint from all variables.
|
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.
|
cleanAfterFailure, decompose, getGuideConstraint, getGuideValue, getGuideVariable, impose, imposeDecomposition, numberArgs, removeLevelLate, requiresMonotonicity, setConsistencyPruningEvent, supplyGuideFeedback
auxiliaryVariables, derivative, imposeDecomposition
public Rectangle[] rectangles
public boolean doProfile
public static String[] xmlAttributes
public Diff(Rectangle[] rectangles, boolean doProfile)
rectangles
- list of rectangles which can not overlap in at least one dimension.doProfile
- should the constraint compute and use the profile functionality.public Diff(IntVar[][] rectangles)
rectangles
- list of rectangles which can not overlap in at least one dimension.public Diff(IntVar[] o1, IntVar[] o2, IntVar[] l1, IntVar[] l2, boolean profile)
o1
- list of variables denoting origin of the rectangle in the first dimension.o2
- list of variables denoting origin of the rectangle in the second dimension.l1
- list of variables denoting length of the rectangle in the first dimension.l2
- list of variables denoting length of the rectangle in the second dimension.profile
- it specifies if the profile should be computed and used.public Diff(IntVar[] origin1, IntVar[] origin2, IntVar[] length1, IntVar[] length2)
origin1
- list of variables denoting origin of the rectangle in the first dimension.origin2
- list of variables denoting origin of the rectangle in the second dimension.length1
- list of variables denoting length of the rectangle in the first dimension.length2
- list of variables denoting length of the rectangle in the second dimension.public Diff(ArrayList<? extends ArrayList<? extends IntVar>> rectangles)
rectangles
- list of rectangles which can not overlap in at least one dimension.public Diff(ArrayList<? extends ArrayList<? extends IntVar>> rectangles, boolean profile)
profile
- specifies is the profiles are used.rectangles
- list of rectangles which can not overlap in at least one dimension.public Diff(ArrayList<? extends IntVar> o1, ArrayList<? extends IntVar> o2, ArrayList<? extends IntVar> l1, ArrayList<? extends IntVar> l2)
o1
- list of variables denoting origin of the rectangle in the first dimension.o2
- list of variables denoting origin of the rectangle in the second dimension.l1
- list of variables denoting length of the rectangle in the first dimension.l2
- list of variables denoting length of the rectangle in the second dimension.public Diff(ArrayList<? extends IntVar> o1, ArrayList<? extends IntVar> o2, ArrayList<? extends IntVar> l1, ArrayList<? extends IntVar> l2, boolean profile)
o1
- list of variables denoting origin of the rectangle in the first dimension.o2
- list of variables denoting origin of the rectangle in the second dimension.l1
- list of variables denoting length of the rectangle in the first dimension.l2
- list of variables denoting length of the rectangle in the second dimension.profile
- it specifies if the profile should be computed and used.public Diff(IntVar[][] rectangles, boolean profile)
profile
- specifies is the profiles are used.rectangles
- list of rectangles which can not overlap in at least one dimension.public ArrayList<Var> arguments()
Constraint
arguments
in class Constraint
public void removeLevel(int level)
Constraint
removeLevel
in class Constraint
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 getConsistencyPruningEvent(Var var)
Constraint
getConsistencyPruningEvent
in class Constraint
var
- variable for which pruning event is retrievedpublic String id()
Constraint
id
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 V)
Constraint
queueVariable
in class Constraint
level
- the level of the store at which the change has occurred.V
- variable which has changed.public void removeConstraint()
Constraint
removeConstraint
in class Constraint
public boolean satisfied()
Constraint
satisfied
in class Constraint
public String toString()
Constraint
toString
in class Constraint
public void increaseWeight()
Constraint
increaseWeight
in class Constraint
Copyright © 2015. All rights reserved.