|
|||||||||
| 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.Alldistinct
public class Alldistinct
Alldistinct constraint assures that all FDVs have different values. This implementation is based on Regin paper. It uses slightly modified Hopcroft-Karp algorithm to compute maximum matching. The value graph is analysed and Tarjan algorithm for finding strongly connected components is used. Maximum matching and Value Graph is stored as TimeStamp Mutable variables to minimize recomputation. Value graph is expensive in terms of memory usage. Use this constraint with care. One variable with domain 0..1000000 will make it use few MB already and kill the efficiency.
| Field Summary | |
|---|---|
int |
consistencyChecks
It counts the number of executions of the consistency function. |
int |
fullConsistencyPassesWithNarrowingEvent
It computes how many times did consistency execution has been re-executed due to narrowing event at the end of the consistency function. |
IntVar[] |
list
It specifies all variables which have to have different values. |
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 | |
|---|---|
Alldistinct(java.util.ArrayList<? extends IntVar> list)
It constructs an alldistinct constraint. |
|
Alldistinct(IntVar[] list)
It constructs an alldistinct constraint. |
|
| Method Summary | |
|---|---|
java.util.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. |
Constraint |
getGuideConstraint()
It specifies a constraint which if imposed by search will enhance propagation of this constraint. |
int |
getGuideValue()
This function provides a value which if assigned to a variable returned by getGuideVariable() will enhance propagation of this constraint. |
Var |
getGuideVariable()
This function provides a variable which assigned a value returned by will enhance propagation of this 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 |
queueVariable(int level,
Var var)
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. |
java.lang.String |
toString()
It produces a string representation of a constraint state. |
| Methods inherited from class JaCoP.constraints.Constraint |
|---|
cleanAfterFailure, decompose, impose, imposeDecomposition, numberArgs, 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 int consistencyChecks
public int fullConsistencyPassesWithNarrowingEvent
public IntVar[] list
public static java.lang.String[] xmlAttributes
| Constructor Detail |
|---|
public Alldistinct(IntVar[] list)
list - an array of variables.public Alldistinct(java.util.ArrayList<? extends IntVar> list)
list - arraylist of variables.| Method Detail |
|---|
public java.util.ArrayList<Var> arguments()
Constraint
arguments in class Constraintpublic void removeLevel(int level)
Constraint
removeLevel in class Constraintlevel - the level which is being removed.public void consistency(Store store)
Constraint
consistency in class Constraintstore - constraint store within which the constraint consistency is being checked.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 void impose(Store store)
Constraint
impose in class Constraintstore - the constraint store to which the constraint is imposed to.
public void queueVariable(int level,
Var var)
Constraint
queueVariable in class Constraintlevel - the level of the store at which the change has occurred.var - variable which has changed.public void removeConstraint()
Constraint
removeConstraint in class Constraintpublic boolean satisfied()
Constraint
satisfied in class Constraintpublic java.lang.String toString()
Constraint
toString in class Constraintpublic Constraint getGuideConstraint()
Constraint
getGuideConstraint in class Constraintpublic int getGuideValue()
Constraint
getGuideValue in class Constraintpublic Var getGuideVariable()
Constraint
getGuideVariable in class Constraintpublic void increaseWeight()
Constraint
increaseWeight in class Constraint
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||