Un exemple concret, comment distribuer le travail entre 9 ingénieurs sur une semaine.
9 ingénieurs
10 demi journées
5 domaines à couvrir
contraintes "hard"
chaque ingénieur peut couvrir 3 domaines définis (selon ses compétences)
chaque domaine doit être couvert par un ingénieur chaque demi-journée (ça s'appelle un shift)
les ingénieurs auront chacun un nombre équivallent de shifts (plus ou moins 1). 6 par semaine environ
un ingénieur peut être absent (1 ou plusieurs jours) et donc ne pas prendre de shifts ces jours-là
contraintes "soft"
certains ingénieurs préfèrent les shifts du matin, d'autres, l'après-midi
certains ingénieurs préfèrent regrouper les shifts (couvrir plusieurs domaines sur une matinée), d'autres préfèrent les disperser
au moins deux jours sans shift par ingénieur
pas plus de la moitié des shifts d'une semaine pour un ingénieur ne devraient couvrir le même domaine
Toutes les contraintes ne seront pas facile à formuler, mais d'après ce que tu me dis, Prolog serait la voie à explorer
[^] # Re: Programmation par contraintes
Posté par Tom D . En réponse au message Générer un tableau à partir de contraintes. Évalué à 2.
Un exemple concret, comment distribuer le travail entre 9 ingénieurs sur une semaine.
9 ingénieurs
10 demi journées
5 domaines à couvrir
contraintes "hard"
chaque ingénieur peut couvrir 3 domaines définis (selon ses compétences)
chaque domaine doit être couvert par un ingénieur chaque demi-journée (ça s'appelle un shift)
les ingénieurs auront chacun un nombre équivallent de shifts (plus ou moins 1). 6 par semaine environ
un ingénieur peut être absent (1 ou plusieurs jours) et donc ne pas prendre de shifts ces jours-là
contraintes "soft"
certains ingénieurs préfèrent les shifts du matin, d'autres, l'après-midi
certains ingénieurs préfèrent regrouper les shifts (couvrir plusieurs domaines sur une matinée), d'autres préfèrent les disperser
au moins deux jours sans shift par ingénieur
pas plus de la moitié des shifts d'une semaine pour un ingénieur ne devraient couvrir le même domaine
Toutes les contraintes ne seront pas facile à formuler, mais d'après ce que tu me dis, Prolog serait la voie à explorer
Encore merci,
Tom