G'day All
Apologies for the title, was thinking how search engines may index.
I've just started to explore VRP (ArcPro 2.5.0) using a subset of data to see how things work.
The current scenario is one depot with two buses to pick up students and drop to one school.
I'm trying different options and (although my data is currently more like a High Density Route) found two odd behaviors.
Is the Order Pair behavior expected?
Is there a way to force the bus to empty when visiting the school?
Thanks
Solved! Go to Solution.
Hello,
In looking over your data it seems the solver runs into some tie breaking challenges. Since school bus routing isn't our only use case for order pairs, we have added in the logic of grouping orders for drop-off for the school bus routing type scenario when orders have the same location, same time window, and same MaxTransitTime. So for your data if you add the same MaxTransitTime value to all of your order pairs then you should see the routes pick up everyone before going to the school and then dropping them all off. We typically see a regulation on how long a student can be on the school bus which would make filling that field out necessary but if that is not the case in your area then you can add a large value that is longer then the time for the route such as 1000 minutes.
Hope this helps,
Heather
Hello,
Order pairs is how we have mostly seen school bus routing accomplished in the past. I would have expected with the order pairs that all that are on the bus at the time it reaches the location of drop-off that everything would be "delivered" or bus emptied. A few thoughts on this. Do you have an order pair set up for each student, the pickup location at home (or near home) and the drop-off location at the school? This will have several locations overlapping at the school. Do you have any time windows on the second order in the order pair? If an order has a time window after when the bus arrives there the first time it would stay on the vehicle.
Thanks,
Heather Moe
G'day Heather
Apologies again for the delay.
There was another post from 2011 that raised the same issue and of course I can't now (quickly) find it.
Yes, there is an order pair for each student / school.
Yes, there is a time window end on when a student must be dropped at the school.
No, there is no time window on when a student must be picked up to head to school.
You are saying that since the time window is still open, the 'order' doesn't have to leave the vehicle?
That makes programming sense, though not common sense
For example, one test route picks up ten students, drives past the school and only drops seven students.
Bus continues on for capacity of 71 and returns to school and drops only 27 students.
Bus continues again to pickup 25 students, and returns to school to drop 7.
Bus then doubles back to pick up final three students then empties bus at school.
Time Violation is set to high and Excess Time set to low.
This would have been less of an issue if the bus wasn't going back and forth, as had only delivered a handful of students rather than emptying the bus. Even if the back and forth is caused by other settings or the limited roads to service, when the bus does decide to stop at the school, why not have the program empty all orders present that are due at that location?
Thanks
I'm not sure why the solver is not emptying the bus when visiting the schools from the descriptions. It would be helpful to have a look at the data to be able to troubleshoot this more. I would recommend opening a support issue for this so we can securely transfer data. I will work with them to look at the data.
Thanks,
Heather
G'day Heather
Fanatic. Case number is 02549437
Hello,
In looking over your data it seems the solver runs into some tie breaking challenges. Since school bus routing isn't our only use case for order pairs, we have added in the logic of grouping orders for drop-off for the school bus routing type scenario when orders have the same location, same time window, and same MaxTransitTime. So for your data if you add the same MaxTransitTime value to all of your order pairs then you should see the routes pick up everyone before going to the school and then dropping them all off. We typically see a regulation on how long a student can be on the school bus which would make filling that field out necessary but if that is not the case in your area then you can add a large value that is longer then the time for the route such as 1000 minutes.
Hope this helps,
Heather
G'day Heather
Thanks for looking into this.
We do have such a max travel time regulation and started with no 'constraints' in place to see what, was assumed, the 'optimal' routing would be.
Yes adding the MaxTransitTime changes the result. I will need more time to drill down into the results and although real data, was a sample area to 'play' with how the tool behaves / works.
Give or take the limited route options in this network, (and not yet having looked at the new routes), we would not be opposed to the bus stopping at the school before being full, if the bus was going to go past the school anyway. Even more so if that provided in effect extra capacity.
A couple more queries:
Thanks again
1. We have scenario based workflow documentation on our to do list and School Bus routing is on the top.
2. There are not other multi settings behaviors for paired orders.
3. Package delivery with some orders having time windows can create situations where it could be useful to offload some packages but not all. Such as a bulky package being delivered earlier then the small package that has a time window late in the day could open up some carrying capacity for that route.
Thanks,
Heather