public class Diffn extends Nooverlap
Modifier and Type | Field and Description |
---|---|
protected List<Var> |
auxVar |
protected List<Constraint> |
constraints |
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope
queueIndex
Constructor and Description |
---|
Diffn(IntVar[][] rectangles)
It specifies a diff constraint.
|
Diffn(IntVar[][] rectangles,
boolean strict)
It specifies a diff constraint.
|
Diffn(IntVar[] origin1,
IntVar[] origin2,
IntVar[] length1,
IntVar[] length2)
It constructs a diff constraint.
|
Diffn(IntVar[] origin1,
IntVar[] origin2,
IntVar[] length1,
IntVar[] length2,
boolean strict)
It constructs a diff constraint.
|
Diffn(List<? extends IntVar> o1,
List<? extends IntVar> o2,
List<? extends IntVar> l1,
List<? extends IntVar> l2)
It constructs a diff constraint.
|
Diffn(List<? extends IntVar> o1,
List<? extends IntVar> o2,
List<? extends IntVar> l1,
List<? extends IntVar> l2,
boolean strict)
It constructs a diff constraint.
|
Diffn(List<? extends List<? extends IntVar>> rectangles)
It specifies a diffn constraint.
|
Diffn(List<? extends List<? extends IntVar>> rectangles,
boolean strict)
It specifies a diffn constraint.
|
Modifier and Type | Method and Description |
---|---|
List<Var> |
auxiliaryVariables() |
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
List<Constraint> |
decompose(Store store)
It returns an array list of constraint which are used to decompose this
constraint.
|
void |
imposeDecomposition(Store store)
It imposes DiffnDecomposed in a given store.
|
String |
toString()
It produces a string representation of a constraint state.
|
getDefaultConsistencyPruningEvent, impose, notSatisfied, satisfied
afc, arguments, cleanAfterFailure, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, increaseWeight, intArrayToString, long2int, numberArgs, queueVariable, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGrounded
checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
protected List<Constraint> constraints
public Diffn(IntVar[][] rectangles)
rectangles
- list of rectangles which can not overlap in at least one dimension.public Diffn(IntVar[][] rectangles, boolean strict)
rectangles
- list of rectangles which can not overlap in at least one dimension.strict
- true- zero size rectangles need to be between other rectangles; false- these rectangles can be anywherepublic Diffn(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 Diffn(IntVar[] origin1, IntVar[] origin2, IntVar[] length1, IntVar[] length2, boolean strict)
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.strict
- true- zero size rectangles need to be between other rectangles; false- these rectangles can be anywherepublic Diffn(List<? extends List<? extends IntVar>> rectangles)
rectangles
- list of rectangles which can not overlap in at least one dimension.public Diffn(List<? extends List<? extends IntVar>> rectangles, boolean strict)
rectangles
- list of rectangles which can not overlap in at least one dimension.strict
- true- zero size rectangles need to be between other rectangles; false- these rectangles can be anywherepublic Diffn(List<? extends IntVar> o1, List<? extends IntVar> o2, List<? extends IntVar> l1, List<? 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 Diffn(List<? extends IntVar> o1, List<? extends IntVar> o2, List<? extends IntVar> l1, List<? extends IntVar> l2, boolean strict)
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.strict
- true- zero size rectangles need to be between other rectangles; false- these rectangles can be anywherepublic void consistency(Store store)
Constraint
consistency
in class Nooverlap
store
- constraint store within which the constraint consistency is being checked.public void imposeDecomposition(Store store)
imposeDecomposition
in class Constraint
store
- the constraint store to which the constraint is imposed to.public List<Constraint> decompose(Store store)
Constraint
decompose
in class Constraint
store
- the constraint store in which context the decomposition takes place.public List<Var> auxiliaryVariables()
auxiliaryVariables
in class DecomposedConstraint<Constraint>
public String toString()
Constraint
Copyright © 2022. All rights reserved.