Operational Planning

Bulk Plan Tuning Continuous Moves Logic

A continuous moves tour is a sequence of shipments that are strung together to be tendered to one carrier. Continuous move shipments are typically close together geographically and time wise. Bulk plan will automatically create continuous move tours if the parameter CM AUTO CREATE is set to true.

The continuous moves logic provides different parameter and algorithm choices via various logic parameters in the logic configuration type of CONTINUOUS MOVES. In order to tune the continuous moves logic for solution quality or performance, it is important to understand the related algorithms and their internal workings at a high level.

Continuous Move Tour-Builder Algorithms

Similar to the multi-stop logic, Oracle Transportation Management offers several major algorithms for building continuous move tours:

  • Savings Algorithms (sequential savings and concurrent savings),  
  • Column Generation Algorithm
  • Complete Enumeration Algorithm
  • Greedy Heuristic (legacy continuous moves logic)

The input to these algorithms is a set of shipments from the bulk plan.

Note: The continuous moves logic configuration parameter CM CONSOLIDATION ALGORITHM TYPE should be set to "2. Greedy Heuristic" if the legacy continuous moves logic is to be used.

Sequential Savings builds one tour at a time until that tour is complete. Concurrent nuilds tours by merging two tours at a time. Concurrent indicates that several tours are built simultaneously. Both of these are used by Savings. Column Generation uses repetitive savings algorithm solves, this scheme generates several tours and the best set of tours is obtained through a Mixed Integer Programming Solver. Complete Enumeration creates all combinations of tours from given shipments and selects the best set of tours using a Mixed Integer Programming Solver. Savings is the fastest method, while Column Generation is the next quickest. The highest quality process is Complete Enumeration. They all create Tour Build Algorithms.

Savings Algorithms

In the continuous moves logic, the savings algorithm is used (similar to multi-stop shipments) to create consolidations of continuous move tours by iteratively pairing tours and selecting the tour pair that has the best savings. In this case, the savings in combining every pair of tours is calculated as:

savings = total cost of individual tours – cost of combined tour

Once the savings matrix is created, the pair of tours with the best positive savings is combined and the new savings matrix with the combined tour and the rest of the tours is created. This step continues until there are no combinations that results in positive savings.

The savings calculations can be based on distance or actual cost of the tours. This can be selected by the continuous moves logic configuration parameter CM SAVINGS CALCULATION TYPE. Setting this parameter to Distance based Savings performs distance-based savings calculations. This eliminates the need for detailed cost calculations, reducing the run time of the logic. The other option Cost based Savings causes the logic to run longer, but it computes more accurate savings.

For the continuous moves logic, the savings algorithm is currently available in two types: Sequential Savings and Concurrent Savings.

Concurrent Savings (Recommended Option)

The concurrent savings algorithm works by consolidating the tour pairs in the order of the savings. In this case, several tours are being formed simultaneously at any stage of the algorithm. This algorithm can be used by setting the continuous moves logic configuration parameter CM CONSOLIDATION ALGORITHM TYPE to Concurrent Savings.

Sequential Savings

In sequential savings, the focus is to complete formation of one complete continuous move tour before starting a new tour. This version of the savings algorithm can be used by setting the continuous moves logic configuration parameter CM CONSOLIDATION ALGORITHM TYPE to Sequential Savings.

Complete Enumeration Algorithm

The complete enumeration algorithm can be used for the consolidation of continuous move tours by setting the continuous moves logic configuration parameter CM CONSOLIDATION ALGORITHM TYPE to Complete Enumeration. This algorithm enumerates all possible tour combinations and selects the best set of combinations using a mixed integer programming solver.

Since the complete enumeration algorithm evaluates all possible combinations, it can effectively handle only a limited number of shipments (which is equal to the initial number of tours). The maximum number of shipments that can be considered for complete enumeration can be set using the continuous moves logic configuration parameter CM ENUMERATION MERGE MAX SHIPMENTS.

Note: If the actual number of shipments is more than this parameter value, the concurrent savings algorithm will be used instead of complete enumeration. It is recommended that you set this to CM ENUMERATION MERGE MAX SHIPMENTS to 30.

Column Generation Algorithm

The column generation algorithm can be used for the consolidation of continuous move tours by setting CM CONSOLIDATION ALGORITHM TYPE to Column Generation.

Similar to complete enumeration, the column generation algorithm looks at several tour combinations and selects the best set of combinations. However, column generation considers a much smaller subset of tour combinations and it can be used for larger number of shipments than complete enumeration. The column generation algorithm employs the concurrent savings algorithm for generating the additional columns or solutions. The number of column generation iterations can be controlled by the continuous moves logic configuration parameter CM COLGEN NUMBER OF ITERATIONS. This specifies the number of times the savings algorithm will be invoked in order to generate the solutions. Setting this parameter to 1 consumes almost the same amount of run time as the savings algorithm; however the solution quality is expected to be better.

Sequencing Algorithms

Once a consolidated tour is created by any of the above continuous moves algorithms, the shipments on it must be sequenced so that the total distance (or total cost) is minimized. The sequencing algorithm choices available for the continuous moves logic are:

  • 2-Opt
  • 3-Opt
  • Insertion
  • Complete Enumeration

The following figure presents a comparison of these algorithms.

The different algorithms feed into sequencers. 2-Opt is fastest and iteratively generates new sequences by swapping two links. 3-Opt is next fastest. It iteratively generates new sequences by swapping three links. Insertion is not a fast but higher quality. It inserts the shipment from one tour into the other tour without distorting the original sequence of either tour. And the highest quality, but slowest, is Enumeration. It generates sequences by creating all permutations of the shipments in the tour.

One of the above sequencing algorithms can be selected by the continuous moves logic configuration parameter CM SEQUENCING ALGORITHM.

2-Opt and 3-Opt

2-Opt and 3-Opt algorithms run faster by considering only a subset of all the sequences.

It is recommended that you use the complete enumeration algorithm if the number of shipments on the tour is low and the 2-Opt algorithm if the number of shipments is high. For anything in between, the 3-Opt algorithm can be used.

The continuous moves logic configuration parameter CM SEQUENCING LOW SHIPMENTS MAXIMUM is used to preset the maximum number of combined shipments that can be considered as low. Similarly, the continuous moves logic configuration parameter CM SEQUENCING HIGH SHIPMENTS MINIMUM allows presetting the minimum number of combined shipments that can be considered high.

The following settings are recommended:

Complete Enumeration

The complete enumeration algorithm evaluates all possible sequences of shipments in the tour and selects the best sequence. If a tour has a small number of shipments, say 3 or 4 stops, the complete enumeration algorithm works well and produces highest quality sequences. However, the complete enumeration algorithm will not scale well for large number of shipments (> 8 shipments).

Tour Pairing

Tour pairing logic is used along with the tour-builder and tour-sequencing algorithms to consolidate two continuous move tours into one. The flow chart in the figure below highlights various steps in this pairing process.

Tours 1 and 2 are sent to a Construct Paired Tour. The tour is used to generate shipment sequences. That commits shipments, does 2 and 3-opt, and enumeration. Then it selects the best cost sequence. That process establishes feasibility, cost equipment options, and drive feasibility. Then the Paired CM Tour is created.

The steps in the tour pairing process areas follows. First, combine the tours in a paired tour. Then using the sequencing algorithms, generate shipment sequences. Next the best cost sequence is selected by evaluating equipment, cost and drive feasibility and the continuous move tour is created. These steps are similar to those in the shipment pairing process in the multistep logic.

Various continuous move logic configuration parameters are available to improve performance during the tour pairing process.

Setting the Rate Distance Engine

The continuous moves logic configuration parameter CM RATE DISTANCE ID selects the rate distance engine used to calculate distances during tour paring process. Similar to the multistep logic, it is recommended that you use Estimate. This setting only influences the distances used in the continuous moves logic. The actual rating and the final shipments are still based on the true distances as specified on the rate.

Important Parameters

Additionally, following continuous moves logic configuration parameters are important and can be used to tune performance and solution quality in the continuous moves logic. A low value for these parameters will improve run time at the expense of tour build quality. The recommended values for these continuous moves logic configuration parameter are:

Related Topics