Package solvers
Class ArcConsistency
- java.lang.Object
-
- solvers.ArcConsistency
-
public class ArcConsistency extends java.lang.Object
Cette classe décrit une arc-consistence locale sur des contraintes.
-
-
Constructor Summary
Constructors Constructor Description ArcConsistency(java.util.Set<Constraint> constraints)
Constructeur par défaut.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addConstraint(Constraint... constraints)
Ajoute des contraintes à l'ensemble de contraintesconstraints
.static boolean
enforce(Constraint constraint, java.util.Map<Variable,java.util.Set<java.lang.Object>> domains)
Rend tous les domaines arc-cohérents.boolean
enforceArcConsistency(java.util.Map<Variable,java.util.Set<java.lang.Object>> domains)
Rend tous les domaines arc-cohérents avec les contraintes stockées dans l'attributconstraints
.static boolean
filter(Variable var1, java.util.Set<java.lang.Object> var1Domain, Variable var2, java.util.Set<java.lang.Object> var2Domain, Constraint constraint)
Supprime les valeurs qui ne sont pas arc-cohérente avec la contrainteconstraint
.java.util.Set<Constraint>
getConstraints()
Récupère l'ensemble des contraintes de l'instance.boolean
removeConstraint(Constraint... constraints)
Enlève des contraintes à l'ensemble de contraintesconstraints
.
-
-
-
Constructor Detail
-
ArcConsistency
public ArcConsistency(java.util.Set<Constraint> constraints)
Constructeur par défaut.- Parameters:
constraints
- ensemble de contraintes
-
-
Method Detail
-
filter
public static boolean filter(Variable var1, java.util.Set<java.lang.Object> var1Domain, Variable var2, java.util.Set<java.lang.Object> var2Domain, Constraint constraint)
Supprime les valeurs qui ne sont pas arc-cohérente avec la contrainteconstraint
.- Parameters:
var1
- première variablevar1Domain
- domain de la première variablevar2
- seconde variablevar2Domain
- domain de la seconde variableconstraint
- contrainte qui porte sur les deux variablesvar1
etvar2
- Returns:
- booléen qui détermine si le domaine a changé
-
enforce
public static boolean enforce(Constraint constraint, java.util.Map<Variable,java.util.Set<java.lang.Object>> domains)
Rend tous les domaines arc-cohérents.- Parameters:
constraint
- contraintedomains
- domaines des variables concernées par la contrainte- Returns:
- booléen qui détermine si au moins un des domaines a été modifié
-
enforceArcConsistency
public boolean enforceArcConsistency(java.util.Map<Variable,java.util.Set<java.lang.Object>> domains)
Rend tous les domaines arc-cohérents avec les contraintes stockées dans l'attributconstraints
.- Parameters:
domains
- domaines des variables concernées par la contrainte- Returns:
- booléen qui détermine si au moins un des domaines a été modifié
-
getConstraints
public java.util.Set<Constraint> getConstraints()
Récupère l'ensemble des contraintes de l'instance.- Returns:
- ensemble des contraintes de l'instance
- See Also:
constraints
-
addConstraint
public boolean addConstraint(Constraint... constraints)
Ajoute des contraintes à l'ensemble de contraintesconstraints
.- Parameters:
constraints
- contraintes à ajouter
-
removeConstraint
public boolean removeConstraint(Constraint... constraints)
Enlève des contraintes à l'ensemble de contraintesconstraints
.- Parameters:
constraints
- contraintes à enlever
-
-