Backhaul optimization

Backhaul optimization is a type of continuous move optimization that takes advantage of the empty vehicle at the end of a pooled outbound route to perform a pooled inbound route. In general, continuous move optimization combines pick ups and deliveries on a single route to achieve greater efficiency in transportation asset use. Backhaul optimization combines full pooled outbound routes and full pooled inbound routes. For example, you have a set of shipments at a pool site that need to be delivered to a number of customers. There are also shipments at a number of vendors that need to be delivered to the original pool site. Using backhaul optimization, Transportation Optimization performs the pooled outbound route, delivering shipments to the customers, then picks up shipments at the vendors and delivers to the pool site as a pooled inbound route:

Unlike the standard optimization problem type, backhaul routes can include both pickup and delivery shipments. The constraints that apply to backhaul optimization are the same as for the standard optimization .

When solving the backhaul problem, Transportation Optimization performs the following general steps:

  • Generates a set of routes to deliver all outbound shipments.
  • For each inbound shipment, inserts it into the outbound route that will result in the smallest cost. Repeats this process until all inbound shipments have been inserted onto routes.
  • Performs a route improvement step for inbound shipments to see if better routes can be identified.

In order to model a backhaul optimization, you need to set up your data as described below.

Sites:

  • All sites have Type = Existing Site

Shipments:

  • The Source Site and the Destination Site in the Shipments table should be set up appropriately for pickups versus deliveries:
  • For the deliveries, the Source Site is the pool site and the Destination Site is the shipment delivery location.
  • For the pickups, the Source Site is the shipment pickup location and the Destination Site is the pool site.

Backhaul optimization output

Columns are included in the Route Summary output table to reflect the pickups versus deliveries on a load that uses backhaul optimization:

Column Description
Delivered Stops This is the number of stops at which deliveries are made. These are the outbound stops.
Delivered Qty This is the total shipment quantity on the load that is delivered at sites.
Delivered Weight This is the total shipment weight on the load that is delivered at sites.
Delivered Volume This is the total shipment volume on the load that is delivered at sites.
Pickup Stops This is the number of stops at which pickups are made. These are the inbound stops.
Pickup Qty This is the total shipment quantity on the load that is picked up at sites.
Pickup Weight This is the total shipment weight on the load that is picked up at sites.
Pickup Volume This is the total shipment volume on the load that is picked up at sites.

When a route completes a backhaul, the Route record will have both Delivered Stops greater than 0 and Pickup Stops greater than 0. The Delivered Stops are those for the outbound part of the route and the Pickup Stops are the inbound stops.

The Stops table will show the "Equipment Start - Pickup" at the pool site, then one or more delivery stops. After the last delivery, there will be one or more pickup stops, then the "Delivery - Equipment" return at the end of the route.

You can also view the Segments table to see distance and time traveled on each segment – from the pool site to each delivery, then to the pickups and the return to the pool site.

Backhaul optimization high level algorithm summary

When solving the backhaul problem, the algorithm performs the following general steps:

  • The algorithm builds the routes in a similar manner as in the Standard optimization. However, when inserting the shipments onto routes, it ensures that the pickups are after the deliveries.
  • Finally, the algorithm performs route improvement steps similar to the standard problem and reports the best solution found.

Last modified: Wednesday May 15, 2024

Is this useful?