Operational Planning

Bulk Plan Multi-stop Shipment Saving Algorithms

Savings Algorithm

The savings algorithm works by creating a savings matrix for every pair of shipments that are feasible to combine. The savings is defined as follows:

savings = cost of shipments before consolidation – cost of shipment after consolidation

Once the savings matrix is created, the pair with the best positive savings is combined and the new savings with the combined shipment with the rest of the shipments is evaluated. This continues until there is no combination that results in positive savings.

You can influence the savings value through multi-stop logic configuration parameters and influence the shape and consolidation of the shipments. For example, you can make the shipments with the same SHIP WITH GROUP attract each other even at the expense of traveling extra distance or incurring extra cost. Similarly, order priorities can be used to inflate or deflate the savings value.

There are two steps in the savings algorithm:

Step One

The first step is the savings calculation for all pairs of shipments. The savings calculation can be very time consuming. This step can be multi-threaded speeding up the savings calculations. See the help topic on bulk plan multi-threading for information on how to set up multi-threading.

Step Two

The second step involves choosing the best savings pair and combining the shipments in the pair. Once the new shipment is formed, the old shipments are removed from the savings matrix and savings are calculated for pairing up the newly created shipment with the rest of the shipments in the matrix.

Important Multi-stop Parameters

There are several parameters that influence the performance and quality of multi-stop shipment creation. While there are several such parameters, a few of the very important and often used are listed here:

Multi-stop Cost Savings Check Type

The savings calculations can be sped up by looking at only the distances during the savings calculation. This can be done by turning on the multi-stop logic configuration parameter MULTISTOP COST SAVINGS CHECK TYPE to “1. Perform cost savings check after each iteration.” This setting performs distance based savings calculations thus eliminating the need for detailed rating. However, a cost based check is still made whenever two shipments are combined together.

When the parameter MULTISTOP COST SAVINGS CHECK TYPE is set to “4. Calculate cost for all paired shipments,” the savings calculations are based on actual costs rather than distances. This causes logic to run longer, but will compute more accurate savings.

There are other options, “2. Perform cost savings check at the end of process” and “3. Do not perform cost savings check.”  Do not use option 3 at all as it is very important to perform cost savings check. Option 2, performs cost savings check at the very end, but this has a bad side effect. If the cost savings check fails for combining the shipments, then the shipments do not get merged, and they will go unconsolidated. The recommendation is to use option 1 when the costs are proportional to distances or run time is a concern. Otherwise, the recommendation is to use option 4, where cost savings are calculated for each pair of shipments.

Following parameter and property settings in OTM provide options to influence multi-stop savings calculations based on the priorities of shipment contents.

Multi-stop Rate Distance ID

It is recommended that you use MULTISTOP RATE DISTANCE ID set to Estimate. Using Estimate, the logic uses latitudes and longitudes of locations and estimates the distances. This gives close enough distances to perform the necessary optimization quickly. Using Lookup has the additional overhead of querying the distances from a lookup table, but will give more accurate distances for computations. Using an external distance engine will slow down the process considerably and should be avoided unless that level of accuracy is needed. Remember that this setting only influences the distances used during the multi-stop logic. The actual rating and the final shipment are still based on the true distances as specified on the rate.

Types of Savings Algorithms

Savings algorithms come in the following types:

  • Sequential Savings
  • Concurrent Savings
  • Look Ahead Savings
  • Iterative Savings

Sequential Savings

MULTISTOP CONSOLIDATION ALGORITHM = Sequential Savings

In sequential savings, the focus is to complete the formation of one multi-stop shipment before starting a new multi-stop shipment. This is useful when you need to form shipments with higher utilization. In sequential savings, the shipments are consolidated as follows.

  • Shipment12 = shipment1 + shipment2
  • Shipment123 = Shipment12 + Shipment3
  • Shipment1234 = Shipment123 + Shipment4

The savings are still used to select the next shipment to consolidate.

The parameter MULTISTOP SEQUENTIAL SAVINGS SORT METHOD allows you to choose which method to use in determining the first shipment from which to build a multi-stop shipment using the Sequential Savings merge algorithm.

The parameter RS PAIRWISE CONSOLIDATION provides the option of adding shipment pairs to the work assignment string, instead of individual shipments.    

Concurrent Savings (Recommended Option)

MULTISTOP CONSOLIDATION ALGORITHM = Concurrent Savings

The concurrent savings algorithm works by consolidating the best savings pairs in the order of the savings. At any stage of the multi-stop logic using concurrent savings, there could be several multi-stop shipments that are partially formed. This approach tends to pair up shipments that have big savings. Here is a sample of how the concurrent savings logic might consolidate:

  • Shipment12 = Shipment1 +Shipment 2
  • Shipment35 = Shipment3 + Shipment5
  • Shipment124 = Shipment12 + Shipment4

Once two shipments are consolidated, they cannot be separated. In the example above, the logic will not create Shipment1234 by separating shipments 3 and 5 and then combining 3 with Shipment124.

Look Ahead Savings

MULTISTOP CONSOLIDATION ALGORITHM = Look Ahead

There are times when combining two shipments might be more attractive than other pairs. However, Oracle Transportation Management might not combine these shipments. The concurrent savings algorithm described above suffers from the possibility of combining two shipments too early. The look ahead savings algorithm ranks the shipments based on the difference of the savings of the first best pair and second best pair. The shipment that has the greatest difference in savings will be selected and its best pair will be chosen for combining.

Iterative Savings

MULTISTOP CONSOLIDATION ALGORITHM = Iterative Savings

In this algorithm, OTM increases the search space to look for an optimal route. It follows an approach similar to concurrent savings to form routes at each iteration. This is an iterative algorithm. In each iteration, multistop shipments are generated and considered as a potential candidate for the final result. Finally, the set-covering problem is solved to pick the cheapest solution so that all order releases/order movements are fulfilled.

Parameters:

Note: Increasing number of iterations increases run-time almost proportionally in most of the cases but also guarantees a better or same quality solution.

Related Topics