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 があるという問題が発生します。
誰かがそれを行う別の方法を見つけるのを手伝ってくれませんか?