Bonjour,
Je n'ai pas trouvé sur ce forum d'endroit où l'on parle spécifiquement de programmation par contraintes.
Je poste donc ce sujet ici dans la mesure où je ne pense pas que mon problème soit lié à un langage spécifique.

La PPC m'intéresse et je voudrais dépasser un peu les cas triviaux des tutos.

Il se trouve que j'ai un cas à résoudre qui me semble pouvoir être solutionné par ce type de programmation :
J'ai un ensemble d'enfants qui peuvent s'inscrire à des activités.
Ils remplissent une feuille en précisant 3 choix dans l'ordre de préférence.
L'idée est de développer un outil permettant de satisfaire au mieux leurs souhaits tout en respectant un nombre maximal de participant par activité.

En première approche, j'ai défini des variables liées aux enfants
(Je mets ça en pseudo-code simplifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
pour chaque enfant
    problem.ajouter_variable(var_enfant, [1,2,3])
sachant que j'ai la correspondance entre les choix des enfants et les activités.
Par contre, je ne vois pas trop comment définir les contraintes.
Du coup je ne suis pas très avancé : j'obtient toutes les permutations possibles (c'est très long) auxquelles je peux ensuite attribuer une note (par exemple en faisant la somme des numéros des choix retenus) puis en la minimisant.

Mais il reste encore à éliminer toutes les solutions qui constituent des groupes trop grands.

Quelqu'un pourrait-il m'indiquer comment définir des variables et des contraintes pour résoudre ce problème ?

Merci