Additional shipments insertion rule
When using the Shipment Constraints table, you have the opportunity to insert additional shipments on routes. The order of the existing shipment sequence on the route is maintained. This feature enables you to fix your routes, then introduce new shipments without reconstructing the entire network. For example:
- You have an outbound network that is routed and fixed. You can introduce return shipments on the existing routes.
- You have locked your transportation routes for the next day, but 3 new orders are received. You can add these new shipments to the existing routes.
Use the Additional Shipments Insertion Rule column to identify where additional shipments can be inserted in the delivery sequence with respect to the shipment in the Shipment Constraint:
- null - If no value is populated, additional shipments cannot be inserted on the route. In this case, the route is fixed to those shipments populated in the Shipment Constraints table for the route.
- Insert After - Additional shipments can be inserted after the shipment in the Shipment Constraint.
- Insert Before - Additional shipments can be inserted before the shipment in the Shipment Constraint.
- Insert Anywhere - Additional shipments can be inserted both before and after the shipment in the Shipment Constraint.
Additional baseline shipments example
You are fixing several shipments on routes using the Shipment Constraints table.
- On route 000001, you want to allow additional shipments to be inserted before those defined in the route sequence.
- On route 000002, additional shipments can be inserted after the shipment defined.
- On route 000003, additional shipments can be inserted anywhere in relation to the shipments already defined.
- Route 000004 is completely fixed, with no additional shipment insertion allowed.
In the Shipment Constraints table, you have the following records defined:
Shipment | Route | Pickup Sequence | Delivery Sequence | Additional Shipments Insertion Rule |
---|---|---|---|---|
CA_10 | 000001 | 1 | 5 | Insert Before |
CA_11 | 000001 | 1 | 6 | Insert Before |
CA_25 | 000002 | 1 | 2 | Insert After |
CA_18 | 000003 | 1 | 2 | Insert Anywhere |
CA_19 | 000003 | 1 | 4 | Insert Anywhere |
CA_22 | 000004 | 1 | 2 | |
CA_23 | 000004 | 1 | 3 | |
CA_34 | 000004 | 1 | 4 |
After running the model, the Delivered Shipments table shows results similar to the following:
Shipment | Route ID | Pickup Stop ID | Delivery Stop Id |
---|---|---|---|
CA_03 | 000001 | 1 | 2 |
CA_02 | 000001 | 1 | 3 |
CA_10 | 000001 | 1 | 4 |
CA_11 | 000001 | 1 | 5 |
CA_25 | 000002 | 6 | 7 |
CA_07 | 000002 | 6 | 8 |
CA_01 | 000002 | 6 | 9 |
CA_04 | 000003 | 10 | 11 |
CA_18 | 000003 | 10 | 12 |
CA_19 | 000003 | 10 | 13 |
CA_08 | 000003 | 15 | 14 |
CA_22 | 000004 | 15 | 16 |
CA_23 | 000004 | 15 | 17 |
CA_24 | 000004 | 15 | 18 |
Additional shipments insertion notes
- The Additional Shipments Insertion Rule is supported for Standard and Interleaved Optimization.
- Shipments that are not currently assigned to routes using the Shipment Constraints table are considered for insertion based on the Additional Shipments Insertion Rule.
- If there are conflicting rules for shipments defined on the same route in Shipment Constraints, then the solver ignores the Additional Shipments Insertion Rule value. It treats this as case as "do not allow shipment insertion for the entire route".
- If some shipments from the same route have Insert Before and others have Insert After, then the solver selects the rule from the first shipment on the route instead of treating it as null. For example, if the first Shipment Constraint record for a route has "Insert After" as the Additional Shipments Insertion Rule and the second Shipment Constraint record for the same route has "Insert Before", all shipments are considered using "Insert After" (the first shipment's rule).
Last modified: Wednesday May 15, 2024