切割具有定义长度的管(具有恒定数量的项目类型的装箱)

Cutting tubes with defined lengths (Bin Packing with a Constant Number of Item Types)

假设我有一个不同类型的小管子 a1...a10 的订单,我有无限数量的相同长度的大管子,我必须以最少的浪费进行切割,以便我可以生产订购数量的小管子管。哪种优化算法适用于我的问题?

正如 Codor 所指出的,这是一个 Bin Packing 问题。至少它是其中的一个子类:还有另一个类别称为 "Cutting Stock" 问题,其中 material 的 "weight" 被分类为几个离散类别并且不是连续值。

装箱问题是一个NP问题,这意味着可以通过尝试所有可能的解决方案来找到最佳解决方案。至于下料:它受到更多约束,并且有 Thomas Rothvoss(或 Rothvoß)发现的多项式求解算法。我还不明白,但如果有人感兴趣,可以阅读一篇名为 "Polynomiality for Bin Packing with a Constant Number of Item Types" 的论文和一个 Youtube 视频 Better Algorithms for Bin Packing。不幸的是,我还没有找到实现这些算法的源代码。