假设我有一份工人名单和一份日常工作清单,我想为下个月生成一张工作人员,并指派工作人员,但我必须确保它是“合法的”,意思是:< / p>
我知道这不是一个简单的问题,但我正在寻找关于如何处理这类问题的一些指导。
答案 0 :(得分:0)
如果每天都需要履行相同的职责,问题就相对简单了。您只需要计算三天的时间表,然后根据需要重复。周日清理总部的人也会在周三,周六和下周二的周二清理它。
要构建三天时间表,首先将每个职责转换为三个任务,分别为第0天,第1天和第2天。使用Bipartite Matching将不同的人与每个任务相关联。图形将为每个人和每个任务提供一个顶点。每个人都将通过边缘连接到任何人都可以完成的每项任务。每个经理也对每个经理任务都有优势。
如果该问题没有包含每个任务边缘的解决方案,则原始问题的前三天没有解决方案。