【发布时间】:2017-10-17 12:48:48
【问题描述】:
这是在任务计划问题的上下文中,其中任务链(T1、T2、T3 等..)被分配给员工(锚点),比如 E1。所以,计划的结果一般是这样的:
E1 -> T1 -> T2 -> T3
T1、T2 和 T3 可以来自任何任务列表。现在,我想要的是来自 T1,T2,T3,T4,T5,T6.. 的列表中的东西,必须将 T3 分配给 E1。简单来说,T3 必须链接到锚点 E1 链之间之间(可能不是第一个)的某处。 Optaplanner 只能选择在链式计划变量中选择先前的 entityOrAnchor,如果我想将第一个任务分配给员工,但我想要一个应该在一天晚些时候发生的任务,所以它会在任务链之间的某个地方发生。
我能想到的解决方案:
1。保留一个额外的变量“assignEmployee”。
2。保持一个硬约束,以便 assignEmployee 匹配锚,即员工。
这将在相同的情况下工作,我必须保持一个非常强(加权)的高约束,但问题是我不想保持它作为约束,因为不可能将该任务分配给其他员工和我想对其进行建模,以便将特定任务分配给特定员工。我们还有哪些其他选择?
我想要这个做什么?
这是因为上面 T3 中的任务是特定于该员工的休息时间,而我将休息时间作为任务保留的原因是因为休息地点也是一个位置,应该根据附近的任务进行计划,以避免完全不同的驾驶时间。
【问题讨论】:
标签: optaplanner drools-planner