如何解决具有多个路由,访问和约束的TSP

时间:2017-12-19 12:46:44

标签: traveling-salesman

我有一个TSP问题,我似乎无法以某种方式解决。 它由大约1200个地址组成,其中包括它们之间的所有距离(以秒为单位),频率(每周一次,每周两次,每周3次等)和货物重量。

我研究过TSP解决方案,但它们似乎只提供了计算最短路径的方法,而不是在多条路径上划分地址。

我应该根据频率将这些地址划分为5天。 然后每天我都应该通过2条路线将地址分开,以便用货车开车。

此外还有3个限制因素:

  • 所有路线应以相同的地址开始和结束。
  • 所有路线都不得超过最大距离。
  • 卡车的最大货物空间不应超过,如果卡车应该返回起点,拿起剩余的货物,然后继续行驶。

我尝试通过构建一个由greedysearch作为初始路由的TSP算法来解决这个问题,然后继续使用localsearch来找到局部最优。 然后我试图在路线之间交换地址,然后检查总距离是否随之减少。

我可以使用多线程在大约10-20秒内检查一组路线。 正如你现在可能想象的那样,这是非常缓慢的,似乎根本无法解决问题。

到目前为止,我似乎无法找到一个接近目标距离的解决方案(我已经在没有约束的情况下管理了8000,而在约束条件下它应该低于6000)。 这一切都没有实现前面提到的约束(这可能是通过对未满足的约束应用某些惩罚来完成的。)

解决这个问题的智能/好方法是什么?

提前致谢!

0 个答案:

没有答案