[pgrouting-users] Using pgrouting for senior capstone design
project?
Stephen Woodbridge
woodbri at swoodbridge.com
Thu Feb 23 23:48:14 EST 2012
On 2/23/2012 10:20 PM, Andy Carnevale wrote:
> I'm a senior industrial engineering student at Ohio State working at a
> local healthcare company to help them improve their routing
> efficiency. I've been tasked with designing a software solution that
> will help them generate daily routes. They serve almost 600 active
> clients across four centers around Columbus with a fleet of 26 vans. I
> need to figure out some way to take their client roster and generate
> routes that will minimize costs within the system restraints (limited
> number of wheelchair spots on each van, different client pickup
> windows, etc.). I have a background in operations research, but I have
> never dealt with such a large problem before. I've never worked with
> Postgres before either. The deadline for this project is the first
> week of June.
>
> Before I begin using pgrouting to develop this solution, I wanted to
> ask for your thoughts on the feasibility of this approach, any advice
> you have, or issues you foresee.
Hi Andy,
Yes this is a big project! It might be easier to think about this
problem by breaking it into discrete modules. pgrouting is only one
small piece of this puzzle and to a large extent you can solve most of
this without pgrouting. For example start by solving the problem using
straight line distance between the locations. This is a rough
approximation of the problem but it eliminates pgrouting from the
problem initially. If you can solve the problem this way, then adding
pgrouting back into the problem you can use it to compute the drive time
distances between locations and then to compute the final routes.
Doing this will allow you to focus on the OR problem of allocating
clients to vans based on the appropriate criteria. Since your client
locations are relatively static you can pre-compute the distance matrix
and store that in a table for access. You can easily add and remove
clients from the table as needed. Then your OR code can use the distance
matrix as required. In fact you could cache all the routes when you
compute the drive times between the various locations so all you would
need to do is extract the cached route when you arrived at your final
solution.
One thing you need to consider is what street data are you going to use
to feed into pgrouting for computing the routes. Tiger data is not use
in this regard. You might be able to use OSM data depending on coverage
area. You might also want to look at Navteq data if the area is small
enough and you have some funding for the data.
-Steve
More information about the Pgrouting-users
mailing list