切割库存 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 中执行此操作的提示。
祝你好运!
我很难理解如何为下料问题编写代码。我在网上进行了广泛的搜索,看到了很多理论,但没有实际的例子。
大部分查询结果指向维基百科页面: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 中执行此操作的提示。 祝你好运!