我正在寻找一种解决以下问题的算法。
比方说,我们有一个具有固定宽度和无限长度的容器。我们还有一组矩形包装(在我的情况下,不超过625个)。
重点是找到一种可能的长度最小的布置(长度按照“图片”中的长度进行测量)。包裹可以旋转,但不能重叠。
我正在寻找任何东西:算法(最好是),指针,建议或建议。容器的宽度是固定的。
|<--------Length----->|
-+------------------+--+------------------->>>
W|XXXXXXXXXXXXXXXXXX|
i|XXXXXXXXXXXXXXXXXX|
d|-------+-----+----+--+
t|XXXXXXX|XXXXX|XXXXXXX|
h|XXXXXXX+-----+----+--+
|XXXXXXX|XXXXXXXXXX|
-+-------+----------+---------------------->>>
答案 0 :(得分:-1)
如果您要使用预先存在的装箱算法,可以这样做:
bestSolution = None
spaceWidth = WIDTH
spaceHeight = number of packages
while spaceHeight >= (number of packages) / WIDTH:
solution = binPackingAlgorithm(spaceWidth, spaceHeight, packages)
if solution exists:
bestSolution = solution
else
end while loop
spaceHeight -= 1
其中spaceHeight将是解决方案