Package solvers
Class AbstractSolver
- java.lang.Object
-
- solvers.AbstractSolver
-
- All Implemented Interfaces:
Solver
- Direct Known Subclasses:
BacktrackAllSolver
,BacktrackSolver
,HeuristicMACSolver
,MACSolver
public abstract class AbstractSolver extends java.lang.Object implements Solver
Cette classe abstraite décrit la base d'implémentation d'un solveur de contraintes.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Set<Constraint>
constraints
Ensemble de contraintes à satisfaire par le solveur.protected java.util.Set<Variable>
variables
Ensemble de variables du problème.
-
Constructor Summary
Constructors Constructor Description AbstractSolver(java.util.Set<Variable> variables, java.util.Set<Constraint> constraints)
Constructeur par défaut.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addConstraint(Constraint... constraints)
Ajoute des contraintes à l'ensemble de contraintesconstraints
.boolean
addVariables(Variable... variables)
Ajoute des variables à l'ensemble de variablesvariables
.java.util.Set<Constraint>
getConstraints()
Récupère l'ensemble des contraintes de l'instance.java.util.Set<Variable>
getVariables()
Récupère l'ensemble des variables de l'instance.boolean
isConsistent(java.util.Map<Variable,java.lang.Object> affectation)
Retourne si l'affectation passée en argument vérifie toutes les contraintes qui portent sur les variables.boolean
removeConstraint(Constraint... constraints)
Enlève des contraintes à l'ensemble de contraintesconstraints
.boolean
removeVariables(Variable... variables)
Enlève des variables à l'ensemble de variablesvariables
.
-
-
-
Field Detail
-
variables
protected final java.util.Set<Variable> variables
Ensemble de variables du problème.
-
constraints
protected final java.util.Set<Constraint> constraints
Ensemble de contraintes à satisfaire par le solveur.
-
-
Constructor Detail
-
AbstractSolver
public AbstractSolver(java.util.Set<Variable> variables, java.util.Set<Constraint> constraints)
Constructeur par défaut.- Parameters:
variables
- ensemble de variables du problèmeconstraints
- ensemble de contraintes à satisfaire
-
-
Method Detail
-
isConsistent
public boolean isConsistent(java.util.Map<Variable,java.lang.Object> affectation)
Retourne si l'affectation passée en argument vérifie toutes les contraintes qui portent sur les variables.- Parameters:
affectation
- affectation partielle- Returns:
- si l'affectation est cohérente avec les contraintes et les variables
-
getVariables
public java.util.Set<Variable> getVariables()
Récupère l'ensemble des variables de l'instance.- Returns:
- ensemble des variables de l'instance
- See Also:
variables
-
addVariables
public boolean addVariables(Variable... variables)
Ajoute des variables à l'ensemble de variablesvariables
.- Parameters:
variables
- variables à ajouter
-
removeVariables
public boolean removeVariables(Variable... variables)
Enlève des variables à l'ensemble de variablesvariables
.- Parameters:
variables
- variables à enlever
-
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
-
-