给定通常的n
项目(每个项目无限制,比方说),权重和值:
w1, v1
w2, v2
...
wn, vn
和目标体重W
,我需要选择总数
权重至少 W
,总值最小化。
这对我来说就像是一种变异(或者在某种意义上说是反过来的) 整数/无界背包问题。有助于制定DP算法 非常感谢!
答案 0 :(得分:22)
让TOT = w1 + w2 + ... + wn
。
在这个答案中,我将描述第二个包。我将原件称为“包”,另外称为“背包”
用所有元素填充袋子,并开始从中排除元素,“填充”最大TOT-W
的新背包,尽可能高的价值!你有一个常规的背包问题,有相同的元素,包大小为TOT-W
。
<强>证明:强>
假设您有k个元素的最佳解决方案:e_i1,e_i2,...,e_ik
,那么行李大小至少为W
大小,这使得被排除的项目背包最多大小为TOT-W
。此外,由于背包的值在尺寸W
时最小化,因此对于尺寸TOT-W
,被排除项目的值最大化,因为如果没有最大化,则会有更好的尺寸最小W
,价值较小。
另一种方式[假设你有最大排除袋]几乎相同。
答案 1 :(得分:0)
不太确定,但这可能会奏效。将值视为您拥有的值的-ve。 DP配方将试图找到该重量的最大值,在这种情况下这将是最小的负值。一旦你有了价值,就拿一个-ve来获得最终答案。