回 帖 发 新 帖 刷新版面

主题:求助,帮忙看看怎样写这种算法。?????

我要裁剪一块宽度1米,长度10米,厚度10mm的钢板。重量是780kg
要剪成宽度为150mm,140mm,130mm,110mm,100mm,80mm,60mm,50mm共8种宽度的矩形料
其中宽150mm,长度为500mm的要10块共58.5kg;
    宽140mm,长度为500mm的要10块共54.6kg;
    宽130mm,长度为500mm的要10块共50.7kg;
    宽110mm,长度为500mm的要10块共42.9kg;
    宽100mm,长度为500mm的要10块共39kg;
    宽80mm,长度为500mm的要10块共31.2kg;
    宽60mm,长度为500mm的要10块共23.4kg;
    宽50mm,长度为500mm的要10块共19.5kg。
首先这样的组合下料有多少种排列切割方法?
就是如果下成150mm宽的6条,剩下1条100mm宽的,没有废料;
    如果下成150mm宽的5条,剩下1条140mm宽的和一条110mm宽的,没有废料;
    如果下成150mm宽的4条,剩下2条140mm宽的和一条110mm宽的,剩余废料10mm宽;
以此循环,有多少种排列组合方法,
其中重量和要求最接近的10种是哪些??
这样的算法该怎样写啊??请大虾们帮忙看看,谢谢!

回复列表 (共1个回复)

沙发

只好用循环进行遍历了。
首先列个代数式:1000-(150X1+140X2+……+50X8)
对其中的X1至X8定好上下限(诸多的X当然是整数),然后进行遍历,取X值的最终判断标准是使上述代数式的值为0
对于“重量和要求最接近的10种是哪些”这个问题,可以在上述基础上算出来

我来回复

您尚未登录,请登录后再回复。点此登录或注册