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