管理非加权流量的方程式

时间:2018-09-05 12:54:17

标签: algorithm math graph-algorithm equation flow

我有一个类似下面的图。

enter image description here

这表示按路径链接的节点。一个节点代表起点(左侧),另一个代表终点(右侧)。

我的目标是按照一些规则从头到尾部署部队:

  • 节点只能包含一个单元(开始和结束不受限制)
  • 单位每回合只能前进一个节点
  • 一旦单位在不同于起点的节点上前进,它就必须转动,不会出现拥堵。

我正试图找到一个方程式,该方程式根据我需要派遣的部队人数来计算实现该目标所需的最小转弯次数。这也将帮助我知道我应该使用多少条路径来优化部队的流动。

例如,在我的图形中,发送2个单位需要3圈,我只使用顶部的路径。

但是对于15个单位,将在路径的中间(可能是我的图表底部)发送一些单位会更优化。

我很难找到方程来管理流量。

希望您能理解我的问题,并感谢您阅读!

2 个答案:

答案 0 :(得分:0)

对于每个路径,计算它们上有多少个节点(不包括起始和目标)。然后,具有k个节点的路径将在k转之后每转提供一个单位。然后,按k对路径进行排序并进行转弯模拟。维持当前目标数量和当前单位速率(使用k <= currentTime的路径数量)。然后,以单位速率增加当前的单位数量,直到达到所需的目标数量。

从本质上讲,您的单位费率是一个分段常数函数(随时间变化)。因此,单位数是一个恒定的线性函数(随时间变化)。但是我想,将其表示为一个函数没有什么用。

答案 1 :(得分:0)

您可以通过解决节点约束的最大流量问题,将流量分解为单位路径,然后沿每个路径发送单位流,来获得合理的近似值。吞吐量将是最佳的,但长路径可能会导致额外的延迟。