切割库存 optimization/waste 使用 lpsolve/lpsolveapi 在 r 中最小化

cutting stock optimization/waste minimize in r using lpsolve/lpsolveapi

我很难理解如何为下料问题编写代码。我在网上进行了广泛的搜索,看到了很多理论,但没有实际的例子。

大部分查询结果指向维基百科页面:http://en.wikipedia.org/wiki/Cutting_stock_problem

要制作 13 种图案,旁边标明了所需的数量。 机器默认生产 5600 宽度的片材,将被切割成以下宽度。目标是尽量减少浪费。

  Widths/Required amount
1380    22
1520    25
1560    12
1710    14
1820    18
1880    18
1930    20
2000    10
2050    12
2100    14
2140    16
2150    18
2200    20

有人可以告诉我如何用 lpsolve/lpsolve API 在 R 中制定这个解决方案吗?

  stock=5600
  widths=c(1380,1520,1560,1710,1820,1880,1930,2000,2050,2100,2140,2150,2200)
  required=c(22,25,12,14,18,18,20,10,12,14,16,18,20)

 library(lpSolveAPI)




 ...
 solve(lprec)
 get.variables(lprec)

您可以将其建模为混合整数问题并使用各种技术解决它。当然,要生成变量(即有效的宽度模式),您需要使用合适的列生成方法。

看看这个 C++ 项目:https://code.google.com/p/cspsol

cspsol 基于 GLPK API 库,使用列生成和分支定界求解 MIP。它可能会为您提供一些有关如何在 R 中执行此操作的提示。 祝你好运!