(Volumetric Packing Benchmarks)
I hope you all enjoyed the first read in the series of write-ups on the Lattice 3D packing. Locus has since, been busy improving the core 3D packing algorithm, adding more features and tuning its hyper parameters. We will visit all of these in a dedicated, follow-up article. Until then let’s get into some specifics and numbers. I am sure you will be intrigued by it.
Here are some volumetric packing benchmarks that we obtained for the latest production version of the packing engine.
The benchmarking runs are performed on diverse datasets. Datasets differ from each other mainly w.r.t. variance in the length, breadth, height (L, B, H) attributes of packable cuboids. Also, some are single container packing plans while some are multi-container packing plans.
We ran two kinds of packing runs on the engine :
- Basic and
> Basic type of runs optimise the raw volumetric packing performance.
> MinOverhangs type of runs minimize overhangs to give stable packing while striving to maintain the volumetric packing efficiency. Let’s do a quick survey of the results that we obtained.
Locus192 is a set of synthetically generated 192 cuboids and a cuboid container for which perfect (100%) packing is pre-guaranteed. A quick, under 2-min run yielded 80% volumetric packing. We have seen packing as high as 88% on longer runs on this dataset. A quick MinOverhangs run on the same dataset yielded stable stacking and pleasantly surprised us with a 86% volumetric performance.
Items860 is a dataset of 860 cuboids and a cuboid container. This dataset is drawn from a leading FMCG manufacturer and has much higher variance in the L, B, H axes compared to Locus192. Raw volumetric packing performance is 81%. MinOverhangs and LIFO (last-in-first-out) optimised runs gave a mild reduction in the packed volume but nonetheless a healthy value for the industry.
MultiTruck dataset is from a line-haul, 3rd party logistics company and has the highest variance in the L, B, H axes. We achieved a 77% average volumetric packing performance across 3 vehicles packed. A total of 110 items were packed into these vehicles. MultiTruckLIFO is a LIFO optimised run of the same dataset with which we achieved comparable performance.
MPV205 is also a synthetic dataset picked from operations research literature in the public domain. It was automatically generated by a test data generator program. It consists of 205 cuboid boxes of high L, B, H variance. The Lattice engine managed to pack these cuboids into 130 cuboid bins. The original deterministic heuristic algorithm uses 141 bins to pack 205 boxes. We were able to save 11 bins, compared to the deterministic algorithm, in a long (~1500 s) packing experiment that was run to optimality.
Stay tuned for some further insights on our 3D packing engine. Feel free to reach us at Locus for any further information.
This post was authored by: Pushkar Paranjpe