最大容量,最小路由长度

时间:2013-09-15 15:37:31

标签: algorithm networking graph routing

在虚拟电路分组交换中,我们首先在网络中的源和目的地之间建立专用路径。优选地,路径长度应该小。同样,沿最短链路的最小链路的容量将对信息流施加限制。

因此,最好设计成本函数,即路径长度和最小链路容量的加权组合。由于我们希望减少路径长度l并希望增加最小链路容量c min ,我们的成本函数可以是最大化(w 1 * f( c min ) - w 2 * g(l))其中w 1 和w 2 是权重,f和g是线性或非线性函数。

在任意网络中这个问题的有效算法是什么?

我一直坚持这个问题一个星期,到目前为止无法取得任何进展,我搜索不同的方法来解决这个问题,并考虑它很多像将其作为最广泛的路径问题。但最广泛的问题只考虑链接的容量,但如何在问题中包含长度因素。或者还有其他方法可以解决问题。

1 个答案:

答案 0 :(得分:1)

我不认为Dijkstra完全没有修改,因为中间节点看到的最佳答案不一定构成最佳总体答案的一部分:如果所有直接连接到目标节点的链路具有非常小的容量,那么路由通过提供大容量而提前做好的事情可能毫无意义。

可以使用Dijkstra找到容量至少为X的最短路径,首先删除容量小于X的所有链路。如果链路容量很少,你可以计算所有可能的X的最短路径的长度。即使有许多不同的容量,你也可以使用二进制斩波来找到容量最大的路径。

为了彻底修改Dijkstra,我想你最终会在每个节点上保持所有可能的容量Xi,即使用每个链路的容量至少为Xi的最短路径到该节点的长度。

相关问题