2016-11-30 125 views
1

我一直在试图理解OPTA规划师准则多对多的关系(如:How to solve many to many relationship using OptaPlanner?https://www.optaplanner.org/blog/2016/10/26/DomainModelingGuide.htmlOptaplanner多对多的关系

在我的情况下,转移和员工之间的关系是多对多。在定义分配班时,建议我们应该知道有多少员工可以分配到班次。 在我的情况下,这不是一个常数值。轮班所需的员工数量取决于班次的类型。在那种情况下,我们如何指定约束?如果本教程中有任何示例正在解决这种情况,请让我知道

+1

它有最大值吗?你可以随时使用它。另外,请看OptaPlanner回购中的护士列表示例。 – oskopek

+0

是的。就最大值达成一致应该是可行的。在那种情况下,我们如何定义最大值约束?我正在研究培训示例 - 我也会检查护士烘焙师。 – lives

回答

2

员工列表示例已经这样做了。在solve()方法被调用(实际上已经在NurseRosteringImporter中)之前,我们为每个Shift实例创建了n个ShiftAssignments,具体取决于该Shift的ShiftType。

+0

感谢您的支持。将通过护士烘焙示例。 – lives

+0

您能否确认indexInShift是否限制每班次的员工人数? 'NurseRosteringImporter - > createShiftAssignmentList'这个变量在哪里使用 – lives

+0

明白了 - 这是规则之一。谢谢 – lives