【发布时间】:2012-05-13 09:51:50
【问题描述】:
问题:循环问题允许您对通过特定弧的流量同时具有下限和上限。我理解的上限(就像管道一样,只有这么多东西可以通过)。但是,我很难理解下限的想法。这是什么意思?请问有解决问题的算法吗...
- 尝试确保每条具有下限的弧都至少获得这么多的流量,如果找不到方法则完全失败?
- 如果不能满足下限,就直接忽略弧吗?这对我来说更有意义,但这意味着结果图中可能存在流量为 0 的弧,即
上下文:我正在尝试找到一种方法来快速安排一组事件,每个事件都有一个长度和一组可以安排的时间。我试图将这个问题简化为一个循环问题,为此存在有效的算法。
我将每个事件作为一个节点放在有向图中,并为其提供应该填充的时隙数量。然后我将所有可能的时间也添加为节点,最后添加所有时隙,如下所示(所有弧都指向右侧):
前两个事件有一个可能的时间,长度为 1,最后一个事件的长度为 4,有两个可能的时间。
这个图表有意义吗?更具体地说,被“填满”的时间段是 2 个(只有“简单”的时间段)还是 6 个,如图所示?
(如果有任何区别,我正在使用来自 LEMON 库的推送重新标记算法。)
【问题讨论】:
-
仅供参考:最大流量是一个下限为零的特殊循环问题。它们不一样。
-
删除了标签。谢谢!
-
下限可能只是意味着用户需要管道中至少有 X 流才能对他们有用?例如,如果他们试图从流动中获得动力?想想水磨坊或灯泡之类的东西。 (无论如何,这就是它在我脑海中的运作方式。)
-
sce.carleton.ca/faculty/chinneck/po/Chapter10.pdf 可能会有所帮助。无论如何,第 2 页对下限有很好的解释,第 3 页似乎继续讨论如何解决非零最小流量的问题。
-
感谢您的链接,@Helen!看起来这确实是一个有增益的广义图问题,作者提到但(遗憾的是)没有提供算法。
标签: c++ data-structures graph-theory directed-graph