I work for a state health program and am looking for the most efficient way to route inspectors from restaurant to restaurant. This is something like the travelling salesman problem, but with additional complexities. We have 75 inspectors, making less than 8 hour round trips from 17 different offices, inspecting ~18,000 businesses at 1.25 hours an inspection (not counting travel time). These businesses either need inspected annually, 3 times a year, or 5 times a year depending on their assigned risk level. Does anyone have any ideas/suggestions for this? I am talking to Telogis and Viamente as far as getting quotes for using their products but am interested in looking into all avenues. It's possible this is not on the right Stackexchange, if you know of a more appropriate venue I'd appreciate knowing that as well.

  • 1
    Are you looking for open source as well as commercial based? gis.stackexchange.com/questions/210/alternatives-to-pgrouting – Mapperz Jun 3 '13 at 16:56
  • Well currently we have money but almost no IT department so I guess I'm looking for something with good tech support, which to mean would mean commercial, as we don't have anyone with the skills/time to devote to coding/developing a system. – dylan murphy Jun 25 '13 at 23:49

jsprit can solve your problem. It is a java based, open source toolkit for solving rich traveling salesman (TSP) and vehicle routing problems (VRP). Rich means here that you can model an arbitrary number of constraints that account for your business requirements such as skills, time-windows etc.. And in conjunction with jsprit, you can use GraphHopper.

| improve this answer | |
  • jsprit is also embedded into an open source (i.e. free) Excel-compatible desktop app ODL Studio, so you don't need to do any programming to use it. (Disclaimer - I'm the author of the UI). See our youtube channel for training videos. – Open Door Logistics Jul 4 '16 at 19:28

Our FleetEngine software can also handle such tasks, although you would have to break the problem into smaller tasks, to handle it efficiently.

| improve this answer | |
  • I'll have to look into that, I also have been talking to a couple vendors, I am thinking about going with Telogis for a solution right now as they are the only company that could also handle the division of labor into groups, as you mention. – dylan murphy Jun 25 '13 at 23:52

I have been using RouteSmart for some time, and recommend it highly. It's specifically designed to solve "high density" routing problems (~20K points is something I would refer to as dense), i.e., those involving a very large number of points that must be serviced regularly. It is not an open-source product but imho worth investing to.

| improve this answer | |

If you do not have a problem with Java code you could have a look into my Open Source GraphHopper project.

| improve this answer | |
  • 1
    Graphhopper seem to be about A-to-B routing. Not what the question is about. – Uffe Kousgaard Jun 5 '13 at 7:06
  • @UffeKousgaard Probably I've expressed myself not clear enough. With 'Java code' I meant dig into some code. GraphHopper is a library so you can implement and tweak what you want. The only missing part is the optimization of the order of the points ("TSP") which is easily implemented ... – Karussell Jun 5 '13 at 11:51
  • The problem is much more complex than TSP. And you don't even have TSP implemented. – Uffe Kousgaard Jun 5 '13 at 14:33
  • @UffeKousgaard please explain. And I did not claim that I've this implemented – Karussell Jun 5 '13 at 16:05
  • Then why did you reply? You are suggesting Dylan to look at your "wheel", when it is a "car" he is asking for. Your library is simply miles away from being able to solve Dylans problem. And it is not just a matter of tweaking as you call it. – Uffe Kousgaard Jun 5 '13 at 20:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.