11得票1回答
为什么解决背包问题不被视为线性规划?

尽管背包问题看起来与线性规划问题相似,为什么背包问题没有被归类为线性规划算法的一种呢?

18得票10回答
如何递归地求解“经典”的背包问题算法?

这是我的任务 背包问题是计算机科学中的经典问题。在其最简单的形式中,它涉及将不同重量的物品放入背包中,使得背包最终具有指定的总重量。您不需要把所有物品都放进去。例如,假设您想让您的背包重量恰好为20磅,并且您有五个物品,重量分别为11、8、7、6和5磅。对于少量物品,人类可以通过检查解...

9得票1回答
有什么因素会影响优化尾递归吗?

我正在使用动态规划解决Haskell中的背包问题。我的第一次尝试是构建一个二维表。但是当输入很大时(例如100 * 3190802表),内存很容易耗尽。 由于任何给定行i只依赖于行(i-1),因此我编写了一个函数,希望利用尾递归的优势: import Data.Vector (Vector...

12得票1回答
有没有适用于有界0-1多重背包的伪多项式算法?

假设有n个物品,例如i1,i2, .... in,它们每一个都有已知的有界重量w1,w2,...wn。还有一组m个背包,例如k1,k2和km。这些背包是同质的,即它们都具有相同的容量W。函数F可以确定每个背包的分数。F的输入是每个背包中的物品。因此,Score of each knapsack...

19得票4回答
如何使用背包算法找出袋子中有哪些元素,而不仅仅是袋子的价值?

我这里有一段代码,使用背包算法(二进制装箱NP难问题)计算出最优值:int Knapsack::knapsack(std::vector<Item>& items, int W) { size_t n = items.size(); std::vector&...

13得票3回答
0/1背包动态规划优化,从二维矩阵到一维矩阵

我需要从维基百科上得到一些澄清:背包问题,具体在以下部分中: 这个解决方案将以O(nW)时间和O(nW)空间运行。此外,如果我们只使用一个一维数组m[W]来存储当前最优值,并且在每次重写时将其传递i + 1次,从m[W]重写到m[1],那么我们将仅使用O(W)空间获得相同的结果。 ...

14得票3回答
如何确保Java线程在不同的核心上运行

我正在使用Java编写一个多线程应用程序,以改进顺序版本的性能。它是0/1背包问题动态规划解决方案的并行版本。我有一台Intel Core 2 Duo电脑,在不同分区上安装了Ubuntu和Windows 7 Professional操作系统。我正在Ubuntu下运行。 我的问题是,并行版本实...

13得票3回答
在背包中打印袋子里的物品

假设您是一名小偷,闯入了一所房子。你找到了以下物品: 一个重量为3磅的花瓶,价值50美元。 一个重量为6磅的银块,价值30美元。 一幅重4磅的画,价值40美元。 一面重5磅的镜子,价值10美元。 解决这个大小为10磅的背包问题的方案是90美元。 使用动态规划的方法制作的表如下: 现在我想知道...

7得票2回答
切割优化问题

我正在尝试将材料嵌套以避免浪费或损失。 Table A Qty Type Description Length 2 W 16x19 16' 3 W 16x19 12' 5 W 16x19 5' 2 W 5x9 ...

12得票3回答
奇怪但实用的二维装箱优化

我正在尝试编写一个应用程序,为分隔面板生成绘图。 我有N个小隔间(2D矩形)(N 这些N个隔间必须按列排列,以便满足每个隔间的上述约束条件。 此外,每列的宽度由该列中每个隔间的minWidths的最大值决定。 此外,每列的高度应相同。 这决定了面板的高度。 我们可以在任何列的剩余空间中添加...