开发者

TSP - Branch and bound

I'm trying to solve the TSP with Branch and bound algorithm.

I must build a matrix with costs but I have this problem: I have city with coordinates x and y.

The cost of traveling is ceil(ceil(sqrt((x1-x2)^2+(y1-y2)^2))/v) + days spent in the city. V is speed.

Days spent in the city depends from day when w comes to the city. For example if we arrived on Monday(t1) to city 1, we stay for 9 days but if we arrived on Tuesday, then we stay in the city for 4 days.

         x   y   t1 .        t7
city 1. 79 -36   9 4 8 5 5 7 8
city 2. 8  67    6 9 2 1 9 9 1
city 3. 29 57    7 5 10 8 10 9 4

How can I solve this prob开发者_如何转开发lem using branch and bound algorithm?


Here you go: http://lcm.csa.iisc.ernet.in/dsa/node187.html - it seems to explain fairly well how this should be approached.

Archive.org link


This PDF document gives a more detailed explanation of the Branch and Bound implementation for the Traveling Salesperson Problem:

Part 1: A solution with nodes containing partial tours with constraints http://www.jot.fm/issues/issue_2003_03/column7.pdf

Part 2 PDF can also be found. http://www.jot.fm/issues/issue_2003_05/column7/


Step by step explanation of branch and bound method:

  • video: https://www.youtube.com/watch?v=RR7GXoWiUw4
  • book: https://archive.org/details/algorithmfortrav00litt (link to download in pdf)
  • implementation (C++): https://github.com/karepker/little-tsp

I hope my answer will be useful for somebody.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜