I wrote this to help me to estimate the number of planks of wood I would need to build some furniture (The measurements of that furniture can still be found in the code). It has many uses. Obviously it can be used for splitting any material of a given length into an array of sizes in an efficient way, but it can also be used for other group sorting problems like fitting groups of people into, busses, or hotel rooms etc.
It's not the fastest solution, it just calculates all possible combinations, nor is it perfectly accurate as it just creates a list of the most efficient groups that can be made in order, but it's a pretty good solution for its application, which only needs to answer the question: How many planks of wood do I need?