【发布时间】:2019-11-06 15:27:37
【问题描述】:
我有 5 个包含商品价值和商品价格的二维数组,它们看起来像这样
A = [
[1, 1],
[2, 5],
[3, 7],
...
]
...
...
E = [
[4, 15],
[12, 25],
[33, 57],
...
]
第一列是项目value,第二列是price
我想要实现的是最后一组 5 个值,其中每个项目将来自不同的起始数组,所以最终结果应该看起来像例如@ 987654324@,所选元素的标准有点像背包问题的标准 - 所有项目的最佳价值,同时将所选元素的价格总和(第二列)保持在给定的阈值下,例如500
我怎么能接近它?我真的不知道如何以正确的方式做到这一点,对我来说主要问题是我必须从每组中选择一个项目并最大化输出,或者也许有比背包解决方案更好的方法来解决这个问题?目前我能想到的只有
1) 预先计算给定参数的所有可能结果并缓存它们
2) 创建性价比并以此为依据订购商品,然后想办法找到近似最佳解决方案
【问题讨论】:
-
嗨 stetoc 我的解决方案对你有用吗?
标签: algorithm combinations knapsack-problem