I'm having trouble conceptualizing a Traveling Salesperson Problem that I'm interested in solving.
The story:
This is for a bicycle powered weekly curbside recycling pickup service. Each customer/household has one container of recyclables that they put by the curb on a designated day. There will be somewhere between 20 and 300 customers somewhat scattered around the city. The bicycle trailer can hold up to 12 containers of recycling at a time and off-loads the containers at any of 28 transfer stations also scattered around the city.
I'd like to create a series of fairly efficient routes so each household is visited at least once and no more than 12 households are visited in a row without stopping by a transfer station. More complex requirements would be to start and end at a particular location (easy) and divide the route into multiple days so no more than X miles are traveled or Y households are visited in a particular trip (probably increases the number of calculations another few powers).
My level of knowledge about TSP problems is limited to reading Wikipedia and the
TSP Solver for Google Maps but I would like to learn more.
So two questions:
One, anyone got a quick answer?
Two, any pointers for learning more about this type of problem, including the language that would be used to describe it?
Third, when some company has a Traveling Salesperson Problem how do they solve it? Hire a mathematician? Specialized software like
Concorde?
The best approach available to solving this kind of optimization problem in a practical amount of time is genetic algorithms. And a good implementation can come up with really amazingly well optimized solutions, which will be within a few percent of God's Solution.
Genetic algorithms are really quite easy to program. The only tricky part is the evaluation heuristic, and that's usually not too tough.
posted by Chocolate Pickle at 1:58 PM on February 27