Skip to main content

What Is the Cutting Stock Problem? A Plain-Language Guide

beginner8 min readUpdated: August 9, 2026
Diagram showing how parts are arranged on a stock sheet — before and after optimization
The cutting stock problem: fitting required parts onto stock sheets with minimal waste

If you’ve ever stood in front of a stack of plywood sheets with a parts list and a pencil, sketching rectangles on the back of an envelope, you already know this problem. You just didn’t know it had a formal name. The cutting stock problem is what happens when you need to slice large raw materials into smaller required pieces and you want to waste as little as possible. It’s a form of bin packing — fitting items into containers with minimal leftover space. Manufacturers, cabinet shops, and hobbyist woodworkers all face it every single day.

What you’ll learn in this guide:

  • What the cutting stock problem actually is (without the academic jargon)
  • Why your brain can’t solve it efficiently past a handful of parts
  • How much extra material manual planning typically wastes
  • What software does differently to find better layouts

The Problem Every Woodworker Knows

Picture this: you’re building a set of kitchen cabinets. You need 14 side panels, 7 shelves, 7 backs, and 14 door panels — 42 parts total, cut from standard 2800×2070 mm sheets. Each part has specific dimensions. Some need the grain running lengthwise, others don’t matter. You’ve got a 3 mm kerf from your table saw to account for.

Now figure out the fewest sheets you can buy to get all 42 parts. Go ahead — try it with a pencil and paper. You’ll spend 20 minutes on the first sheet layout alone, erasing and redrawing. By the third sheet, you’ve lost track of which parts you’ve already placed. And even after all that effort, you have no way of knowing whether a better arrangement exists.

This is the cutting stock problem stripped down to its core: given a set of required pieces and a supply of standard-size stock material, find the arrangement that uses the fewest sheets while producing the least waste.

The Math Behind It (Simplified)

Computer scientists classify the cutting stock problem as “NP-hard.” In practical terms, that means the number of possible arrangements grows so fast with each additional part that no computer can test every single option in a reasonable time frame. Ordering 40 parts alone gives 40 factorial sequences — a number with 48 digits — and that is before you decide where on the sheet each one lands, or which of them get rotated. At 100 parts, roughly one fitted kitchen, the orderings outnumber the atoms in the observable universe by more than seventy orders of magnitude.

0!

ways to order just 40 parts — about 8 followed by 47 zeros, and the ordering is the easy half of the problem

This is the same family of problems first studied by Kantorovich (1939) and later solved with column generation by Gilmore and Gomory (1961). Algorithms don’t try every combination. Instead, they use heuristics — smart shortcuts like first-fit decreasing, column generation, or genetic algorithms — that find near-optimal solutions within seconds. They won’t always find the absolute perfect layout, but they’ll consistently beat any human attempt by a wide margin.

The trade-off is straightforward: a tiny amount of computation time in exchange for measurably less wasted material.

Where Did the Cutting Stock Problem Come From?

It was formalised inside industry rather than inside a university, by people trying to stop expensive raw material turning into offcuts.

Kantorovich wrote the first version while consulting for a plywood trust on how to plan production with the least waste — work later recognised with a Nobel Memorial Prize in economics. The practical solution method arrived from a different industry two decades on: a paper mill produces master rolls of one fixed width and has to slit them into the narrower widths its customers ordered. Every combination of widths that fits across a roll is one cutting pattern, and the list of possible patterns is far too long to write down. Gilmore and Gomory’s answer was not to write it down — generate only the patterns the solution turns out to need.

That vocabulary survives on your shop floor. A layout on a single sheet is a pattern; a cutting plan is a set of patterns plus how many sheets to run of each. When an optimizer reports “three sheets like this, one like that”, it is handing you the same shape of answer the 1961 method produced for paper mills, applied to plywood.

One Dimension or Two — and Why It Matters

The same problem shows up in two shapes, and they stop being equally difficult the moment you try to cut them.

In one dimension only length matters — bars, pipes, profiles, timber lengths, a roll of edge banding. There is exactly one way for a part to sit on a bar, so the whole decision is which cuts come off which stock length. This is the original form; the paper mill’s slitting problem is a 1D problem.

Two dimensions give a part a width, a height, and often the freedom to rotate, so one sheet has an enormous number of arrangements instead of one ordering. That is where the combinatorial explosion above comes from.

Then reality adds a constraint the textbook version does not have: guillotine cutting. A panel saw, and a table saw for that matter, can only make cuts that run edge to edge across whatever board is on the table at that moment. You cannot cut a notch out of the middle of a sheet. A layout that packs beautifully but needs a cut stopping halfway across is not a plan, it is a picture. Free nesting — parts sitting anywhere, in any orientation — belongs to a CNC router, which cuts each outline on its own. That single constraint is why a layout that is optimal on paper can be unbuildable in your shop. 1D vs 2D cutting optimization covers where the line falls.

Why Manual Calculation Always Wastes More

Let’s walk through a concrete example. You need 5 large panels from a standard European sheet (2800×2070 mm):

  • 2× side panels: 2100×600 mm
  • 2× shelves: 800×500 mm
  • 1× back panel: 2100×800 mm

Manually, most people place the biggest pieces first and fit smaller ones in the gaps. With a spreadsheet, you can track area usage but still can’t test rotations or alternative arrangements quickly. An optimizer algorithm evaluates hundreds of layout variations in under a second.

MethodWaste %Time SpentSheets Used
Manual (pencil & paper)25–35%20–40 min2
Spreadsheet tracking18–25%15–30 min2
Optimization software8–14%Under 10 sec1–2

Manual vs. optimized waste

Before30%
After11%
-63%waste reduction

That difference matters fast. At $50–70 per sheet, saving even one sheet on a kitchen project pays for itself immediately. On a production run of 50 cabinets, the savings compound into thousands of dollars.

💰 How much could you save per year?

Estimated annual savings
$2,970
54 fewer sheets·28%10% waste

Real-World Use Cases

The cutting stock problem shows up everywhere materials get cut from standard stock sizes:

  • Cabinetmaking and furniture production — Melamine, MDF, and plywood panels cut to dozens of part sizes per project. Grain direction constraints make it harder.
  • CNC nesting — Automated cutting machines need a layout file. The optimizer generates it directly, eliminating manual nesting on the machine controller.
  • Sheet metal fabrication — Steel and aluminum sheets cost significantly more per square meter, so even 3–5% waste reduction translates into serious money.
  • Glass and tile cutting — Fragile materials where incorrect cuts can’t be reused. Getting the layout right the first time prevents expensive mistakes.
  • Linear cutting (1D) — Bars, pipes, profiles, and lumber lengths. Same problem, one fewer dimension. Still NP-hard with enough parts.

How Cutting Optimization Software Solves It

The process is simpler than you’d expect. You enter your required parts — dimensions, quantities, grain direction if applicable. You specify your stock sheet size (or multiple sizes if your supplier offers them). You set the kerf width for your saw blade, typically 3–4 mm. Then you click optimize.

Behind the scenes, the software runs a series of algorithmic passes. It tries different part placements, rotations (when grain allows it), and sheet arrangements. It evaluates each layout by total waste percentage and number of sheets required. Within seconds, it returns a cutting plan — a visual map of exactly where each part goes on each sheet.

You get a printable layout, a parts list with positions, and clear waste numbers. No guesswork, no redrawing, no missed parts.

Pro tip: When entering parts into an optimizer, always double-check that your kerf setting matches your actual blade. A 3 mm kerf entered as 0 mm can shift every cut on the sheet, leaving parts that are too narrow to use.

Can It Be Solved Perfectly?

On a small job, yes — and it can even be proved. On a large one, no, and that matters less than it sounds.

The proof comes from a lower bound, which an optimizer can work out before arranging anything. Add up the area of every part, divide by the area of one sheet, round up: that is the fewest sheets any plan could possibly use, because material cannot be created. If the plan the software finds uses exactly that many sheets, there is no better plan — not “none was found”, but none exists. That is the difference between a good answer and a proven one.

When a plan lands above the bound, the gap has two possible explanations and you usually cannot tell which. Either a better arrangement is waiting to be found, or the bound was never reachable for your part sizes — an area sum has no idea that three 900 mm parts will not fit across a 2070 mm sheet no matter how they are turned. The bound is a floor, not a promise.

Does letting the search run longer produce a better plan? Up to a point. The large gains arrive first, because the obviously better placements are the easiest to find; after that the search is largely confirming that what it already has is hard to beat. A slow answer is almost never the reason a job wasted material. The inputs are — a wrong kerf, a missing part, a stock size you cannot actually buy.

See how much material you can save

No signup required — paste your cut list and get an optimized layout in seconds

Try the free optimizer

Frequently asked questions

What is the cutting stock problem in simple terms?
The cutting stock problem is about finding the best way to cut large sheets or bars of material into smaller required pieces while wasting as little material as possible.
Why is the cutting stock problem considered hard to solve?
It is classified as an NP-hard combinatorial optimization problem, meaning the number of possible cutting arrangements grows exponentially with the number of required pieces, making brute-force solutions impractical.
Is the cutting stock problem the same as bin packing?
They are close relatives rather than the same thing. Bin packing asks how few containers fit a set of items; cutting stock asks how to cut a set of parts from stock of a given size, which brings in the saw kerf, the direction of the cuts and whether the machine can make them at all.
Can the cutting stock problem be solved exactly?
For small jobs, yes, and the answer is provably the best possible. As the number of distinct part sizes grows, exact methods become impractical, which is why production tools use a search that finds a very good plan quickly instead of the perfect one eventually.
Does letting the software run longer produce a better plan?
Up to a point, and then it stops mattering. Most of the gain arrives early; beyond that the search is usually confirming that the plan it already has is hard to beat, which is why a fast answer is rarely the reason a job wastes material.

Related

Ready to optimize your cuts?

Try CutOptim free — no signup required.

Open App