8得票4回答
C ++实现背包问题的分支定界算法

我正在尝试使用分支和界限法实现这个背包问题的C++版本。在这个网站上有一个Java版本:实现背包问题的分支和界限法。 我正在尝试让我的C++版本输出应该输出的90,但它并没有如此,而是输出了5。 有谁知道问题可能出在哪里? #include <queue> #include ...

8得票2回答
解决整数背包问题

我是一名新手,尝试在SPOJ (http://www.spoj.pl/problems/KNAPSACK/) 上解决整数背包问题。然而,对于给定的测试用例,我的解决方案没有给出正确的输出。如果您能建议我是否正确实现了以下内容,我将不胜感激。请注意,变量back用于回溯,我不确定如何进行。我希望...

8得票1回答
0-1背包问题中加入分区限制

我有一个问题,看起来像是0-1背包问题。我有一组可能的“候选项”可供选择(或不选),每个候选项都有一个“权重”(成本)和潜在的“价值”。如果仅仅是这个问题,我会采用DP方法并解决它。但是这里有一个曲线球:可能的候选项被“分区约束”所限制,这些候选项可以出现在最终的解决方案中。 我的意思是,候...

8得票2回答
解决分配珠子难题的算法?

假设您有一个圆圈(如下所示),其中有 N 个点,您在插槽中分布了 N 个珠子。 这是一个例子: 每个珠子可以顺时针移动 X 个插槽,这需要花费 X ^ 2 美元。 您的目标是最终在每个插槽中放置一个珠子。 您需要花费的最少金额是多少? 此问题的更有趣的变体:分配珠子难题的算法(2)?

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

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

7得票3回答
在R中解决任务调度或装箱优化问题

我有一个优化问题。它涉及到一个包含20个部件的产品(生产顺序无关紧要)。我有3台相似的机器可以生产这20个部件。 这20个部件的生产时间以分钟为单位表示(例如,生产第一个部件需要3分钟,生产第二个部件需要75分钟等) ItemTime<-c(3,75,55,12,45,55,11,8...

7得票2回答
为什么这个0/1背包问题的DP解决方案在使用GCC时不能给出正确的输出?

#include<stdio.h> int max(int a,int b) { if(a>b) return a; else return b; } void knapsack(int m,int n,int w[],in...

7得票3回答
不受限背包问题的递归解法,使用0/1背包的逻辑

在我检查的所有0/1背包和无界背包的DP解决方案中,解决方法总是像这样定义: 0/1 背包:通过选择第n个物品或排除第n个物品来最大化总价值。例如,0/1背包 无界背包:通过将第n个物品视为最后选择的物品,或者(n-1)个物品作为最后选择的物品等等来最大化总价值。例如,无界背包 但是,无...

7得票1回答
使用背包变体算法得出最佳MLB阵容

我正在编写一个程序,使用背包问题的解决方案来找到最佳的MLB阵容。为此,我传递了球员数据,其中包含球员的计算值和薪水。薪水将成为我的“重量”,用于解决背包问题。 我的问题不是选择球员,而是选择最优阵容。我要选择一个投手、一个中锋、一个一垒手、一个二垒手、一个三垒手、一个游击手和三个外野手。我...

7得票3回答
从空间优化的0/1背包实现中重构物品列表

使用1维数组(如A)进行空间优化的0/1背包动态规划算法,其大小等于背包容量,并在每次迭代i时仅覆盖A [w](如果需要),其中A [w]表示考虑前i个项目并且背包容量为w时的总价值。 如果使用此优化,是否有一种方式可以重构选定的物品列表,例如在Bellman Ford算法中可以实现类似的空...