Documentation du code¶
-
class
moteur_psc.variable.Variable(nom, domaine, val=None)¶ Modélisation d’une variable dans un système de contraintes.
-
__init__(nom, domaine, val=None)¶ Paramètres: - nom (str) – nom de la variable.
- domaine (list) – le domaine de définition de la variable.
- val – valeur de départ.
-
taille_domaine()¶ La taille du domaine de définition de la variable.
Retourne: la taille du domaine.
-
-
class
moteur_psc.contrainte.Contrainte(variables)¶
Bases: object
Modélisation d’une contrainte abstraite.
Contrainte.__init__(variables)¶
Paramètres: variables (list) – les variables concernées par la contrainte.
Contrainte.dimension()¶
Retourne: le nombre de variables concernées par la contrainte.
Contrainte.est_valide()¶Teste si la contrainte est respectée par les valeurs actuelles.
Retourne: Truesi la contrainte est valide.
-
class
moteur_psc.contrainte.ContrainteBinaire(var1, var2, op)¶
Bases: moteur_psc.contrainte.Contrainte
Contrainte imposant une restriction sur deux variables.
Exemple:
x > y.
ContrainteBinaire.__init__(var1, var2, op)¶Exemples d’op:
lambda x,y: x != y,lambda x,y: x < y.
Paramètres:
- var1 – première variable concernée par la contrainte.
- var2 – deuxième variable concernée par la contrainte.
- op – fonction ou expression lambda permettant de vérifier la contrainte.
ContrainteBinaire.dimension()¶
Retourne: le nombre de variables concernées par la contrainte.
ContrainteBinaire.est_possible(var)¶Teste si le domaine de
varcontient au moins une valeur satisfaisant la contrainte.
Retourne: Trues’il existe au moins une valeur satisfaisant la contrainte.
ContrainteBinaire.est_valide(var, val)¶Teste si la contrainte est valide quand la variable
var(soitvar1, soitvar2) prend la valeurval.La contrainte unaire est respectée si l’opérateur appliqué aux opérandes
val, var2.val(lorsquevarestvar1) ouvar1.val, val(lorsquevarestvar2) retourneTrue.
Retourne: Truesi la contrainte est valide.
ContrainteBinaire.reviser()¶Algorithme de révision des domaines.
Pour chaque variable, vérifie chaque valeur du domaine. Supprime les valeurs qui empêchent la contrainte d’être satisfaite dans le domaine.
Retourne: Truesi un des domaines a été modifié.
-
class
moteur_psc.contrainte.ContrainteUnaire(var, op)¶
Bases: moteur_psc.contrainte.Contrainte
Contrainte imposant une restriction sur la valeur d’une variable.
Exemples:
x > 0,y = 5.
ContrainteUnaire.__init__(var, op)¶Exemples d’op:
lambda x: x > 5,lambda x: x > 5 and x < 10.
Paramètres:
- var – variable concernée par la contrainte.
- op – fonction ou expression lambda permettant de vérifier la contrainte.
ContrainteUnaire.dimension()¶
Retourne: le nombre de variables concernées par la contrainte.
ContrainteUnaire.est_valide(val)¶Teste si la contrainte est valide quand la variable
varprend la valeurval.La contrainte unaire est respectée si l’opérateur appliqué à l’opérande
valretourneTrue.
Retourne: Truesi la contrainte est valide.