Quality against six other engines, on datasets anyone can rerun.
From the pinned comparator sweep in the release artifacts. Utilisation and packed fraction are recomputed by our own validator from the placements it accepted, so no engine's self-report is used.
3 item types, 5 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 86.06% | 90.50% | Pareto-optimal |
| packingsolver | 89.02% | 84.14% | Pareto-optimal |
| boxpacker | 81.84% | 73.84% | dominated |
| 3D-bin-packing | 80.50% | 67.32% | dominated |
| 3dbinpacking | 67.40% | 80.90% | dominated |
| xflp | 56.68% | 63.16% | dominated |
| 3d-bin-container-packing | — | — | not applicable — all-or-nothing by construction: returns nothing rather than a best effort |
12 item types, 3 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 83.88% | 89.19% | Pareto-optimal |
| packingsolver | 85.44% | 87.27% | Pareto-optimal |
| boxpacker | 79.87% | 75.19% | dominated |
| xflp | 69.73% | 72.02% | dominated |
| 3dbinpacking | 53.29% | 75.61% | dominated |
| 3D-bin-packing | 53.50% | 49.07% | disqualified — rejected by our validator on one instance: collision |
| 3d-bin-container-packing | — | — | not applicable — all-or-nothing by construction: returns nothing rather than a best effort |
20 item types, 3 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 82.82% | 87.03% | Pareto-optimal |
| packingsolver | 82.97% | 78.58% | Pareto-optimal |
| 3D-bin-packing | 83.48% | 75.41% | Pareto-optimal |
| boxpacker | 74.28% | 67.25% | dominated |
| xflp | 67.09% | 74.71% | dominated |
| 3dbinpacking | 50.83% | 72.18% | dominated |
| 3d-bin-container-packing | — | — | not applicable — all-or-nothing by construction: returns nothing rather than a best effort |
Volume utilisation against packed fraction, on br1.
Volume utilisation against packed fraction on the pinned OR-Library profile. Bars are recomputed from the placements our validator accepted, and nothing is blended into a single score.
Two axes, and no blended score.
An engine is Pareto-optimal when nothing beat it on every axis at once. Runtime is recorded per run but is deliberately not an axis: one competitor only builds for linux/amd64 and runs under emulation here, so ranking that mixture would compare host arrangements rather than engines. Until a fair speed frontier is published, a fastest-engine claim is not one this project is entitled to make.