【问题标题】:Optimization - choosing subset of sets which minimises the cost优化 - 选择最小化成本的集合子集
【发布时间】:2017-12-20 01:23:06
【问题描述】:

什么是解决此类问题的有效方法:

我们有许多可能的实体(例如:产品、医学测试)。实体以包装形式提供,购买包装中的物品 A、B、C 的成本低于单独购买(物品可能会或可能不会单独出售,如果它们有一些价格)。我们只对几件商品感兴趣,我们希望找到单一产品和/或产品包装的最佳组合,以最低成本购买我们所需的所有商品(我们并不关心我们是否购买任何产品不在我们的列表中,它们对我们的价值为零)。包裹的内容可以重叠(例如,商品 A 可以在几个不同的包裹中提供,也可以单独提供)。

最原始的方法是计算幂集(所有可能的子集),但这并不能很好地扩展解决方案。

什么是有效的精确或近似/启发式解决方案?

【问题讨论】:

    标签: optimization mathematical-optimization


    【解决方案1】:

    您可以在优化模型中执行此操作。

    假设我们有输入数据:

    ----     14 SET c  items+combos
    
    c1,    c2,    c3,    A ,    B ,    C 
    
    
    ----     14 SET i  single items
    
    A,    B,    C
    
    
    ----     14 PARAMETER p  prices
    
    c1 30,    c2 18,    c3 18,    A  10,    B  12,    C  15
    
    
    ----     14 PARAMETER cc  combo content
    
                 A           B           C
    
    c1           1           1           1
    c2           1           1
    c3           2
    A            1
    B                        1
    C                                    1
    
    
    ----     14 PARAMETER demand  items needed
    
    A 7,    B 4,    C 3
    

    现在我们求解简单的混合整数规划 (MIP) 模型:

    结果如下:

    ----     36 VARIABLE buy.L  items+combos to buy
    
    c1 3,    c2 1,    c3 1,    A  1
    
    
    ----     36 VARIABLE cost.L                =      136.000  
    

    在某些情况下,我们会购买超出需要的商品(如果折扣足够高)。如果您购买的商品具有超出需求的价值,那么模型会变得有点复杂。

    高性能的商业和开源 MIP 求解器都很容易获得。他们将非常有效地将这种类型的模型求解为全局最优(即使对于具有许多项目和许多组合的较大数据集)。与您的“powerset”算法相比,对我而言,这种方法看起来更具吸引力。 MIP 求解器不是近似值,但它们通常只需要探索所有可能的可行整数解的一小部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2013-09-22
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多