货物规则:
堆叠:下重上轻,重量大于600的只能出现在地面
MC纸箱:可以互相堆叠但是面积要一样大小,可以旋转放置。
托盘、保全:托盘上面可以放保全接触面积要达到≥100%
木箱:可以作为任何货物的基座只要接触率达到≥80%,但是放到裸装、托盘和保全下面的话接触率要≥100%,木箱组合之间可以有100mm高差
其他没有提到的货物都是不可堆叠的。
集装箱是一个长高宽渲染出来的长方盒子,货物大小都是随机的,最左侧x坐标在100之内的货物可用空间要减100mm,有一块橡胶

方案1:
主流程:分类货物→主装箱→木箱堆叠→放置小件
分类货物:先把木箱挑出来,通过货物面积大小区分小件,把小件挑出来剩余的就是主装箱要装箱的货物
主装箱:顺序 MC纸箱→保全→托盘 如果保全的体积更大会更优先放置,挑选合适的货物成为一个基座(直接在集装箱内完成,MC纸箱会自行旋转寻找合适的方向),基于这个货物的规则进行往上堆叠,直到顶满格后(集装箱的高度),查询剩余高度插入合适(上方的接触规则)的木箱,可单格、组合插入底部,一格可放置多层木箱,但是不允许超出基座的大小,当前是以“日”格式进行装箱,
木箱堆叠:使用剩余的木箱(主装箱插入木箱剩下的)挨着前面的货物进行堆叠,宽度可以有50%的悬空长度按照正常的80%
放置小件:根据各自货物的规则在集装箱内找缝隙和剩余空间放入,可以放在前面的木箱堆叠上面,

方案2:
主流程:分类货物→主装箱→木箱堆叠→放置小件
分类货物:先把木箱挑出来,通过货物面积大小区分小件,把小件挑出来剩余的就是主装箱要装箱的货物
主装箱:顺序 MC纸箱→保全→托盘 如果保全的体积更大会更优先放置,通过集装箱宽度和货物的宽度计算减100mm的组合数量,根据集装箱高度进行组合(堆叠),组合完毕计算高度查找合适的木箱进行插入(每组合一格都会查找木箱进行插入,只会插入一层),组合完毕会进行标注:
纯MC纸箱的组合可以旋转、没有超出的木箱组合(木箱大小不超过上方货物的大小)、有木箱超出的组合(以“日”格式进行装箱);
顺序:合并纯MC纸箱、没有超出的木箱组合→木箱超出组合,如果有单个货物的组合高度没有超过集装箱高度80%的会排到木箱超出组合后面装箱;
1. 纯MC纸箱和没有超出的木箱组合优先放置到集装箱内通过组合高度排序,先装高的后装矮的,装箱期间纯MC组合会尝试旋转装箱;
2. 木箱超出组合一样先装高的后装矮的,放置的组合之间木箱超出的部分会被后装箱的利用后放置的组合压到突出的这一段木箱上(只动木箱底座上方符货物);
木箱堆叠:使用剩余的木箱(主装箱插入木箱剩下的)挨着前面的货物进行堆叠,宽度可以有50%的悬空长度按照正常的80%
放置小件:根据各自货物的规则在集装箱内找缝隙和剩余空间放入,可以放在前面的木箱堆叠上面,

目前这两个方案的问题:
方案1:木箱的利用不达标
方案2:装箱率不达标