如何同时为一个任务分配多个工作人员

问题描述 投票:1回答:2

我有以下要求:有一些任务和一些工人,

  1. 对于任何给定的任务,我们需要一个工人或一对同时具有不同级别的工人。

  2. 对于任何给定的任务,我们必须在特定时间之前完成。

optaplanner
2个回答
1
投票
  1. 将一个工人或两个工人的组合定义为人力资源,将人力资源对象分配给任务。
  2. 为任务的完成时间编写硬约束规则。当结束时间晚于指定时间时,将其惩罚。

0
投票

除了肯特的2个选项,还有一个更复杂的场景需要:

选项3:自动延迟到最后设计模式。

  • 给每个Task 1个或更多TaskAssignment实例。某些任务仅需要1 Worker,因此它们只有1 TaskAssignment。需要多个工作人员的人有多个。
  • 2同一任务的任务分配必须同时开始和结束(工人需要一起工作)。 延迟到最后一个到达的工作人员。因此,当工作人员1在10:00到达而工作人员2在10:30到达时,请将工作人员1延迟到10:30开始任务。因此,如果任务耗时1个小时,则两个工作人员都在11:30完成(因此工作人员1将损失半小时,但由于您现有的软约束已经有利于提高时间效率,因此求解器将自动开始避免该工作)]
  • 如果同一任务的2个任务分配具有相同的工作程序,则将产生硬约束惩罚。
© www.soinside.com 2019 - 2024. All rights reserved.