Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在容器中分配物品-3D箱子包装问题| Python_Python_Algorithm - Fatal编程技术网

在容器中分配物品-3D箱子包装问题| Python

在容器中分配物品-3D箱子包装问题| Python,python,algorithm,Python,Algorithm,我正在寻找建议或想法,以定位在三维箱包装问题的集装箱项目。我正在使用[x,y,z]位置检查项目是否适合容器。我的目标是尽可能放置该项目。如果不可能,我会将该项目放入未包装清单中。下面是我的一段代码: for item in self.items: for itemInBin in binn.items: positionToPlace= [itemInBin.position[0] + itemInBin.getWidth

我正在寻找建议或想法,以定位在三维箱包装问题的集装箱项目。我正在使用[x,y,z]位置检查项目是否适合容器。我的目标是尽可能放置该项目。如果不可能,我会将该项目放入未包装清单中。下面是我的一段代码:

        for item in self.items: 
            for itemInBin in binn.items:
                positionToPlace= [itemInBin.position[0] + itemInBin.getWidth(), itemInBin.getHeight() + itemInBin.position[1], itemInBin.getDepth() + itemInBin.position[2]]

                if positionToPlace[0] <= binn.getWidth() or positionToPlace[1] <= binn.getHeight() or positionToPlace[2] <= binn.getDepth(): # do not exceed the dimensions of the container
                    binn.putItem(item, positionToPlace)
                else:
                    unpacked.append(item)
对于self.items中的项目:
对于binn.items中的itemInBin:
positionToPlace=[itemInBin.position[0]+itemInBin.getWidth(),itemInBin.getHeight()+itemInBin.position[1],itemInBin.getDepth()+itemInBin.position[2]]
如果位置替换[0]Idea:

您只需要选择一个维度进行汇总。让其他人保持原样

在这种情况下:


itemInBin.getDepth()+itemInBin.position[2]

是的,我同意,谢谢。我展示了一个简单的例子,但我试图为每个项目维度实现一个解决方案。