PackMize methodology
PackMize separates a strong solution from a proven optimum. This page explains the algorithms, bounds and limits behind that distinction.
1. Deterministic calculation
PackMize does not use a language model to produce mathematical results. Dimensions are normalized to millimetres internally, weight is handled in kilograms, and the same validated inputs produce the same result with the same engine version.
2. What “PROVEN OPTIMAL” means
PackMize shows PROVEN OPTIMAL only when the returned solution reaches a valid mathematical bound for the modeled problem, or when an exact search establishes that no better solution exists. If that proof is unavailable, the result is labelled BEST SOLUTION FOUND. A good heuristic result is never presented as a proof.
3. Pallet optimization — PMZ-PALLET 3.6.0
The pallet engine treats the pallet base and cartons as rectangles. It evaluates aligned grids, rotated grids, mixed stripe patterns and several MaxRects placement scores. The strongest tested layer is repeated vertically until maximum total height, payload capacity or requested quantity becomes limiting.
The standard pallet field Maximum payload means cargo capacity. Pallet tare is added when gross pallet weight is displayed; tare is not subtracted from the payload rating. For optimality, PackMize calculates an area-based upper bound for boxes per layer. If the selected layer reaches that bound and the final stack also reaches the active height, payload or quantity bound, the result can be marked PROVEN OPTIMAL.
Actual first-layer coverage uses only cartons assigned to the first layer. Potential coverage describes a full layer. Available-volume utilization divides loaded carton volume by usable footprint × maximum available stacking height. Occupied-envelope compactness uses the actual occupied height instead. These metrics answer different questions.
4. Container loading — PMZ-CONTAINER 3.6.0
The container engine generates all box orientations reachable through the enabled rotation axes. Feasible orientations are grouped by layer height. For each height, several 2D layer strategies are evaluated. A dynamic-programming step then combines layer heights to maximize carton count within the usable container height. The height search uses a conservative grid of at most 60,000 states (at least 0.1 mm per step); layer costs round upward while actual box heights are retained. The engine also tests homogeneous and two-height combinations using real heights, recovering fits such as three 333.33 mm cartons in 1000 mm. Other fine combinations may still be missed; no height is rounded down to create fit. Extreme cases above 100,000 possible layers are rejected explicitly.
Door dimensions are checked in the carton orientation used by the layout. Single-SKU, Multi-SKU and manual validation use the same conservative rule; rotation or tilting inside the doorway is not simulated. The final result is capped by payload and requested quantity. A volume-based upper bound provides a proof only when the returned box count reaches that bound; otherwise the engine remains explicitly heuristic. It does not model loading sequence, stability or center of gravity. For mixed orders, see the dedicated Multi-SKU method below.
5. 2D sheet cutting — PMZ-SHEET 3.6.0
Quantities expand to distinct rectangular pieces. Edge trim is removed first. General nesting compares 35 deterministic combinations (seven orders × five MaxRects scores). Kerf separates adjacent parts, while the reserved strip may extend outside the usable boundary: an existing sheet edge needs no extra kerf. This permits two 1000 × 498.5 mm pieces on a 1000 × 1000 mm sheet with a 3 mm separating cut.
Optional Guillotine mode compares 14 combinations (seven orders × two split directions). Every generated cut crosses its current subpanel from edge to edge; the ordered sequence and residual rectangles are shown and exported in CSV. Trim is applied before that sequence. Clamping, grain, defects, finishing tolerances and machine control remain separate inputs or production checks.
The sheet-count lower bound is the ceiling of total finished-piece area divided by usable sheet area. It deliberately excludes artificial per-piece kerf inflation. Only a complete feasible plan reaching this valid bound is marked PROVEN OPTIMAL. The proof concerns sheet count. Reports separate finished parts, trim, kerf/spacing allowance and disjoint potential offcuts. General-nesting offcuts describe geometry; guillotine offcuts come from the reported cut sequence. A minimum-side threshold identifies potentially reusable rectangles, not guaranteed scrap value.
6. 1D linear cutting — PMZ-LINEAR 3.6.0
The engine compares deterministic first-fit and best-fit orders. It runs a branch-and-bound search with symmetry reduction for up to 26 pieces and a 300,000-node budget. End trim is subtracted at both ends before optimization; enter a total end allowance including any trim-cut loss.
Between pieces, kerf consumes n−1 gaps. By default, an additional terminal cut separates the last piece from any remaining stock; material loss is clipped at the stock edge. The explicit legacy mode counts only between-piece gaps. For 1000 mm stock, three 300 mm parts and 10 mm kerf, the default result is 900 mm finished material, 30 mm saw loss and 70 mm offcut. A zero residual uses the stock edge without another separation.
The stock-count bound transforms each part to length + kerf and each usable stock to usable length + kerf. A final cut into the remaining offcut cannot remove a finished part, so it changes the loss/offcut breakdown rather than the number of parts fitting. PROVEN OPTIMAL requires reaching this bound or a completed exact search. Reports separate trim, saw loss and offcuts, including those meeting the selected reuse threshold. With limited stock, displayed totals describe the assigned partial plan and full-order yield is shown separately.
7. Multi-SKU planning — PMZ-MULTI 3.6.0
The Multi-SKU planner operates on project quantities rather than one repeated carton. The current release provides three deterministic modes: Layer-safe, Support-aware 3D and Hybrid. Layer-safe tests seven item-order strategies against five MaxRects scores for compatible layer-height candidates. When a compatible layer is effectively homogeneous, it also evaluates the same aligned grid, rotated grid and mixed-stripe footprint candidates used by the dedicated single-SKU packing engine. For every layer above the base, each candidate strategy is filtered against the real geometry below before it competes: an elevated carton is accepted only when the configured footprint-support threshold and center-support rule are satisfied. Support-aware 3D applies the same geometric support rule while allowing cartons to begin at different Z levels. Hybrid runs both models within the safety limits and keeps the stronger feasible plan, preferring fewer loads and then better utilization/compactness.
Per-SKU 90° footprint rotation, stackability, priority, group, usable height, payload and clearance are enforced. Group handling can be ignored, preferred during ordering, or made strict so different groups cannot share a pallet/container. A non-stackable carton is never used as a supporting surface in either Layer-safe or Support-aware 3D. Priorities influence allocation order. Delivery stop order is separate: for direct containers, stop 1 is the first delivery, the support-aware engine biases later stops deeper from the x=0 door, and the final geometry is audited for later-stop cartons blocking an earlier-stop carton's y-z exit corridor.
The current release also reports a geometric center of gravity for each load, longitudinal door/rear weight split and lateral left/right split. Vehicle Load Balance can additionally compute static reactions at two user-configured longitudinal supports, add user-entered tare reactions, and compare against optional user-entered limits. For semitrailers the reported supports are the trailer bogie and kingpin; kingpin reaction is not a tractor axle-load calculation. These remain planning diagnostics, not statutory axle certification. A manual editor can change x/y/z coordinates, rotate an allowed carton 90°, or move a carton between existing loads or into a new load; PackMize rejects edits that make either source or destination exceed bounds, collide, fail the door constraint, payload constraint, strict group rule or geometric-support rule. IDs remain unique across loads, and derived palletized-container estimates refresh after edits and reset. Accepted edits invalidate any previous minimal-count proof label because the plan is no longer the untouched optimizer output.
The support-aware model is intentionally conservative. It does not tilt cartons, calculate crush strength, infer friction or certify physical stability. A support threshold is a geometric footprint rule only. To keep the browser responsive, support-aware 3D is limited to 120 SKUs and 2,200 units per run; Hybrid automatically falls back to the layer-safe engine above that threshold. The overall planner still accepts up to 250 SKUs and 10,000 units.
For each shipment PackMize calculates a hard lower bound from total product volume and payload; with strict group separation, bounds are calculated per group and summed. When every gross SKU weight is known, every requested unit is loaded and the returned pallet/container count equals that bound, the load count is marked PROVEN MINIMAL. That statement applies only to the number of loads under the modeled constraints; it does not prove that every placement or operational sequence is globally optimal. Otherwise the planner reports BEST SOLUTION FOUND.
The optional palletized-container estimate packs generated pallets onto the container floor without stacking pallets. It checks container height, the door opening in the loaded-pallet orientation, and payload but remains a geometric floor-load estimate rather than a full vehicle axle-compliance or lashing analysis. Vehicle Load Balance is a separate two-support statics model.
8. Why bounds matter
Packing and cutting are combinatorial optimization problems. For many instances, finding or proving the global optimum becomes computationally expensive. Publishing the bound and the result status makes the uncertainty visible instead of hiding it behind a percentage or a generic “optimized” label.
9. What PackMize does not model
Packing results do not account for carton crush strength, dynamic stability, lashing, full legal axle compliance, dangerous-goods rules, complete forklift manoeuvring or manufacturer-specific limits unless explicitly entered. The Multi-SKU planner does report geometric cargo CoG, stop-access diagnostics and, in Vehicle Load Balance mode, two-support static reactions from configured geometry. Sheet cutting offers general nesting and a separate guillotine mode. Cutting results do not generate CNC toolpaths and do not account for material defects, clamping, machine reach or production sequencing unless explicitly represented in the inputs.
10. Inputs, snapshots and comparisons
Enter outside shipping-carton dimensions and gross weight including packaging. Blank or zero Multi-SKU weight means unknown: geometry remains available, but complete payload, center-of-gravity, support reactions and minimum-load proof are withheld. Numeric import errors identify the data row before changes are saved; quantities and stop orders must be whole numbers.
New saved plans retain the exact order, dimensions, weights, constraints, coordinates, engine version and timestamp. Reopening restores validated saved geometry. Legacy plans without geometry are explicitly identified as recalculations. Scenario handoff preserves the complete compared inputs; saved comparisons are re-evaluated with the current engine when opened in the planner. Equipment cost must be explicit for a comparable total; handling-only amounts are marked partial. Cost per unit and savings are shown only for complete, comparable orders.
11. Standard dimensions and reference sources
Preset dimensions are stored separately from the engine in configuration files. The volume_m3 field is derived from those internal dimensions; nominal_volume_m3 preserves the rounded planning indication. These should not be confused with usable volume after clearance. Pallet construction/load ratings and container dimensions can vary by pool, manufacturer and equipment series, so operational users should enter actual dimensions and ratings when precision matters.
PackMize documents the external reference layer separately at Sources & assumptions. Published standards, pallet-association data and carrier equipment pages are used to explain reference dimensions and variation; they do not silently override the explicit numeric inputs shown in the calculators.
12. References and worked examples
The MaxRects family is described in Jukka Jylänki’s RectangleBinPack research and implementation. PackMize uses its own implementation, constraints and result labels; the reference is not an external certification of this software.
Follow a pallet example, a container example, a sheet cut list or a linear cut list.