What is a practical solution to the Travelling Salesman prblem, using Google Maps?

后端 未结 4 1716
抹茶落季
抹茶落季 2021-01-02 21:15

What is a practical solution to the Travelling Salesman problem, using Google Maps / geolocation / route finding?

I don\'t need the best solution, within 5% would be

相关标签:
4条回答
  • 2021-01-02 21:45

    Google does have a parameter on their directions API which will optimize the route as a travelling salesman problem:

    • API Documentation: Using Waypoints in Routes
    • Introduction and demo blog post

    From the documentation (the key part is &waypoints=optimize:true|...):

    The following example calculates a road trip route from Adelaide, South Australia to each of South Australia's main wine regions using route optimization.

    http://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA
      &destination=Adelaide,SA
      &waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA
      &sensor=false
    

    Inspection of the calculated route will indicate that the route is calculated using the following waypoint order:

    "waypoint_order": [ 1, 0, 2, 3 ]
    

    For a one-off it's probably easier to use OptiMap as recommended by @Kunukn

    0 讨论(0)
  • 2021-01-02 21:47

    you can use long lat to estimated roughly how far apart the locations are, then make a few lookups for those that are nearby each other.

    a simpler alternative is to separate your map into 3 x 3 sections. Only look up routes for locations in adjacent sections.

    these techniques aren't 100% accurate though.

    And even if you look up all the paths, you should end up with no more than 190 lookups.

    0 讨论(0)
  • 2021-01-02 21:54

    There is this TSP project implemented in JS http://code.google.com/p/google-maps-tsp-solver/

    You can see live demo here http://gebweb.net/optimap/

    0 讨论(0)
  • 2021-01-02 22:09

    I you are looking for a polynomial approximation for the Euclidean TSP, several algorithms have been suggested. Have a look here.

    0 讨论(0)
提交回复
热议问题