我需要解决一个工作做作的问题,我想找到最好的有效算法来解决这个问题。
假设有一些工人可以完成多种任务。我们还有一个每周必须完成的任务池。每个任务都需要一些时间。每项任务都必须由某人承担。每个工人每周必须工作 N 到 P 小时。
问题的第一部分似乎是约束规划算法的一个很好的候选者。
但这里是复杂的:因为工人可以做不同的任务,他们也可能有偏好(或愿望)。如果一个人想要满足所有人的所有愿望,那么问题就没有解决方案(约束太多)。
所以我需要一个算法来解决这个问题。如果完美的轮子已经存在,我不想重新发明轮子。
该算法必须是公平的(如果可以定义这个词),例如,我应该能够添加一个约束,例如“尝试满足每个人至少一个愿望”。我不确定这个问题是否可以通过此处描述的约束层次结构方法来解决:约束层次结构。事实上,我不确定“公平”和愿望是否可以通过此类算法的有效约束来表达。
有约束规划专家给我一些建议吗?我是否需要开发一个带有一些启发式的新轮子而不是使用高效的 CP 算法?
谢谢 !