Product segregation: do not mix load classes
By Nathan ColeUpdated
Some goods cannot share a cargo bay: an unpartitioned van cannot carry frozen and dry groceries together, food cannot be mixed with detergents, and feed cannot be mixed with fertilizer. An order can specify its Load class. A vehicle can restrict load classes that must never travel together in Do not mix load classes groups. The optimizer never puts two classes from one group on the same route of that vehicle.
In this tutorial plan the open-bay City van must not mix frozen and dry goods, while the partitioned Box truck may:
Classes and groups
- An order sets one Load class, a class name you invent ("frozen", "dry", "hazmat"). Spelling must match across orders, like tags. An order with no class never conflicts with anything.
- A vehicle has Do not mix load classes groups, each a list of class names. Two classes listed in one group never share a route of that vehicle. The group binds the whole route, so a reload does not lift the rule. Frozen in the morning trip and dry in the afternoon trip is still one route, and still forbidden.
- The setting is per vehicle. The same two classes can be segregated on the open-bay van and mixable on the truck with a bulkhead. A vehicle with no groups may carry any mix.
- Groups are independent of each other. A vehicle with the groups "frozen, dry" and "fish, dairy" may not combine frozen with dry or fish with dairy, but frozen with fish is allowed.
- A group needs at least two distinct classes. The optimizer ignores incomplete groups, and the editor warns about them. A class that no order names has no effect, so a fleet-wide template group changes nothing.
What the optimizer does
Segregation is a hard constraint. The optimizer never mixes incompatible load classes. In the tutorial plan above, the orders do not fit one vehicle, so the optimizer uses both. Every routing plan keeps the City van single-class. The van serves frozen orders and a classless one, while the Box truck, which has no group, may carry dry and frozen goods on one route.
If no compatible arrangement can fit an order, it goes unassigned under the Product segregation category.
An optimizer-built route never violates a group. The route problem "Mixes incompatible product classes on one vehicle (A, B)" appears only after manual edits, when a drag has put two segregated classes onto one route. See Problems and warnings.
Transfers
Both orders of a pickup & delivery transfer must have the same Load class. When the two orders name different classes, the editor shows a warning on the order, and the optimizer leaves both orders unassigned. The rest of the plan still optimizes.
In spreadsheets
Orders take a Load class column with one class name per order. Vehicles
take a Do not mix column where ; separates groups and , separates
classes inside a group. The cell frozen, dry; fish, dairy encodes the
two independent groups from the example above. See the
column reference.
Next step
Segregation constrains which goods may share a route. Tags constrain which vehicle may serve an order at all. For how reload trips work, see Multiple depots, open routes, and reloads.
FAQ
How do I keep frozen and dry goods off the same route?
Give each order a Load class, a class name you invent, and list the classes the vehicle must never carry together in one of its Do not mix load classes groups. The optimizer never puts two classes from one group on the same route of that vehicle.
Does a reload reset the segregation rule?
No. The group binds the whole route, so a reload does not lift the rule: frozen in the morning trip and dry in the afternoon trip is still one route, and still forbidden. When no compatible arrangement can fit an order, it goes unassigned under the Product segregation category.
Can the same classes mix on one vehicle but not another?
Yes, the setting is per vehicle: the same two classes can be segregated on the open-bay van and mixable on the truck with a bulkhead. A vehicle with no groups may carry any mix, and groups are independent: frozen with dry forbidden and fish with dairy forbidden still allows frozen with fish.
How are load classes set in a spreadsheet?
Orders take a Load class column with one class name per order, and vehicles take a Do not mix column where a semicolon separates groups and a comma separates classes inside a group. The cell frozen, dry; fish, dairy encodes two independent groups. Spelling must match across orders.