问题: 现有库存表、BOM表 ,根据库存中的零件求最佳成品组合算法,使库存中的零件剩余最少。下列数据仅为事例,你也可以根据问题自己假设数据物料有共用的情况。-----------------BOM------------------------成品    料件  用量(假设都为1) 产品1---A    1
         ---B    1
         ---C    1产品2---B     1
        ---D     1
        ---E     1产品3---C   1
        ---E   1
        ---F   1
...............................--------库存-------------------    零件  数量
     A      5
     B      7
     C      4
     D      3
     E       12
     F       2
     G       10
     ......................求组成成品后使库存零件剩余最少,或组成成品数量最多。

解决方案 »

  1.   

    穷举法设 产品X  的数量为 a[x]; 然后进行穷取。
      

  2.   

    用数学了设计就可以啊,设置3个变量,假设1是x个,2设y个,3是z个
    然后列方程x<=5,z<=2,y<=3,x+y<=7,x+z<=4,
    w=3(x+y+z),这个时候去求w的最大值就ok了
      

  3.   

    lingo写的  你可以用C#调用lingo  或者自己穷举
      

  4.   

    多种组合。及设x.y.z 根本不靠谱。这只是一个事例,实际中,产品有几百上千种,零件成千上万种。@@zhuankeshumo这个表未没看懂。
      

  5.   

    其实就是线性代数的问题,采用lingo
      

  6.   

    这么多能求出来吗?我都不知道lingo支持不支持那么多变量(正版好像没有变量个数限制) 这得算很长时间吧  先这样吧 统计用到A零件的产品,用到B零件的产品.......................
    A 1  
    B 1 2 
    C 1 3
    D 1
    .......
    然后再像上面那样
      

  7.   


    BOM表中某一个产品结构当然是固定的。
      

  8.   


    BOM表中某一个产品结构当然是固定的。
    求组成成品后使库存零件剩余最少,或组成成品数量最多。这两个不是同时满足的 你的问题有毛病   
      

  9.   

    Quote: 引用 19 楼 zhuankeshumo 的回复:

    求组成成品后使库存零件剩余最少,或组成成品数量最多。这两个不是同时满足的 你的问题有毛病    /quote]中间不是用一个“或”吗?或意思就是只要其中一个条件满意即可。