gpt4 book ai didi

algorithm - 具有交叉依赖性的最大流量减少

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:46 24 4
gpt4 key购买 nike

我有 n 个工作是使用旧系统完成的。如果我将它们更改为新系统,我将获得这份工作的双倍 yield 。一些作业对 (i,j) 具有依赖性。换一份工作但不换一份工作,成本为 xij。作业 1 无法在新系统下运行。为使 yield 最大化而更改为新系统的理想工作集是什么(当然不包括工作 1)。

这是一个用我自己的话改写的算法问题。它应该减少到某种形式的最大流量或循环。由于成本取决于将其他作业更改为新系统这一事实,我在想出一种方法时遇到了极大的麻烦(我似乎无法将静态值与最大流图设置相关联并有一个可行的解决方案)。我已经考虑了一段时间,但仍在努力寻找合适的方法。非常感谢任何有关如何考虑解决此问题的建议!

最佳答案

让我们分配 b1 = −∞

在那个简单的归约之后,你所描述的正是最大阻塞切割问题,例如在"The Pseudoflow Algorithm: A New Algorithm for the Maximum-Flow Problem", Hochbaum 2008中定义的:

Given a directed graph G = (V, A), node weights positive or negative wi for all i ∈ V, and non-negative arc weights cij for all (i,j) ∈ A. [...] Find a subset of nodes S ⊆ V such that

surplus(S) = ...

is maximal.

他们继续在最大阻塞切割问题和最小切割问题之间建立联系。为此,定义 V' = V ∪ { s,t } 和 A' = A ∪ { (s,i) | wi> 0 } { (j,t) | } wj < 0 }。然后他们定义弧容量 csi = wi if wi> 0cjt = −wj 如果 wj < 0。然后我们有

For S ⊆ V, {s} ∪ S is the source set of a minimum cut in Gst = (V', A') if and only if (S, V \ S) is a maximum blocking cut in the graph G.

后一个问题可以使用最大流算法轻松解决,方法是利用 max-flow min-cut theorem .事实上,您可以使用作业 1 作为源,因为它保证是源集的一部分(在旧机器上运行的作业)。

关于algorithm - 具有交叉依赖性的最大流量减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22341061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com