编辑:答案是错误的。我做出了一个(愚蠢的)隐含假设,即当路径流在时间s开始并在时间t结束并经过边缘e时,它将在此持续时间内阻塞边缘e。但是,事实并非如此。参见*。
注意:也许这种方法不必要地复杂或不正确。尽管我确实尝试验证并仔细记录下来-我并没有花费大量时间。
假设不允许“堆存”,例如必须立即转移流量。令表示边数,N表示输入长度。由于没有考虑连续时间或离散时间,因此未指定。我可以肯定,它应该适用于离散思想,可以连续进行。米ñ
然后,我们可以将解决方案描述为从源到汇的一组“路径流”。路径流是一个四元组,它由以下各项组成:从源到宿的简单路径P;路径流s的开始时间;通过路径a的流量; 吞吐率r。(P,s ,a ,r )Ps一种[R
通过路径流的集合给出解决方案。我们可以验证这些路径流给出的解在| |中的时间多项式上是否正确。F | 和N:F| F|ñ
- 对于每个边缘和时刻t,将在t时刻经过e的所有路径流的吞吐率相加。每个路径流都有开始时间和结束时间,因此,我们只需要考虑路径流开始或结束的时刻(在这些时刻之间,对于经过边e的路径流没有任何变化。ËŤËŤË
- 对于每个路径流,我们可以验证其所有流是否在时间之前到达接收器。Ť
- 对于每个边缘,我们可以验证路径流在销毁之后是否通过。
- 通过累加流路的流量,我们可以简单地检查流量的下限。乙
现在,我们只是需要证明路径流的数量是多项式。ñ
对于给定的解决方案,我们可以确定一些流经过边缘的时间以及边缘被破坏的时间。用等效的解决方案将其转换为问题:何时可以使用边缘,何时不能使用边缘,则每个边界都有硬边界-开始时间和结束时间。让表示集合中的所有这些时间。{ Ť1个,。。。,Ťķ}
考虑一些非紧凑型解决方案,以及(最初)空路径集。这个想法是,我们迭代地在非紧凑型解决方案中找到一个路径流,将其删除并将其存储在我们的路径流集中。
找到在和t j之间开始和结束的路径流,i < j但在t p和t q之间不结束,因此[ t p,t q ] ⊆ [ t i,t j ]。令F i ,j表示t j与t j之间具有上述性质的路径流的集合。Ť一世ŤĴ我< jŤpŤq[ Ťp,Ťq] ⊆ [ t一世,ŤĴ]F我,ĴŤĴŤĴ
假设我们已经删除了所有比更小的间隔的所有路径流。贪婪地找到路径流入该开始和结束[ 吨我,吨Ĵ ]。当我们找到一个时,从解决方案中删除该流,并相应地调整顶点的吞吐率,以及从源发送到接收器的流量。对于此路径流,我们将吞吐量最大化。这意味着至少有一个边缘我们达到了它的最大吞吐率,或者在除去此路径流之后,该边缘上不再有流量。注意,这在周期[ t i + 1,t j[ i ,j ][ Ť一世,ŤĴ][ Ť我+ 1,Ťj − 1]|Fs,t|≤m
Fti,tjti+1tj−1
∑i,j∈[k]|Fi,j|≤cm3c