2016-11-30 2 views
1

J'ai essayé de comprendre les lignes directrices du planificateur de opta pour plusieurs à plusieurs (par exemple: How to solve many to many relationship using OptaPlanner?, https://www.optaplanner.org/blog/2016/10/26/DomainModelingGuide.html)Optaplanner plusieurs à plusieurs

Dans mon cas, la relation entre changement et les employés est beaucoup à beaucoup. Lors de la définition de la classe d'affectation, il est conseillé de connaître le nombre d'employés pouvant être affectés à un poste. Ce n'est pas une valeur constante dans mon cas. Le nombre d'employés requis pour le poste dépend du type de poste. Dans ce cas, comment pouvons-nous spécifier la contrainte? S'il y a un exemple dans le tutoriel qui traite ce scénario, s'il vous plaît laissez-moi savoir

+1

At-il une valeur maximale? Vous pouvez toujours l'utiliser. Jetez aussi un coup d'œil à l'exemple de l'infirmière dans le repo d'OptaPlanner. – oskopek

+0

oui. Il devrait être possible de convenir d'une valeur maximale. Dans ce cas, comment définit-on la contrainte de valeur max? Je regardais dans l'exemple de formation - je vais vérifier l'infirmière torréfacteur aussi bien. – lives

Répondre

2

L'exemple d'affectation des employés le fait déjà. Avant que la méthode solve() ne soit appelée (bien, en fait dans le NurseRosteringImporter), nous créons n ShiftAssignments pour chaque instance de Shift, en fonction du ShiftType de ce Shift.

+0

Merci pour le soutien. Passera par l'exemple de torréfacteur d'infirmière. – lives

+0

Pouvez-vous s'il vous plaît confirmer si l'indexInShift est de restreindre le nombre d'employés par quart de travail? 'NurseRosteringImporter -> createShiftAssignmentList' Où cette variable est-elle utilisée – lives

+0

Got it - C'est l'une des règles. Merci – lives