Packing Optimizer

No data sent

Plan how to cut and pack with the least waste: cut lengths from bars and pipes (1D), cut rectangles from sheets and boards (2D), or load boxes into containers, trucks and pallets (3D). Uses the fewest bars, sheets or containers, allows for the saw kerf, and draws every pattern. Runs in your browser.

About this tool

What does Packing Optimizer do?

It plans how to cut or pack items with the fewest pieces of stock. Choose the dimension at the top:

DimensionWhat it plansExamples
LengthPieces cut from stock of one or several lengths (with stock on hand, prices and leftovers), or items packed into bins by sizeLumber, steel bars, pipes, cables, rolls; files on disks, tasks in time slots
AreaRectangles cut from sheets of one sizePlywood, MDF, glass, metal sheets, fabric, paper
VolumeBoxes loaded into containers of one sizeShipping containers, trucks and vans, pallets, cartons

How to use

  1. Choose Length (1D), Area (2D) or Volume (3D).
  2. Enter the stock: one or more bar lengths (each with the quantity you have — empty for as many as needed — an optional price, and whether it is a leftover to use first), the sheet width and height, or the inside length, width and height of the container (or pick a preset such as a 20' or 40' container). Enter the kerf (the width lost at each saw cut) for cutting, and the unit.
  3. Add the pieces or boxes with their sizes and quantities. For sheets, choose whether each piece can rotate (turn off for wood grain or patterned material). For boxes, choose Any way, Keep upright (only turned on the floor, for boxes that must stay this side up) or As entered, and optionally a weight with a max weight per container.
  4. Click Optimize. Length shows each cutting pattern as a bar; Area draws each sheet with the pieces and the leftover; Volume draws each container in 3D and from the top. Download the plan as CSV.

How it works

  • Length: a greedy plan (largest pieces first, into the bar where they fit best, opening the stock that costs least per length), then an exact search (HiGHS, mixed-integer programming) up to the time limit. With several stock lengths, it chooses which lengths to use: with prices, for the lowest cost; without, for the least length of stock (the least waste). Stock with a quantity is limited to what you have; leftovers (offcuts on hand) are used first. With kerf, n pieces from a bar need n − 1 cuts.
  • Area: the MaxRects method (the free space is kept as overlapping rectangles, and each piece goes where it fits best), tried with several orders (largest area, longest side, perimeter…) and rules, then with small changes to the order until the time limit. Straight cuts only makes layouts that a panel saw can cut with edge-to-edge (guillotine) cuts. The kerf is kept between pieces.
  • Volume: the extreme-point method: boxes are placed low, at the back and on the left first, at the corners of the boxes already placed, in all allowed orientations. A box is never left floating: at least 70% of its base must stand on the floor or on other boxes. Several orders are tried until the time limit.

Each result shows a lower bound: the total length, area or volume divided by the size of one stock. If the result reaches it, it is the minimum. For area and volume the shapes rarely fit perfectly, so the best plan often needs more than the lower bound.

FAQ

Does it handle several stock sizes?

Not yet: one stock size per plan. Plan each size separately.

Does the container plan include weight distribution, stacking limits or loading order?

Only the total weight limit and the support of each box. Check axle loads, fragile items and the unloading order yourself.

Is the data sent anywhere?

No. Everything runs in your browser and is saved in this browser with the tool.