Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 网络流量:在求解最大流量时,是否可以更改边缘容量?_Algorithm - Fatal编程技术网

Algorithm 网络流量:在求解最大流量时,是否可以更改边缘容量?

Algorithm 网络流量:在求解最大流量时,是否可以更改边缘容量?,algorithm,Algorithm,我想知道,在解决网络流问题时,我是否可以改变边缘容量 我对商品a、B和AB有一个供需问题。a的一个需求单位将占用a的一个单位,B将占用B的一个单位,AB将占用AB的一个单位,或者a的一个单位和B的一个单位。给出每种商品的供需清单,我想弄清楚手头是否有足够的商品来满足需求 所以我的网络看起来像这样: 设sX为X的供应量。 设dX为X的需求量。 所有流都从左向右流动 你可以看到,如果我推A的x单位,我就从(A+B)的容量中减去x。类似地,如果我“撤消”推送,我就可以将容量添加回(a+B)。所以我在

我想知道,在解决网络流问题时,我是否可以改变边缘容量

我对商品a、B和AB有一个供需问题。a的一个需求单位将占用a的一个单位,B将占用B的一个单位,AB将占用AB的一个单位,或者a的一个单位和B的一个单位。给出每种商品的供需清单,我想弄清楚手头是否有足够的商品来满足需求

所以我的网络看起来像这样:

设sX为X的供应量。
设dX为X的需求量。
所有流都从左向右流动


你可以看到,如果我推A的x单位,我就从(A+B)的容量中减去x。类似地,如果我“撤消”推送,我就可以将容量添加回(a+B)。所以我在算法中就这样做了。这会弄乱算法吗?

这不是网络流问题。假设
sA=10,sB=10,dA=10,dB=10,dAB=10
。从图中可以提供10个As、Bs和A+Bs,从而满足需求。但事实上,你需要20个As和20个Bs来满足这个需求

我不知道一个简单的流网络如何表示一个地方的流与另一个地方的流相匹配的条件

你所描述的是一个有趣的问题,我肯定已经研究过了,但我不知道你怎么称呼它

这可以通过将其转化为线性规划问题来解决。看看你是否不熟悉线性规划问题。考虑一下你的简单情况。您可以从6个变量开始:

  • x
    是从输入
    A
    到输出
    A
    的流程
  • y
    是从输入
    B
    到输出
    B
    的流程
  • z
    是从输入
    AB
    到输出
    AB
    的流程
  • w
    是从
    A
    A+B
    的流
  • w'
    是从
    B
    A+B
    的流
  • w'
    是从
    A+B
    AB
    的流
  • 当然,最后三个都是相等的。我们有4个变量。(如果我们没有注意到这一点,我们会有更多的方程式。)现在添加以下不等式:

  • 0≤ x
  • 0≤ y
  • 0≤ z
  • 0≤ w
  • x+w≤ sA
  • y+w≤ sB
  • z≤ sAB
  • x≤ dA
  • y≤ dB
  • z+w≤ dAB
  • 这是一组不平等现象,表明我们在生产东西,我们使用的东西不会超过我们的供给,我们创造的东西也不会超过任何特定事物的最终需求。这定义了我们的“可行区域”

    接下来我们需要一个目标函数,我们要最大化它。显而易见的选择是,我们希望最大限度地提高产量。所以我们想要最大化
    x+y+z+w


    你原来问题的答案如下。给定一组可用输入和可用输出,求解上述线性规划问题以优化生产。当且仅当最佳生产级别为
    dA+dB+dAB
    时,您才能满足生产目标。更好的是,您将得到的解决方案将准确地告诉您如何满足生产要求。

    Hmmmmm,谢谢。这是管理医院血液供应和需求问题的延伸。这些字母是血型。这里的扩展是,不是AB型血可以服用O,A,B或AB,它必须服用A和B才能满足。没有这个约束,这是一个典型的网络流问题。您可以找到系统中的最大流量,并查看是否满足了所有的需求。但这里我必须添加A+B案例,这要求我在求解时更新流。我将研究你提到的解决办法。再次感谢。