假设我有一个互连交换机网络。连接两个不同交换机的每个链路都有自己的正使用成本和可以通过的最大带宽。是否存在算法/算法组合以最佳地找到不同交换机的指定端口之间的路径,其中每个这样的路径具有最小可能的成本并且保证能够通过预定义带宽的流量?
在加权图上使用Dijkstra算法解决了找到最小成本路径的问题,但是如何处理带宽需求呢?如果存在这样的算法,它会在找到路径的请求都不是事先知道但是一个接一个地出现时给出最佳解决方案吗?
谢谢!
答案 0 :(得分:0)
仅通过从3-partition problem减少,仅仅确定将多个需求作为路径路由的可行性是NP难的。严格的限制是将整个需求仅用于一条路径。如果我们允许多个路径(即流程),那么我们得到最小成本multi-commodity flow problem,这是多项式时间可解的(虽然在实践中效率低)。对于这两个问题,似乎不太可能存在最优的在线算法。