TSP - Branch and bound

2019-01-19 16:35发布

问题:

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 problem using branch and bound algorithm?

回答1:

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



回答2:

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/



回答3:

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.