1

So, I have a service, which as one of its features allows my clients to optimize their driving routes for the day. Normally, they only have a dozen or so stops before returning to base, so I just use the MapQuest API (paid) which has an optimize route function. However, I just got a new client who has 40+ stops per day. However, the MapQuest API only allows 25 stops (start, 23 waypoints, end) with route optimization. So, does anyone have any ideas how I can best attack the problem of trying to optimize a route for 40+ stops?

So, yes, I know that the traveling salesman problem is a computationally difficult problem. The MapQuest API is super fast with the limited number of stops that they allow, and I have a paid subscription, so I can make multiple calls in a row without getting in trouble with them. So, some ideas that I've played around with is simply dividing the route in half, optimizing each half, and combining, but it seems to be lacking in efficacy. So, if anyone has tackled this, I'd love to hear your solution.

user2020111
  • 111
  • 4
  • Assuming your start and end points are the same, if you used the stop farthest from your start/end as the point to split up the stops, wouldn't that give you decent confidence in the result of [start,mid-point] combined with [mid-point,end]? – mrogers Feb 22 '17 at 22:24
  • I know others have clustered locations before routing then submitted multiple optimized routes within then outside the clusters. I don't have any sample code but that's what other users mentioned trying. – MQBrian Feb 22 '17 at 22:34
  • You can use the GraphHopper Directions API for it: https://www.graphhopper.com/ (Note, I'm one of the authors) Another option is to split your route into smaller parts. – Karussell Oct 19 '18 at 12:45

1 Answers1

0

I know this team has worked on it and they can probably help you out.

MQBrian
  • 452
  • 1
  • 3
  • 7