我正在研究最大流量,并且存在这个问题:
假设我们有一份工作清单
{J1,J1,...,Jm}
以及已申请的人员列表
{P1,P2,P3,...,Pn}
每个人都有不同的兴趣,其中一些人申请了多个工作(每个人都有一份工作清单)
不允许任何人从事3个以上的工作。
因此,可以通过在下图中找到最大流量来解决此问题
我理解这个解决方案,但是
如果添加这些条件怎么办?
简易版的前3个条件(工作和人员清单以及每个人都有兴趣或能力清单)仍然相同
该组织仅雇用Vi人员来工作
该组织希望雇用尽可能多的人
一个人可以从事的工作数量没有限制。
我应该在图表中有什么不同,以便我的解决方案也能满足这些条件?或者如果我需要不同的方法,请告诉我。
在任何人说什么之前,这不是功课。这只是自学,但我正在研究最大流量,问题出在那个区域,所以解决方案应该使用最大流量。答案 0 :(得分:1)
对于单个工作的多人:
从Ji
到t
的边缘的容量将等于该作业的人数。例如。如果作业#1可以有三个人,则从J1
到t
的边缘可以转换为三个。
关于雇用尽可能多的人的要求:
我不认为使用单个流程图可以实现这一点。这是可以完成的算法:
对工作数量没有限制:
从s
到Pi
的边缘的最大流量将等于该人的适用作业数量。