Add pieces the way a job does, one at a time. The panel shows what the list costs at the saw as it grows. When it's done, send it to the yard.
A best-fit-decreasing packer, in your browser. It re-solves the whole list on every piece you add, so the plan doesn't depend on the order you entered things. The engine at a yard uses Gilmore–Gomory column generation across every order in the queue at once, which is where the real yield comes from — this is the idea, not the product.
Cuts multiplied by minutes per cut, and nothing else. The rate is a parameter you set, not a number we're asserting. Hauling, staging and fastening aren't counted, because they happen either way. The saw is what leaves.
This is the builder's half of the picture. Yours is order pooling — cut lists from concurrent jobs solved as one problem, which is where the yield and the margin are. joseph@structmill.com · (412) 667-1980