Vehicle Routing Problem vs Location Allocation

4103
9
10-02-2017 11:53 AM
RobertFord1
Occasional Contributor

Thanks in advance for all help.

I am trying to create a model for adding staffing to certain fire stations and how that would change the possible response dynamics. I have looked into using VRP, but it looks much too complex for what I am after.

We want to know that if we add an extra apparatus to a fire station, if that fire station would take more 911 calls then the surrounding ones. I want to use historical data and say, if we add this vehicle, it will add this many runs to that station while also relieving this many runs from the surrounding stations. 

So in relation to VRP, the "Depots" would be my fire stations while my "Orders" would be the 911 calls in the area. As for location-allocation, how would I model the capacities of each fire station? For instance, say one station has 2 trucks while all others have 1. The station with 2 trucks can respond to more events than those with one. How could I model this?

Any ideas are much appreciated!

0 Kudos
9 Replies
HeatherMoe
Esri Contributor

Hi Robert,

For getting started with the VRP solver you can work through the following tutorial.  It will help you understand how the pieces fit together.

Exercise 7: Servicing a set of orders with a fleet of vehicles—Help | ArcGIS Desktop 

As for your specifics.  Using historical data makes a lot of sense for simulating out a day of 911 responses.  You are correct in thinking the fire houses should be modeled as the depots and the calls would be the orders.  The vehicles are then modeled as routes.  The routes need a starting and ending depot specified so in your case you would create a route for each truck and then separate out the trucks to the fire stations by identifying which depot they start and end their day.  Once you get things set up you can start moving the trucks to different fire stations and see how the work gets moved around from one simulation to the next.  

With the historical data from one day, I think you would need to use the time windows on the orders to signify what time of day that phone call came in and needed to be taken care off.  You mention that on a particular day you don't know when the calls will come which is okay in this case because you are wanting to simulate a day that has already occurred and so you want the times to match that particular day.  This is probably not the right tool as it is currently designed to help with solving the dispatching problem in a live setting.  Besides the time windows that you mentioned another thing you should add in is the service time for the incidents.  This would be how long the fire truck was at the location.  This will help model how long that vehicle is busy and unable to go to a different location.

I'm definitely not in the fire fighting business but some aspects of this problem that I can think of that might make the modeling more difficult are as follows.  I believe it is fairly common for the fire truck to go to one incident and then back to the fire house waiting for the next call to come in.  To account for the going back to the fire house you can make the fire houses as route renewals also and then specify a capacity of one for the routes and give each order a pickup quantity of one.  This would make the fire trucks have to get "re-supplied" between calls and go back to the firehouse to match the way they typically operate. 

Another concern is if a fire is big enough to need more then one fire truck to respond at a time you would need to model in the number of trucks that were needed as separate orders with the same time window and service time at the same location.  In this case each order would have the delivery quantity that would max out a fire trucks capacity and so several routes would go to that location at the same time.  

A lot to think about but give it a try and let me know how it goes and if you have more questions.

Heather

RobertFord1
Occasional Contributor

Thank you Heather! This gets the ball rolling! I would like to model 1 year worth of data which is close to 150,000 points. Would this be too much for VRP? Thanks!

0 Kudos
HeatherMoe
Esri Contributor

Hi Robert,

The VRP Solver would work best at a per day modeling.  Once you get a set up you are happy with you could get a model builder or python script to make a layer for each day of the year and then look at the aggregates for seeing how the changes you make affect over the long term.  150,000 points is definitely too much for one VRP solve though.

Heather

0 Kudos
RobertFord1
Occasional Contributor

Hi Heather,

Could I use collect events for our historical data and give an address with more than 1 event a weight equal to the number of events that happened there? This would cut down on the number of orders quite a bit but I would imagine it would still be tens of thousands of points.

Thanks!

0 Kudos
HeatherMoe
Esri Contributor

Hi Robert,

The events could be collapsed but then the solver would see them all as needing to be visited by a fire truck at once even if they happened on separate days.  I still think to use the VRP solver to model this you will need to do one day at a time for a layer.  Our solver is really designed to handle less then 3000 orders at the very top end in a layer.  Do you have that many in a particular day?  If so you might need to think about natural barriers for breaking the problem by area. 

If this isn't sounding like it is solving the right problem for you, you might need to consider how to set up location-allocation problem and work with the idea that a particular location will handle the calls within a certain distance/time of the fire house.  I'm not an expert on that solver but maybe the maximize capacitated coverage would work for you.  I can reach out to someone that works more with that solver if this seems like a better path for you.  You can read more at this page.  If you scroll down to the problem types section it will describe them for you.  Location-allocation analysis—Help | ArcGIS Desktop  

Thanks,

Heather

0 Kudos
RobertFord1
Occasional Contributor

Also I keep getting the following warning and the VRP will not solve:

"Warning: Depots, Routes, Orders and Breaks contain time windows with dates but the DefaultDate value does not have a date.
Error: Invalid input in the NA classes."

0 Kudos
HeatherMoe
Esri Contributor

Hi Robert,

You need to add the date to the default date setting for the layer.  This would be done by in the network analyst window clicking on the little button next to the drop down of the layers (alternatively in the Table of Contents right click on the layer and select properties) and going to the analysis tab.  Under Default Date switch it to Specific Date and chose the day that matches the time windows.  

Thanks,

Heather 

0 Kudos
JoeBorgione
MVP Emeritus

Cross posted here:  https://community.esri.com/thread/202953-location-allocation-or-vehicle-routing-problem 

That should just about do it....
0 Kudos
RyuLippmann
New Contributor

Hi Robert, 

I'm interested in this as I'm modelling logistics for reef restoration over the Great Barrier Reef.

There are a few intervention strategies, and similarities with your model and problem here.

I am contacting you to see whether there's a way you could share your model/paper/findings with me so that I can reference it in my work.

 

Thanks 🙂 Ryu

0 Kudos