Logistics Optimization

Knowledgebase: How to use Zones to manage data and improve performance in PDVRP

April 11, 2022

This is some text inside of a div block.

This blog refers to Zones for our PDVRP algorithm only. See separate knowledgebase articles for VRPHD, DA, or others.

The concept of Zones is primarily used to separate "customers/stops" geographically, such as Zone North-Sydney and South-Sydney. Think of a Zone as a group of customers that can only be served by a single driver or set of drivers from a single depot. Depots, however, can of course serve multiple customer Zones. Each Zone has a dedicated fleet that cannot serve another Zone. So the depot ends up serving multiple zones with multiple fleets.

For PDVRP, there is a maximum 350 customers per zone. Use VRPHD if you need more. After setting up the customer's zones, you need to know which vehicle types could be assigned to a zone. For example,  you may have vans of capacity [v1, v2, v3, etc.] and trucks of capacity [t1, t2, t3, etc.] for zone "North Sydney". You can set the max numbers of vehicles for these two types that could possibly be used. They can be 3 vans and 1 truck for instance. Each of these 2 vehicle types need a depot in the same zone. A depot can be your warehouse or where the vehicles are kept overnight. If these 2 vehicle types start from the same depot, you only need 1 record (or CSV row) of depot having zone "North Sydney". If the 3 vans start from the warehouse and the only truck starts from the truck driver's home, you need two depot records for zone North Sydney.

The router can manually move customers between routes in different Zones after the optimization, as required.

You should know roughly which vehicle types and how many of them are available for a Zone. It's best to include more than you need and let the algorithm figure out the routes and the list of vehicles required first. Then, the router can assign a driver to each vehicle. For example, zones North Sydney and South Sydney have 6 routes and 4 routes requiring a 1-ton van respectively. Bob is a driver of 1-ton van, so the router can now assign Bob to North Sydney or South Sydney depending on Bob's usual territory.

If you really want to assign drivers to zones ahead of the optimization, you can set each driver as a vehicle type. If you have vehicle types of multiple zones using one depot in reality, just duplicate the depot records and give them different ids.