The Network Analyst Route analysis finds the best route for a single vehicle to visit many stops, whereas the Last Mile Delivery service and the Vehicle Routing Problem service both find the best routes for a fleet of vehicles to service many orders. The Vehicle Routing Problem service has lots of flexibility and can model many different constraints, but the algorithm is also limited by this flexibility. The Last Mile Delivery service supports a subset of the constraints, but for the ones it does support is able to provide a better quality and performant algorithm.
Last mile delivery capabilities
The Last Mile Delivery analysis is a use case-specific Vehicle Routing Problem (VRP) algorithm designed for a fleet of vehicles that are delivering packages to the final customers. For example, this can be used for a single distribution center or store delivering to the final customer location and can be quite dense delivering to a few customers on most streets, but is not intended to visit every house on every street.
Delivery companies need to determine which orders (package delivery location) should be serviced by each route (delivery vehicle and driver) and in what sequence the orders should be visited. The primary goal is to best service the orders by producing geographically clustered routes so the drivers can easily deliver to everyone and minimize the overall operating cost for the fleet of vehicles. The features below are supported to run the analysis:
- Orders—Supports larger order counts with a single time window and either pickup or delivery quantities in the analysis but not both.
- Depots—All routes must have the same starting depot and the same ending depot. The starting depot and the ending depot can be different. The starting depot, ending depot, or both can also be virtual, meaning the route starts or ends at the order instead of a centralized location.
- Routes—Supports heterogeneous routes for all fields except start depot, end depot, and arrive depart delay. Can model things such as costs, capacities, and constraints based on time or distance. This is recommended for routes of fewer than 300 orders.
- Zones—Designates an area where a route should be servicing orders. These zones can be either hard zones or soft zones. One zone can be used by multiple routes.
- Specialities—Indicates the qualifications required by orders and supported by routes. These are designated using both Order Specialties and Route Specialties. Both orders and routes can support multiple specialties.
- Barriers—Support point, line, and polygon.
What does last mile delivery not support
The last mile delivery does not support the following features:
- Breaks
- Seed points
- Route renewals
- Order pairs
- Time windows on depots
- Second time window on orders
- Pickup and delivery quantities in the analysis
- Revenue on orders
- Different start depots for each route
- Different end depots for each route
- Different arrive-depart delays for each route
Convert from vehicle routing problem to last mile delivery
The schema and capabilities between the Vehicle Routing Problem solver and the Last Mile Delivery solver are very similar. Therefore, it is relatively straightforward to use old vehicle routing problem input for a last mile delivery problem. Below are the areas of the schema that would need to be converted.
Route Specialities and Order Specialities have the same schema as in the Vehicle Routing Problem. The below tables list the differences between the schema of the Vehicle Routing Problem solver and the Last Mile Delivery solver.
Orders
Vehicle routing problem schema | Last mile delivery schema |
---|---|
TimeWindowStart2, TimeWindowEnd2, MaxViolationTime2 | A second time window is not supported. |
Revenue | Not supported |
AssignmentRule: Exclude (0) | Order—AssignmentRule: Null Route—AssignmentRule: Exclude (2) Note:Route’s AssignmentRule should already be excluded in the VRP Schema as well. |
AssignmentRule: PreserveRouteAndRelativeSequence (1) | AssignmentRule: PreserveRouteAndRelativeSequence (1) |
AssignmentRule: PreserveRoute (2) | AssignmentRule: PreserveRoute (2) |
AssignmentRule: Override (3) | AssignmentRule: Null |
AssignmentRule: AnchorFirst (4) | AnchorRule: First (1) and AssignmentRule: Null |
AssignmentRule: AnchorLast (5) | AnchorRule: Last (2) and AssignmentRule: Null |
Depots
Vehicle routing problem schema | Last mile delivery schema |
---|---|
TimeWindowStart, TimeWindowEnd, TimeWindowStart2, TimeWindowEnd2 | Time windows are not supported for Depots. |
Routes
Vehicle routing problem schema | Last mile delivery schema |
---|---|
EarliestStartTime | EarliestStartDate and EarliestStartTime Note:These are date-only and time-only fields, so the date and time used for EarliestStartTime needs to be split between these two fields. |
LatestStartTime | StartTimeFlexibility = (VRP’s LatestStartTime – VRP’s EarliestStartTime) |
AssignmentRule: Include (1) | AssignmentRule: Null |
AssignmentRule: Exclude (2) | AssignmentRule: Exclude (2) |
Zones
Vehicle routing problem schema | Last mile delivery schema |
---|---|
Route Zones: RouteName | Zones: Name and Routes: ZoneName |
Route Zone: IsHardZone | Routes: IsHardZone |
Barriers
Vehicle routing problem schema | Last mile delivery schema |
---|---|
Point Barriers: Attr_* | Point Barriers: Additional_Time or Additional_Distance |
Line Barriers: Attr_* | Line Barriers: ScaledTimeFactor or ScaledDistanceFactor |
Polygon Barriers: Attr_* | Polygon Barriers: ScaledTimeFactor or ScaledDistanceFactor |
Parameters
Vehicle routing problem | Last mile delivery |
---|---|
Default Date | Earliest Route Start Date |
Time Window Factor | N/A |
Spatially Cluster Routes | N/A |
Excess Transit Factor | N/A |
N/A | Max Route Total Time |
N/A | Sequence Gap |
N/A | Earliest Route Start Time |