Why choose last mile delivery

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 schemaLast 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 schemaLast mile delivery schema

TimeWindowStart, TimeWindowEnd, TimeWindowStart2, TimeWindowEnd2

Time windows are not supported for Depots.

Routes

Vehicle routing problem schemaLast 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 schemaLast mile delivery schema

Route Zones: RouteName

Zones: Name and Routes: ZoneName

Route Zone: IsHardZone

Routes: IsHardZone

For Last Mile Delivery, route zones are specified in the Zones class and given a name. Those names are then used in the Routes with the ZoneName and IsHardZone fields. This allows one zone to be used by multiple routes.

Barriers

Vehicle routing problem schemaLast 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

The following table lists the difference between the parameters available from the Vehicle Routing Problem and the Last Mile Delivery tabs, respectively: