如何解决(或命名)这种背包式算法

时间:2015-08-25 17:31:47

标签: algorithm math mathematical-optimization

我们假设我拥有一家商店&只出售两件套的物品。

  1. 如果我卖掉PENCIL和ERASER,我赚3美元
  2. 如果我卖掉PENCIL和MARBLE,我赚2美元
  3. 如果我卖掉RULER和ERASER,我赚2美元
  4. 每位顾客愿意购买最多1件商品。我想最大化利润。因此,销售#1和#2是非法的,因为这将是2支铅笔。由于橡皮擦,#1和#3也是非法的。因此,合法行动是:只有#1,只有#2,只有#3,或#2和#3。由于最后一个选项的利润为5美元,我应该这样做。

    如何在多项式时间内解决这个问题?如果它是np-hard,什么启发式可能让我接近?如果没有别的,这个问题有没有名字?

1 个答案:

答案 0 :(得分:1)

匹配一般(非二分)图,可通过Blossom algorithm在多项式时间内求解。