# Bar cutting optimization

One-dimensional cut planning with stock eligibility, kerf, end allowances, integer demand, remnants, objective tradeoffs and executable cut lists.

Reviewed: 2026-11-01

Tags: production, planning, cutting-stock, material-yield

In the worked example, **1,020 mm** bars must supply pieces of **600, 500, 300, 200, 200 and 200 mm**. With **3 mm kerf per piece** and **10 mm end/grip allowance per bar**, first-fit decreasing uses three bars. Packing **600 + 200 + 200** and **500 + 300 + 200** uses **1,019 mm** per bar, including losses. Two bars are optimal for this instance by bar count. The **1 mm** nominal remainder on each leaves little room for omitted tolerances.

Gurobi’s paper-roll model illustrates one-dimensional cutting stock with integer programming and delayed column generation. [Gurobi, Column Generation for the Cutting Stock Problem](https://gurobi.github.io/modeling-examples/colgen-cutting_stock/)

Model angled ends, splicing or subsequent machining only when the actual route permits them.

## Define eligible stock and demand

Identify each demand's part/revision, material grade, section, cut length and tolerance, quantity, end condition, due date and traceability requirements. Identify each available stock item's actual usable length, material/section, lot or heat, status and location. Keep reserved, unreceived, damaged or otherwise unavailable material distinct from stock released for cutting.

Trimble's **Tekla PowerFab 2025** combining documentation separates in-stock and on-order sources and defines exact-match modes that omit kerf/clamp allowance. That behavior is specific to the selected software mode; an inventory match should not be assumed to imply permission to cut with zero loss. [Trimble, combining optimizations, modified September 15, 2026](https://support.tekla.com/doc/tekla-powerfab/2025/req_combining_optimizations_job)

Partition demands into genuinely compatible groups. Equal nominal length does not make different grades, sections, finishes or traceability classes interchangeable. State whether overproduction is forbidden, bounded or charged as inventory. Do not pool unlike stock merely to improve the reported utilization percentage.

## Account for physical length consumption

Autodesk's linear-nesting setup distinguishes initial reserved length, final reserved length and kerf. Reserved length can cover clamping or discard; kerf represents material removed between pieces. Those are distinct deductions and must be mapped to the actual machine's convention. [Autodesk, Linear Nesting Machine Setup Options](https://help.autodesk.com/cloudhelp/ENU/Fabrication-UsersGuide/files/GUID-73D7B582-8743-426B-91DF-0651CA53C190.htm)

A useful original feasibility statement is:

`sum(piece blank lengths) + actual kerf losses + exclusive end/clamp losses ≤ measured stock length`

Count kerf, trim and grip allowance once. The number of cuts can differ from the number of pieces if boundaries are shared or a final piece uses a stock end.

Use manufacturing blank lengths rather than finished lengths when facing or other downstream removal is required. Define a conservative allowance for stock and cut-length uncertainty through the approved production rule; a nominal exact fit provides no margin for an unmodeled loss.

## Choose the objective before ranking plans

Minimizing bars, purchase cost, unrecoverable scrap, setups or late orders can produce different plans. For equal stock lengths and prices, fewer bars is a useful objective. With multiple lengths, remnants or different costs, “fewest bars” need not mean lowest cost or least scrap.

Distinguish recoverable remnant from scrap using a stated reuse rule, including minimum useful length, material identity and handling cost. A long offcut that loses its identity may have little practical value. Report finished-piece yield, kerf/end loss, scrapped remainder and retained remnant separately instead of calling every unallocated millimeter waste.

Record any priority between objectives. For example, meeting a due date may take precedence over a small material saving. This is a planning decision to specify, not a company policy supplied by this page.

## Heuristics and optimization provide different evidence

Pedroso and coauthors describe first-fit decreasing in their optimization text: sort items largest first and place each in the first stock item where it fits, opening another if needed. They explicitly distinguish such a heuristic from a guarantee of optimality. [Pedroso, Rais, Kubo and Muramatsu, bin packing and cutting stock chapter](https://scipbook.readthedocs.io/en/latest/bpp.html)

A pattern model chooses integer counts of feasible cutting patterns to cover demand. Column generation can avoid enumerating every possible pattern. The same chapter warns that solving an integer model over only generated patterns does not generally prove the optimum of the original full problem. Preserve that distinction when a system reports “optimized.” [Same chapter, column generation](https://scipbook.readthedocs.io/en/latest/bpp.html)

For a solver-backed plan, retain the feasible solution, objective, bound, termination reason and gap within the stated model. Gurobi explains that a nonzero allowed MIP gap can return a solution within that tolerance rather than an exact optimum. Even an exact optimum remains conditional on complete, correct inputs and constraints. [Gurobi, What is the MIPGap?](https://support.gurobi.com/hc/en-us/articles/8265539575953-What-is-the-MIPGap)

## Original example: a feasible greedy plan uses an extra bar

Assume identical **1,020 mm** bars and exact demand for **600, 500, 300, 200, 200 and 200 mm** pieces. For this invented cutting sequence, each finished piece requires a separate **3 mm kerf**, and each used bar loses **10 mm** to end/grip allowance **exclusive of those kerfs**. There are no other losses or tolerances.

A first-fit decreasing plan, including kerf as each piece is assigned, produces:

| Bar | Pieces | Pieces + kerfs + end allowance | Remainder |
| --- | --- | --- | --- |
| A | 600 + 300 | 900 + 6 + 10 = 916 mm | 104 mm |
| B | 500 + 200 + 200 | 900 + 9 + 10 = 919 mm | 101 mm |
| C | 200 | 200 + 3 + 10 = 213 mm | 807 mm |

A different allocation meets the same demand with two bars:

| Bar | Pieces | Pieces + kerfs + end allowance | Remainder |
| --- | --- | --- | --- |
| A | 600 + 200 + 200 | 1,000 + 9 + 10 = 1,019 mm | 1 mm |
| B | 500 + 300 + 200 | 1,000 + 9 + 10 = 1,019 mm | 1 mm |

Good-piece length is **2,000 mm**, giving **98.04%** good-piece length yield from **2,040 mm** input. The balance is **18 mm kerf + 20 mm end loss + 2 mm remainder = 40 mm**. This yield is not a mass yield when sections differ.

At least two bars are required even before kerf, since the demanded length exceeds one bar's usable capacity. The two-bar feasible plan therefore proves minimum **bar count for this instance and objective**. It does not prove a preferred real production plan, universal greedy performance or robustness to dimensional variation. In particular, its 1 mm nominal remainders leave little room for omitted allowances.

## Issue an executable cut list and close the inventory loop

Translate the allocation into stock IDs, pattern/cut sequence, part IDs and quantities, dimensional references and the correct saw program. Confirm orientation and any angled-end convention before treating a numerical list as machine-ready. Trimble's combining settings explicitly expose kerf application; the selected setting belongs in the released plan's basis. [Trimble, multing settings](https://support.tekla.com/doc/tekla-powerfab/2025/req_combining_optimizations_job)

Check every pattern's physical fit and every demand's permitted quantity. On completion, reconcile actual cuts, rejects, remaining stock length and remnant identity. A damaged bar, changed order or measured kerf drift should trigger an updated feasible plan, not an undocumented substitution by the operator.

Record revision, eligible stock, demand, allowances, units, objective, solution status and issued patterns. Reconcile actual consumption separately from reservations.

## Source versions

Reviewed 2026-11-01. Trimble identifies PowerFab **2025** and page modification **September 15, 2026**. Gurobi's gap article displays an update of **August 28, 2025**. The linked Autodesk, Gurobi example and optimization-book pages have no separately verified technical issue date here; rolling documentation is not assigned a fixed software version. The feasibility formula, tradeoff framework and cutting example are original, bounded planning guidance.

## Related reference

[Production planning guides](index.md)
