2D装箱量变化的算法

时间:2018-07-16 19:59:45

标签: algorithm packing

我正在寻找一种解决以下问题的算法。

比方说,我们有一个具有固定宽度和无限长度的容器。我们还有一组矩形包装(在我的情况下,不超过625个)。

重点是找到一种可能的长度最小的布置(长度按照“图片”中的长度进行测量)。包裹可以旋转,但不能重叠。

我正在寻找任何东西:算法(最好是),指针,建议或建议。容器的宽度是固定的。

 |<--------Length----->|
-+------------------+--+------------------->>>
W|XXXXXXXXXXXXXXXXXX|
i|XXXXXXXXXXXXXXXXXX|
d|-------+-----+----+--+
t|XXXXXXX|XXXXX|XXXXXXX|
h|XXXXXXX+-----+----+--+
 |XXXXXXX|XXXXXXXXXX|
-+-------+----------+---------------------->>>

1 个答案:

答案 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将是解决方案