How to use it
- 1. Set the carton mixWidth, depth and quantity per type with the +/− steppers - everything repacks instantly.
- 2. Compare the packersLeft: FFDH (first-fit decreasing height) shelf heuristic, no rotation. Right: guillotine search over 6 orderings, rotation allowed.
- 3. Watch the dockCartons that don't fit land in the dashed "left on the dock" strip below each pallet.
- 4. Read the sensitivityThe bar chart shows how utilisation moves as you change the mix of Type 1.
Interactive studio
Carton types (mm & qty)
Sizes step by 50 mm. The pallet is 1165×1165 mm; a carton wider than the deck can never be placed.
Sensitivity - utilisation vs Type 1 quantity
Search-packer utilisation as Type 1 quantity sweeps 0→10 with everything else fixed. The marked bar is your current setting.
FFDH shelf - sort by depth, tallest first; each carton goes on the first shelf where it fits, else a new shelf opens; no rotation. Utilisation –.
Guillotine search - 6 orderings × best-fit free rectangles, rotation allowed; best result kept. Utilisation –.
Try these experiments
- Make FFDH lose to the search: mix one wide-flat type with tall-narrow ones - shelves strand space that rotation recovers.
- Find a mix with >92% utilisation - small filler cartons in the gaps are the trick.
- Replace one 600×400 carton with two 300×400 of the same total area and compare - smaller pieces pack tighter, same area is not same packability.
About this tool
The concept
Loading a pallet is 2D bin packing - NP-hard, so real WMS engines run heuristics. Wasted deck area is freight paid for shipping air.
How it works
FFDH sorts cartons by depth and places each on the first shelf with room, opening a new shelf only when none fits; the guillotine search keeps a list of free rectangles, places best-fit with rotation, and tries several item orders.
Winning strategy
Place large, regular cartons first and fill voids with small ones. Watch stranded slivers - one bad early placement can cost a whole row.