需要生产3种型号的部品(A,B,C),这三种型号的长度为A=562.6mm,B=362.6mm,C=237.6mm,不考虑刀的损失长度。一根材料长度为2743mm。
要生产A180个,B217个,C220个,怎么切,最终使用的材料根数最少。最少为多少根?
比如:方案1,A1个,B4个,C3个,切53根;
方案2,A4个,B0个,C2个,切28根
方案3,A3个,B1个,C1个,切5根;
合计86根。
如何设计这个算法呢
需要生产3种型号的部品(A,B,C),这三种型号的长度为A=562.6mm,B=362.6mm,C=237.6mm,不考虑刀的损失长度。一根材料长度为2743mm。
要生产A180个,B217个,C220个,怎么切,最终使用的材料根数最少。最少为多少根?
比如:方案1,A1个,B4个,C3个,切53根;
方案2,A4个,B0个,C2个,切28根
方案3,A3个,B1个,C1个,切5根;
合计86根。
如何设计这个算法呢
暴力破解ok吗?
1.获取边界值 (180*562.6 + 362.6*217 + 237.6*220) / 2743 向上取整.得到边界个数MIN,MAX.
2.列举出所有的有效方案(保证不浪费材料的前提),如上.有M个方案
3.设置M个变量i,j,k....,代表不同方案的根数.且根数总和 >= MIN
4.嵌套循环,最外层控制总根数N, 每次循环总根数N++.
5.里层循环对应的总根数要等于N, 直至找到满足A,B,C个数>= 180,217,220为止最小的根数,跳出循环. 有问题请指正,谢谢!