这是多重约束背包变异吗?

时间:2016-07-15 14:05:49

标签: c++ algorithm knapsack-problem

我已经查看了其他问题(especially this one),但我认为他们中的任何一个都不能解决我的问题。

假设我们有N个桶(用数字标记),每个桶都包含一个有限且大于0的令牌M(i)(M可以在不同的桶之间改变)。

每个标记都有两个属性x和y(你可以像实数一样思考它们)。我的问题是找到满足的配置:

1)每个桶只能选择一个或零个元素。

2)在最终配置中选择的每个元素必须具有大于输入值X的x属性。

3)最终配置中属性y的所有元素的总和必须大于或等于输入值Y.但是,删除最终列表中的任何元素必须导致严格小于Y的总和

4)首选配置较少的元素

现在,在我看来,类似于多重约束背包问题,然而,存在一些差异,我无法真正解决(主要是桶和条件3)。

问题

因为,我不想重新发明轮子。

我的问题有名称和已知解决方案吗?

如果没有,哪一个是最接近的算法?我是否遗漏了一些明显的东西让我的问题重新回到了背包上?

注意

理想情况下,我正在寻找一个c ++(库/示例/分析),但我很高兴能够获得任何编程语言的参考。

0 个答案:

没有答案