计算具有最少量的切割废料的切割清单

Sta*_*rds 18 algorithm

我正在开展一个项目,在那里我生产铝挤压切割清单.

铝挤压件的长度为5米.

我有一个较小长度的列表需要从5米长的铝挤压切割.

需要按照从5米长的铝挤压产生最少量的切割废料的顺序切割较小的长度.

目前,我以这样的方式订购切割清单,即通常最小的长度首先被切割,最小的长度最后切割.这个规则的例外是,如果较短的长度不适合5米长的铝挤压件的剩余长度,我使用最长的较短的长度.

这似乎产生了非常有效(非常少的切割废料)切割清单,并且不需要很长时间来计算.我想象,但是,即使在切割清单非常有效,但不一定是有效的.

有谁知道一种计算最有效切割清单的方法,可以在合理的时间内计算出来?

编辑:谢谢你的答案,我将继续使用"贪婪"的方法,因为它似乎做得非常好(完成任何人类尝试创建一个有效的切割清单),并且非常快.

Whe*_*lie 14

这是一个有效解决的经典难题.您描述的算法听起来像贪婪算法.请查看此Wikipedia文章以获取更多信息:切割库存问题


Chr*_*rts 5

我担心这个问题没有具体的想法 - 但你可以研究一下' 遗传算法 '(这会这样的)......

将长度按随机顺序放置,并根据与理想解决方案的匹配程度给出该分数(假设为0%浪费).

然后,迭代地对订单进行随机更改并重新对其进行评分.如果得分较高,则抛弃结果.如果分数较低,请保留并将其用作下次计算的基础.继续前进,直到你的分数在可接受的范围内.