多个源 - 多个目的地

时间:2016-09-23 08:49:31

标签: algorithm optimization routes

我有一个优化问题。

假设我有一组目的地和另一组相应的起源。我需要将每个目的地与一个原点连接起来。一组车辆从每个目的地开始朝向各自的目的地。每辆车的速度都提供。

在网络中,一个单位时间内只允许一辆车通过一个交叉路口,因此当网络中的交叉点有多辆车时,车辆可以等待越过十字路口或者可以乘坐不同的道路。

主要目标是尽量减少所有车辆到达目的地的整体迟到。

关于解决这个问题的想法?

1 个答案:

答案 0 :(得分:0)

这不是一个完整的解决方案,但我希望能提供一个下降方向:

我认为你应该使用“Maximum Flow Problem” 在Flow-network上

  1. 给出'n'个车辆数
  2. 定义S - 源
  3. 定义O1,O2,O3 ......,On - 车辆的起源。假设Origin是第一个交叉路口
  4. 定义边缘S-(O1,O2,O3 ......,开) - 每个原点的容量= 1,等于车辆总数
  5. 定义E - Sink
  6. 定义D1,D2,D3 ......,Dn - 目的地
  7. 定义边缘(D1,D2,D3 ...,Dn)-E - 容量=每个目的地1
  8. 由两个顶点(in)和(out)定义的每个交叉点,边缘上限= 1
  9. 这将帮助您找到适合所有卡车的良好路线,但将避免通过“二手”路口...... 我认为在流过之后递增指定交叉点的容量应该是接近的。