在容器中分配物品-3D箱子包装问题| Python
我正在寻找建议或想法,以定位在三维箱包装问题的集装箱项目。我正在使用[x,y,z]位置检查项目是否适合容器。我的目标是尽可能放置该项目。如果不可能,我会将该项目放入未包装清单中。下面是我的一段代码:在容器中分配物品-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
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]是的,我同意,谢谢。我展示了一个简单的例子,但我试图为每个项目维度实现一个解决方案。