Constraints & Rules
The LOP optimizer operates within a constraint system that reflects the physical realities of cargo loading. Constraints fall into two categories: hard constraints that can never be violated, and soft constraints that the optimizer tries to satisfy but will trade off against each other to find the best overall plan.
Understanding constraints helps you configure item properties correctly, interpret plan violations, and make informed decisions when manual editing.
The Constraints panel now lives at the bottom of the right panel (the AI Analysis side). It collapses together with the right panel. It used to sit at the bottom of the left Items Panel.
Hard Constraints
Hard constraints are absolute rules. The optimizer never produces a placement that violates a hard constraint. If satisfying a hard constraint is impossible for a given item — because there is no space left, or the item is too heavy — the item remains unplaced.
Items with hard constraint violations during manual editing are highlighted in red in the 3D viewport with a specific violation message.
No Overlapping Items
No two items may occupy the same physical space. Every item's axis-aligned bounding box (AABB) must be completely non-overlapping with every other item's AABB.
This is the most fundamental geometric constraint. The optimizer uses collision detection on every candidate placement. During manual editing, dragging an item into a space occupied by another item is blocked — the item snaps to the nearest valid adjacent position.
Items Fully Inside Container Bounds
Every part of every item must be within the container's inner walls, floor, and ceiling. An item cannot protrude through a wall, floor, or roof panel.
Validate reports a hard door_passage violation for each placed item, pallet or rack whose placed width or height exceeds the container’s door width or height. A pallet or rack is checked as one composite body; STEP items use their placed bounding box. Equality passes: this is a nominal aperture check with no clearance margin, rotation search or transit simulation. The solver does not refuse the placement on this basis, and the check does not block manual placement.
Open-top, open-side and curtain-sided containers/trucks, and containers without a door, are not checked. Custom containers are checked against the door dimensions entered.
Total Weight Within Max Payload
The combined weight of all placed items must not exceed the container's maximum payload. The optimizer monitors cumulative weight in real time during the solving process and will leave items unplaced rather than exceed the payload limit.
In manual editing, adding or moving an item that pushes the total over the payload limit triggers an immediate violation flag on the payload metric.
Payload limits are specified per-container. In a multi-container plan, each container's payload limit is tracked independently. It is possible for one container to be at its weight limit while others still have available payload capacity.
Orientation Locks Respected
If an item's orientation is set to This Side Up, only orientations that keep the item's designated top face pointing upward are considered during placement and manual rotation. The optimizer will never place a This Side Up item on its side or upside down.
Similarly, Vertical Only items are only placed standing upright, and Horizontal Only items are never placed standing on an end.
Hazmat Separation Distances
Items carrying hazmat separation tags must maintain minimum separation distances from other incompatible items. These distances are hard-coded compliance rules based on regulatory requirements:
| Combination | Minimum Separation |
|---|---|
| Hazmat Class 1 ↔ Hazmat Class 2 | 3,000 mm |
| Any hazmat ↔ Food cargo | 5,000 mm |
| Wet/liquid cargo ↔ Food cargo | 3,000 mm |
If the container is too small to physically separate two incompatible items by the required distance, both items remain unplaced. The violation is reported with the specific tag combination and distance shortfall.
Hazmat separation is a regulatory requirement, not a suggestion. Never override or work around hazmat violations by disabling separation tags on items. If your container cannot accommodate the required separation distance, use separate containers for incompatible cargo.
Nothing Stacked on Fragile Items
Items marked as Fragile cannot have any other items placed on top of them. The optimizer treats the top face of fragile items as unusable stacking surface.
If a fragile item is placed and then another item is manually dragged onto its top face, LOP immediately flags a hard constraint violation.
Stacking Weight and Crush Strength Limits
Two separate hard limits govern what may be stacked on an item, and they use different units:
- Max Weight on Top (kg) — the total cumulative weight of everything above the item. The optimizer sums the load above and rejects any placement that pushes it past the limit.
- Crush strength (kg/m²) — a pressure limit. The optimizer divides the load above by the item's top-face area and rejects placements where the resulting pressure exceeds the rating.
An item can carry either limit, both, or neither. Both are enforced during placement and re-checked on every validation.
During manual editing, adding items above a crush-sensitive item and exceeding its limit triggers an immediate violation.
Soft Constraints
Soft constraints are optimization targets. The optimizer tries to satisfy all of them, but when a perfect solution does not exist, it finds the best available trade-off. Violations of soft constraints reduce the relevant quality score but do not make a plan invalid or block export.
Center of Gravity Near Container Center
The weighted center of gravity (CoG) of all placed items should be close to the container's geometric center. The scoring thresholds are:
| Axis | Target | Penalty zone |
|---|---|---|
| Lateral (left-right) | Within ±10% of container width | Beyond ±20%: reported as a hard violation |
| Longitudinal (front-back) | Within ±10% of container length | Beyond ±20%: reported as a hard violation |
The same ±10% tolerance applies to both horizontal axes. Vertical CoG height is not checked — LOP does not evaluate how high the center of gravity sits, and no plan is validated against a vertical-CoG limit.
CoG position is shown graphically in the CoG minimap (bottom-right of the viewport) and in the 3D viewport as a sphere indicator. The indicator changes color from green to yellow to red as the CoG moves further from center.
Support Ratio ≥ 70%
Every item's bottom face should be at least 70% supported from below — either resting on the container floor, or resting on the top surface of items placed below it.
Items with a support ratio below 70% are at risk of tipping, rocking, or shifting during transport. The optimizer penalizes low support ratios in the Stability score. During manual editing, items with a support ratio warning are shown with an amber outline in the viewport.
Same-Group Items Placed Together
Items assigned to the same Group ID should be placed in adjacent positions. This is a soft clustering constraint: the optimizer scores higher plans that keep related items close together, making selective unloading and inventory management easier.
Group proximity is used for same-destination cargo, same-product batches, and kits that should stay together.
Heavy Items Below Light Items
The optimizer prefers arrangements where heavier items are lower in the container and lighter items are higher. This reflects good stacking practice: placing a 500 kg pallet on top of a 20 kg carton column would almost certainly exceed the carton's crush strength and create a stability hazard.
This is enforced as a soft preference to handle edge cases where geometry or other constraints make perfect weight layering impossible. The Stability and Damage Risk scores both reflect how well this principle is followed.
Viewing Violations in the Editor
During optimization: After the solver finishes, any items with constraint violations that could not be resolved are left unplaced and listed in the Unplaced Items section of the Items Panel with the reason they could not be placed.
After manual edits: Click Validate in the score panel.
- The score panel lists constraint records, with hard violations first and soft warnings after them. Each record shows its rule, message and container.
- In Smart Plan (Balanced) and Max Fill modes, the Space Utilization note shows the number of hard balance violations when that count is greater than zero.
In the report: The PDF export includes a compliance section listing all violations, warnings, and advisory notes (lashing requirements, void filler suggestions, dunnage recommendations).
Advisory Rules (Informational Only)
In addition to hard and soft constraints, LOP generates advisory notes that are not part of scoring but appear in the AI analysis and PDF report:
- Items taller than 1.5× their width should be lashed or secured
- Items heavier than 500 kg require lashing
- LOP does not assess lashing requirements for items within 500 mm of the door
- Gaps larger than 100 mm between item groups suggest void filler dunnage
These advisories help warehouse staff prepare the physical loading operation correctly. They do not affect plan scores.
Next Steps
- Understanding Scores — how constraint satisfaction translates into quality scores
- Manual Editing — resolving violations by adjusting placements
- Items: Properties Reference — how to configure fragility, orientation, hazmat, and crush limits on individual items