我想解决一个 3 维背包问题。
我得到了许多具有不同宽度、高度、长度和价值的盒子。我有一个指定的空间,我想把盒子放在那个空间里,这样我就能得到最优的利润。我想使用蛮力来做到这一点。
我正在用 Java 编程。我试图用递归来做到这一点,所以:
public void solveBruteforce(double freeX, double freeY, double freeZ) {
for(int i = 0; i < numOfBoxes; i++) {
for(int j = 0; j < BoxObject.numOfVariations; j++) {
if(possible to place box) {
place(box);
add(value);
solveBruteforce(newX, newY, newZ);
}
}
}
remove(box);
remove(value);
}
但我会遇到每行都有不同的自由 x、y 和 z 的问题。
有人可以帮我找到另一种方法吗?