网络流程方法,用于最大化可以安排的作业数量

时间:2015-05-27 15:03:41

标签: algorithm graph-algorithm network-flow

我很想通过网络流方法来解决这个问题。希望有人在这里花时间帮助我为这个问题构建一个合适且合适的图表。当针对最大流量求解时,所构造的图形将导致作业机器分配最大化给定数量的机器和作业的作业数量。工作时间表。


给定m台机器和n个工作,约束m≤n。使用网络流算法来解决分配,以最大化给定数量的机器的作业数量。

每个作业 Ji 的开始时间 Si 和结束时间 Fi 。所有机器都是相同的,一次最多可以完成一项工作。我们必须找到一项任务,以便我们可以安排最多的工作。

方法我尝试过: - >作业和机器形成图中的节点 - >从源到所有Job节点的边 - >所有机器的边到终节点 - >每个作业节点的中间节点,其具有来自每个重叠作业节点的入局边缘 并坚持在这里如何进一步前进。

我已经通过贪婪的方法找到了解决方案,我很想学习网络流程方法。

PS:我已经通过贪婪的方法找到了一个解决方案。
问同样的问题并且在没有任何解释的情况下被击落而被击落
因此重新询问因为之前的问题没有获得任何因投票而受到关注。

1 个答案:

答案 0 :(得分:0)

这种做法怎么样?我认为你熟悉需求循环问题。

将每个作业Ji视为一个节点,如果Jj可以在Ji之后完成,那么它对Job Jj有优势,并且Ji和Jj不会以任何方式重叠。现在考虑每台机器的节点,并将其命名为Mi.现在在这个模型中,每个Ji节点的需求为-1,每台机器的需求为0.还要添加一个节点t,需求为n,并将每个机器节点m连接到容量为n的节点。每个其他边缘的容量为1。

现在通过需求流通解决这个问题,我想你会得到答案。