Python 对所用物品总数有限制的背包
因此,我有一个背包,背包中可以放入的物品数量是有限制的,而物品的重量也是有限制的 因此,给定项目限制5和重量100: 我们会发现5个项目(可以重复5倍相同的项目)最适合重量100 我已经解决了动态规划中的无界和有界问题(每个项目都有限制,但使用的项目总数没有限制)。但我对如何使用这种新方法有点困惑。这会是一个多维背包问题吗,就像体积和重量一样?但相反,我们想要的是物品的使用和重量?或者它是一个0-1的背包,有改动吗 如果有人能将其分解成更小的逻辑步骤,或者给我指出一些可靠的代码阅读的方向(我的google fu正在努力寻找解决方案),我将不胜感激Python 对所用物品总数有限制的背包,python,algorithm,knapsack-problem,Python,Algorithm,Knapsack Problem,因此,我有一个背包,背包中可以放入的物品数量是有限制的,而物品的重量也是有限制的 因此,给定项目限制5和重量100: 我们会发现5个项目(可以重复5倍相同的项目)最适合重量100 我已经解决了动态规划中的无界和有界问题(每个项目都有限制,但使用的项目总数没有限制)。但我对如何使用这种新方法有点困惑。这会是一个多维背包问题吗,就像体积和重量一样?但相反,我们想要的是物品的使用和重量?或者它是一个0-1的背包,有改动吗 如果有人能将其分解成更小的逻辑步骤,或者给我指出一些可靠的代码阅读的方向(我的g
谢谢你抽出时间 这是多约束背包问题。您的新约束是,项目数量的总和小于与其重量无关的某个数字 这里有一些很好的方法:
您还应该尝试使用新约束调整常规背包问题的递推关系,并查看结果。这可以表示为多约束背包问题(也称为多维背包问题),如下所示 目标函数和第一维度与当前公式中的相同(即权重之和) 然后,可以使用第二个维度来约束选定项目的数量。使用:
- w2,对于所有i,i=1李>
- W2=允许您选择的项目数量限制(在您的示例中为5)