我很难理解如何为切割库存问题制定代码。我已经广泛搜索了网络,我看到了很多理论,但没有实际的例子。
大多数查询结果都指向维基百科页面: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)
答案 0 :(得分:1)
您可以将其建模为混合整数问题,并使用各种技术解决它。当然要生成变量(即有效的宽度模式),您需要使用合适的列生成方法。
看看这个C ++项目:https://code.google.com/p/cspsol
cspsol基于GLPK API库,使用列生成和分支&必然会解决MIP问题。它可能会给你一些关于如何在R中做到这一点的提示。 祝你好运!