Hello. Recently I am trying to solve a problem using VRP extension about the delivery and pickup of railway containers transported by trucks between railway terminals (Depots) and the owners of the goods (Orders), in which I need to find a way to tell VRP that goods of certain orders should come from a certain depot and goods of certain orders should be delivered to another depot. In ArcGIS community I found this post in which you suggested using Route Specialties to achieve this but in that problem trucks (Routes) were assigned to a depot in advance, which means the end depot of all the trucks are fixed. So I use Order Pairs, which is another way you suggest if you want to keep the trucks free to get to any depots. Here is the way I use:
Create an order at the location of the depot as a dummy depot point to be paired with the orders. Since one dummy depot can only be paired with one order point, I created dummy depot points for each order that need to be paired.
For those delivery order points, the first order should be the dummy depot and the second order should be the order point.
For those pickup order points, the first order should be the order point and the second order should be the dummy depot point.
And to make the dummy depot points possible to be paired with, I gave them pickup and delivery quantities opposite to the order points the are to be paired with.
Eg.
Order1(Delivery)[Delivery=1, Pickup=0]→Depot1(Delivery)1[Delivery=0, Pickup=1]
Order3(Pickup)[Delivery=0, Pickup=1]→Depot1(Pickup)1[Delivery=1, Pickup=0]
By importing this table of order pairs, I run the VRP and got my results.
Here are what I’d like to know:
- Creating dummy point for each order one by one could be a lot of work and seems a little bit clumsy. Is there any better way to assign orders to a depot without setting the end depot for the trucks in advance or to simplify the way of creating dummy points?
- In this way, there exists the possibility that dummy depot point being seen as an order and the sequence will be messed up. Are there any chances that other dummy points being put between a pair of first order and second order?
Like:
Depot1(Delivery)1→Depot1(Pickup)1→Order1(Delivery)→Order3(Pickup)
when it should be:
Depot1(Delivery)1→Order1(Delivery)→Order3(Pickup) →Depot1(Pickup)1
If possible, could you give me some advice on how to prevent this kind of problem from happening?
Thank you in advance for your kind help.