There is a list of blanks with their lengths. There is a list of parts with their lengths, which should be obtained from blanks. The task is to calculate the most optimal distribution of parts on the workpieces so that the remnants are minimized.
The very first thing that comes to mind is a banal enumeration of all possible combinations and the search for minimal waste. But, the number of blanks and the number of parts can be quite large. And when iterating, the number of combinations will grow exponentially.
Probably who faced, whether there are any more effective decisions, than usual search.