解决装箱问题的特殊技术

时间:2018-12-13 13:34:22

标签: java panel bin-packing

我尝试做一个简单的垃圾箱包装程序。我有N个随机大小的块,我需要将所有N个块都放在功能区中,以使高度尽可能小

块和功能区都已初始化好。我读了一种解决此问题的技术,我将为其制定一个计划,以使其更具发言性:

enter image description here

所以,我要做的是下一个方块需要在我放置红点的位置绘制。它将一直检查左下角的点:如果他可以放入,则可以,如果不能,则将尝试另一个红色点。

我有一个ArrayList,其中包含块,这些块按从高到低的顺序排列。

对不起,如果我讲得不好,英语不是我的主要语言。

这是我的代码块和功能区代码:

public Block() {
    this.x = 0;
    this.y = 0;
    this.height = 20 + rand.nextInt(80 - 10);
    this.weight = 10 + rand.nextInt(50 - 10);
    //this.placeDispo = this.largeur;
    //this.hauteur = 30;
    //this.largeur = 30;
    id = genID.getAndIncrement();
    this.color = new Color(0 + rand.nextInt(255), 
                    (0 + rand.nextInt(255)),
                    (0 + rand.nextInt(255)));
}

public Ribbon() {
    randomGenerator = new Random();
    this.weight = 100 + randomGenerator.nextInt(580 - 100);
    this.height = 100; //ça doit être a l'infini
    listBlockInRibbon = new ArrayList<Bloc>(); 
    listBlocksRemaining = new ArrayList<Bloc>();
}

私下

0 个答案:

没有答案