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.
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.
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:
- CM SEQUENCING ALGORITHM FOR LOW SHIPMENTS = Complete Enumeration
- CM SEQUENCING ALGORITHM FOR HIGH SHIPMENTS = 2-Opt
- CM SEQUENCING ALGORITHM = 3-Opt
- CM SEQUENCING HIGH SHIPMENTS MINIMUM = 8
- CM SEQUENCING LOW SHIPMENTS MAXIMUM = 4
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.
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: