找到最大化从特定源到特定接收器的流量的网络流量解决方案

时间:2013-10-20 12:55:41

标签: networking flow linear-programming

我的问题如下,其根源在于天然气网络的建模。

我们将天然气网络建模为图(E,V),其中源是主要的天然气生产国,而水槽是天然气消费国,两者都属于V顶点集。在所有边缘上设置最大约束并表示网络的技术能力。在边缘的子集上设置最小约束以避免过于“不现实”的解决方案。默认情况下不使用成本。

这里的问题可以表述为:在该网络的标准网络流问题的解空间中找到最大化从特定源到特定接收器的流的解决方案。为此,我们可以改变边缘成本或添加新的边缘最小值,以便将气体“推”到其期望的目的地。

非常感谢任何帮助......

1 个答案:

答案 0 :(得分:1)

这是multi-commodity flow problem的变体。

当要求流为整数时,这些问题尤其难以解决,即从一个来源s_d到一个需求t_d的流量不能从{{1'分成几个小块转到s_d

我认为你的问题就是这种情况,即你可以通过从一个来源到一个目的地的几条路径发送gaz,这似乎是“合理的”。

关于该主题的文献广泛,主要集中在解决问题的整数版本或非常大的实例(在电信网络和运输问题中出现);如果你的问题很小,一个简单的线性求解器就足够了。

网络图在问题中表示为t_d;我假设有向顶点。

我考虑了一组(E,V)个需求,每个D来源d in D,目标s_d和值t_d。值V_d是常量,但要为其最大化此值的特定需求V_d除外。让:

  • d0是边缘c^{min}_e
  • 的最大容量
  • e in E是具有此类容量的边缘c^{max}_e边缘e边缘的最小容量

对于E'中的节点v

    如果V,则
  • delta_{vd}为1,v = t_d为-1,否则为
  • v = s_d是头部E^+_v
  • 的边缘集
  • v是尾部E^-_v
  • 的边缘集

我为每个边v和每个需求e引入一个变量d,它表示通过边x_{ed}的流量{ {1}}。

问题可以写成形式的线性(连续)模型:

d