|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.ObjectJaCoP.constraints.DecomposedConstraint
JaCoP.constraints.Constraint
JaCoP.constraints.ExtensionalSupportMDD
public class ExtensionalSupportMDD
Extensional constraint assures that one of the tuples is enforced in the relation. This implementation uses technique developed/improved by Roland Yap and his student. Paper presented at CP2008. We would like to thank Roland for answering our detailed questions about the implementation. It is a slightly improved version to what was presented at the conference. This constraint uses a lot of memory, despite using an MDD. However, if the constraint is imposed multiple times (50+) its overall usage of memory maybe advantageous. Always test against STR version.
| Field Summary | |
|---|---|
static boolean |
debugAll
It specifies if the debugging information is printed. |
MDD |
mdd
It specifies a multiple value decision diagram used by this constraint. |
static java.lang.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. |
| Fields inherited from class JaCoP.constraints.Constraint |
|---|
atomicExecution, consistencyPruningEvents, earlyTerminationOK, id, increaseWeight, numberArgs, numberId |
| Fields inherited from class JaCoP.constraints.DecomposedConstraint |
|---|
queueIndex |
| Constructor Summary | |
|---|---|
ExtensionalSupportMDD(IntVar[] vars,
int[][] table)
It constructs extensional support constraint. |
|
ExtensionalSupportMDD(MDD diagram)
It creates an extensional constraint. |
|
| Method Summary | |
|---|---|
java.util.ArrayList<Var> |
arguments()
It returns the variables in a scope of the constraint. |
void |
consistency(Store s)
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. |
java.lang.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 |
removeConstraint()
It removes the constraint by removing this constraint from all variables. |
boolean |
satisfied()
It checks if the constraint is satisfied. |
boolean |
seekSupport(int nodeId,
int level)
It checks if the node at a given level of MDD has a support. |
java.lang.String |
toString()
It produces a string representation of a constraint state. |
| Methods inherited from class JaCoP.constraints.Constraint |
|---|
cleanAfterFailure, decompose, getGuideConstraint, getGuideValue, getGuideVariable, impose, imposeDecomposition, numberArgs, queueVariable, removeLevel, removeLevelLate, requiresMonotonicity, setConsistencyPruningEvent, supplyGuideFeedback |
| Methods inherited from class JaCoP.constraints.DecomposedConstraint |
|---|
auxiliaryVariables, imposeDecomposition |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final boolean debugAll
public MDD mdd
public static java.lang.String[] xmlAttributes
| Constructor Detail |
|---|
public ExtensionalSupportMDD(MDD diagram)
diagram - multiple-valued decision diagram describing allowed tuples.
public ExtensionalSupportMDD(IntVar[] vars,
int[][] table)
vars - the variables in the scope of the constraint.table - list of tuples which are allowed.| Method Detail |
|---|
public void impose(Store store)
Constraint
impose in class Constraintstore - the constraint store to which the constraint is imposed to.public void consistency(Store s)
Constraint
consistency in class Constraints - constraint store within which the constraint consistency is being checked.
public boolean seekSupport(int nodeId,
int level)
nodeId - the position of the node in the MDD.level - number of variable associated with the node.
public int getConsistencyPruningEvent(Var var)
Constraint
getConsistencyPruningEvent in class Constraintvar - variable for which pruning event is retrieved
public java.lang.String id()
Constraint
id in class Constraintpublic java.util.ArrayList<Var> arguments()
Constraint
arguments in class Constraintpublic void increaseWeight()
Constraint
increaseWeight in class Constraintpublic void removeConstraint()
Constraint
removeConstraint in class Constraintpublic boolean satisfied()
Constraint
satisfied in class Constraintpublic java.lang.String toString()
Constraint
toString in class Constraint
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||