切割库存算法 - c#实施

时间:2013-10-03 06:54:43

标签: c# .net algorithm

我正在寻找Cutting Stock Problem的c#解决方案或算法。我的要求如下:

  1. 我会得到一张1000 * 1000(W * H)
  2. 的说明
  3. 我需要把它切成3块150 * 200,300 * 250,275 * 300
  4. 我需要找出最佳解决方案,以最大限度地提高沿这些线的切割量,即浪费应该是最小的,数量应该是最大的!!!
  5. 任何指向或链接到任何c#文件都会非常有用。

    P.S:我已经找到了有关此问题的先前问题,但我没有找到任何c#代码或任何算法步骤将其转换为c#代码。

1 个答案:

答案 0 :(得分:1)

切割库存问题是一个已知的NP难题。在合理的时间内无法达到保证的最佳解决方案。

作为您给出状态的链接,如果您不一定担心整数解(第一类矩形的1.2个部分),可以应用Gilmore和Gomory方法。

否则,您可以考虑在互联网上提供许多启发式方法。以下是2D bin打包算法的链接: How is 2D bin packing achieved programmatically?

注意:切割库存问题和料仓包装问题之间存在微妙但重要的区别。您必须相应地调整算法。